реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> 16 и 32 бит доступ к внешней памяти, То ли лыжи не катят, то ли я...
alexPec
сообщение Oct 8 2010, 18:46
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Уважаемые, поясните пожалуйса, не пойму никак.
На плане цыклон3 и 16-ти разрядная sram, подключена к ниосу через avalon-mm tristate bridge, младший адрес к памяти не подключен. Она работает правильно, но не пойму почему:
работает и 8-ми, и 16-ти и (!внимание) 32-х разрядный доступ (еще раз:память снаружи 16-ти разрядная)
Выполняю команду IOWR(RD)_8DIRECT() - пишет/читает по 8 бит, IOWR(RD)_16DIRECT() - пишет/читает по 16 бит, ну думаю щас сделаю 32-х разрядный доступ IOWR(RD)_32DIRECT() - старшее полуслово либо в 0-х либо в единицах будет - нет! пишет и читает по 32 разряда. Другая мысль возникла - драйвером ниос наверно разруливает софтово - написал тест, запись 10 млн.раз один адрес памяти - время абсолютно одинаковое, что при 16-ти, что при 32-х разрядной команде. Посмотрел дизасм - единственная разница при 16 разр. доступе команда sthio, при 32-х команда stwio.
А физически то как это происходит? Ну 8-ми разрядный доступ можно разрулить байт-энейблами, а 32-х как? За два цикла пишет чтоли? Тогда почему время при 16 и 32 битном обращении одно и то же?

Непонятно!

Как то привык я понимать как все происходит, и если не понимаю - боюсь блин! Когда-нибудь непонимание это аукнется ведь!

Go to the top of the page
 
+Quote Post
asoneofus
сообщение Oct 8 2010, 21:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 10-01-06
Из: Ква/ЧГ/Херцлия/Шанхай/Ичхон/Сувон/Шеньжень
Пользователь №: 13 005



пАтАму как вАлшеПство (С) Я
А с каких пирогов (чем оценили) что одинаково? неуж встроенные ср-ва отладчика? Аль осцилограммка есть?
PS уровни абстракции чудеса творят


--------------------
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 8 2010, 22:24
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(asoneofus @ Oct 9 2010, 01:56) *
А с каких пирогов (чем оценили) что одинаково? неуж встроенные ср-ва отладчика? Аль осцилограммка есть?

Я ж пишу, во-первых 10 млн. записей в память происходит за 4,3 сек, что при 16, что при 32 разрядном доступе (оценил секундомером незатейливо), во-вторых, код дизасма смотрел, разница между 16 и 32 разрядным доступом - одна команда соответственно sthio и stwio, подозреваю, что за одинаковое количество времени выполняются они, раз нет разницы в общем времени выполнения.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 8 2010, 22:40
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(alexPec @ Oct 9 2010, 01:46) *
А физически то как это происходит? Ну 8-ми разрядный доступ можно разрулить байт-энейблами, а 32-х как? За два цикла пишет чтоли? Тогда почему время при 16 и 32 битном обращении одно и то же?

подозреваю, что даже не 2 такта, а больше. там ведь наверное еще куча слейвов висит на шине. прицепите сигналтап и посмотрите, как транзакции происходят http://www.altera.com/literature/an/an446.pdf. там можно прямо сигналы к памяти смотреть на фоне дизассемблера.
Go to the top of the page
 
+Quote Post
torik
сообщение Oct 11 2010, 10:02
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



SRAM 16 бит, и пиши в нее хоть 16, хоть 32 слова, ее пропускная способность от этого не меняется. Если пишете 32 бит слова, то где-то появится фифо с входом 32 и выходом 16 бит.


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post
alexPec
сообщение Oct 11 2010, 12:43
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(torik @ Oct 11 2010, 14:02) *
SRAM 16 бит, и пиши в нее хоть 16, хоть 32 слова, ее пропускная способность от этого не меняется. Если пишете 32 бит слова, то где-то появится фифо с входом 32 и выходом 16 бит.


А фифо сопц-билдер сам ставит чтоли? Я то никаких фифо не ставил. И разве фифо не переполнится при постоянной записи (тестовый код, больше проц ничем не занят) 10 млн. раз? Или он wait генерит, пока два полуслова не запишет? Но тогда получается что он и при 16 бит доступе тоже wait генерит - время выполнения одно и тоже. Не рационально как-то. При 16 бит дотсупе wait не нужен по логике то. Эх железки под руками не будет еще 2 недели - отдали пока, посмотреть бы...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Oct 11 2010, 12:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(alexPec @ Oct 11 2010, 19:43) *
Эх железки под руками не будет еще 2 недели - отдали пока, посмотреть бы...

посмотрите в моделсиме
Go to the top of the page
 
+Quote Post
VladimirB
сообщение Oct 11 2010, 20:22
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219



Цитата(alexPec @ Oct 11 2010, 16:43) *
А фифо сопц-билдер сам ставит чтоли? Я то никаких фифо не ставил. И разве фифо не переполнится при постоянной записи (тестовый код, больше проц ничем не занят) 10 млн. раз? Или он wait генерит, пока два полуслова не запишет? Но тогда получается что он и при 16 бит доступе тоже wait генерит - время выполнения одно и тоже. Не рационально как-то. При 16 бит дотсупе wait не нужен по логике то. Эх железки под руками не будет еще 2 недели - отдали пока, посмотреть бы...


Я конечно больше по микробам с PLB специалист, но в ниосах я думаю не лучше - авалон тормозит по полной.
Посчитайте сами: 10мегазаписей за 4.3 секунды - это 2.5мегазаписей в секунду. За время пока данные ползут по авалону нормальная SRAM может 20 раз их записать - т.е. как и у микроба всё упирается в производительность шины. Она кстати 32-битная, поэтому на неё разряность данных не влияет. А лишнюю быструю запись в SRAM с секундомером вы не увидите на фоне тормозов.
Go to the top of the page
 
+Quote Post
torik
сообщение Oct 12 2010, 11:45
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359



Цитата
А фифо сопц-билдер сам ставит чтоли?

Да вроде да


--------------------
Быть. torizin-liteha@yandex.ru
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th July 2025 - 10:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016