|
|
  |
А почему DMA такое медленное ? |
|
|
|
Apr 11 2010, 09:36
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
burst выключены ? А зачем они ? Стандартный драйвер SDRAM burst не поддерживает =( Или я путаю что-то ? А арбитраж как настроить ? Не видел что-то в мануалах (плохо читал наверное) Кстати попутно еще вопрос.. Из серии "что же это такое было"... С этого MAC чипа принимаю пакет. Как он выглядит я знаю. Когда читал просто чип через IORD - усе пучком. Но как начал через DMA .... Изначально пакет выглядит допустим как N0, N1...., Nn-1, Nn. Но приняв его по DMA в памяти увидел его как N0, N2, N4, N6, а вот через 20 байт появились N1, N3, N5 и т п  Пересобрал ядро без кеша данных - стало нормально. Но что самое интересное - когда собрал назад с кешем - все по прежнему осталось нормальным.. Очень похоже на какое-то ускорение записи путем чередования адресов, но куда оно пропало, и что это вообще на НЛО могло быть ?
|
|
|
|
|
Apr 11 2010, 10:49
|

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

|
хм, смотрим последнюю версию, в описании корки сказано: Цитата Under optimal conditions, the SDRAM controller core’s bandwidth approaches one word per clock cycle. However, because of the overhead associated with refreshing the SDRAM, it is impossible to reach one word per clock cycle. Other factors affect the core’s performance, as described in the following sections. правда, это наверное на операциях чтения, но 40 тактов на слово - явный перебор. а к SDRAM кто еще подключен кроме DMA? в принципе, контроллер SDRAM можно и свой наваять, с burst`ами и т.п., но надо все-таки посимулировать в моделсиме/посмотреть в сигналтапе что происходит, может там и в других блоках такое непотребство творится.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|