Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт мар 19, 2024 14:17

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 01:44 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вот и еще одна разновидность использования двупортовой памяти - по одному порту читаем команды, по другому работаем с этим блоком как с данными. Тут не столько модификация кода в процессе работы, сколько экономия блоков. При желании можно "искусственно разделить" адресные пространства, заставляя процессор аппаратно прибавлять смещение блока данных из специального регистра. Но здесь речь идет о встроенных системах на базе FPGA, в которых жалко отдавать минимум два блока памяти на каждое процессорное ядро. В таких устройствах проблемы с влезанием ядра не туда будут только в процессе отладки.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 02:17 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Это актуально для гарвардской архитектуры.
А фон-нейман в этом деле оказывается в некотором выигрыше, если иметь в виду предыдущую тему с подключением к одной памяти двух процессоров с двух сторон.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 02:42 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
WingLion писал(а):
Это актуально для гарвардской архитектуры.
А фон-нейман в этом деле оказывается в некотором выигрыше, если иметь в виду предыдущую тему с подключением к одной памяти двух процессоров с двух сторон.

Так ведь RISC, да еще и конвейеризованный, будет постоянно читать команды. Отдавать ему шину для работы с данными - это приостановить выборку команд.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 03:20 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
Так ведь RISC, да еще и конвейеризованный, будет постоянно читать команды. Отдавать ему шину для работы с данными - это приостановить выборку команд.


Да, но только в том случае, если одна выборка на одну команду. А если одна выборка на четыре/восемь команд, то все меняется. Еще и не каждой команде надо в память лазить.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 03:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
WingLion писал(а):
Да, но только в том случае, если одна выборка на одну команду. А если одна выборка на четыре/восемь команд, то все меняется.

Разве что так, но я больше люблю гарвардскую архитектуру. Причем сильно больше. Собственно, наличие параллельно работающих шни доступа к памяти и является большим плюсом FPGA, так зачем же искусственно резать это? Опять же, стеки, работающие независимо от памяти, также являются элементом повышения производительности by design.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 03:58 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
В условиях ПЛИС имеется физическое ограничение на количество циклов доступа к памяти. Двухпортовость это количество удваивает, возможность разделить блоки памяти и работать с кусочками отдельно - умножает на некое целое число.

Гарвадская архитектура фактически фиксирует соотношение количества циклов доступа для выборки команд и количество циклов доступа для чтения/записи данных. Выше половины предела, ни то ни другое количество скакнуть не может принципиально.

Фон-неймановская же автоматом работает с тем соотношением, какое необходимо для конкретной программы, и поэтому, либо на выборку команд, либо на выборку данных придется более половины всех циклов памяти, и по соответствующим показателям фон-нейман окажется в выигрыше.

п.с. А на счет запихивания стеков в общую память, речи в ПЛИС и не идет.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 12:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7958
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
WingLion писал(а):
Фон-неймановская же автоматом работает с тем соотношением, какое необходимо для конкретной программы, и поэтому, либо на выборку команд, либо на выборку данных придется более половины всех циклов памяти, и по соответствующим показателям фон-нейман окажется в выигрыше.

Только память все равно обеспечивает большую пропускную способность, чем может затребовать устройство на ячейках. Она изготавливается так, чтобы гарантированно работать на системной тактовой частоте, а это одна ячейка в комбинаторной цепочке, лучше уже некуда. Так что гарвард все равно не доберется до ее пределов, зато при мультиплексировании адреса на фон неймане будет еще один узел со своей задержкой.
WingLion писал(а):
п.с. А на счет запихивания стеков в общую память, речи в ПЛИС и не идет.

О чем и речь, что не идет. Можно реализовать подход "как можно больше транзакций за такт", а фон нейман от этого уводит.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Код и данные в двупортовой памяти
СообщениеДобавлено: Чт июн 10, 2010 13:12 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
параллельно работающих шни доступа

шин доступа?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB