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

 
 
> 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



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

 


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


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