Цитата
Уважаемый v_mirgorodsky, прежде чем делать такие заявления, и засорять мозг участников форума подобными данными, хочется пожелать вам сначала поподробнее изучить принципы работы SDRAM-памяти и разобраться в собственном методе тестирования и подсчета результатов. Тогда вы все-таки поймете, что приведенные вами цифры значительно превосходят теоретически возможные. Надо же все-таки хоть немного задумываться о собственном авторитете, и не кидаться такими непроверенными данными.
Поскольку наш контроллер использует команды авто-рефреша строк памяти, то это время теряется безвозвратно. Была идея прятать рефреш в средину работы активных команд, однако она показалась на тот момент слишком сложной. Просто это разумелась само собой в нашем тестировании, а потому время рефрешей в расчетную полосу и не закладывалась. BTW, время рефрешей составляет около 1% всей полосы работы памяти. Еще момент, при тестировании не менялось направление передачи данных. Вот это единственные неточности и оговорки в этой цифре.
Теперь, идем дальше. При случайном наборе адресов/бурстов/банков средняя длинна бурста составляет 8 трансферов данных за команду. Могу вас уверить, что просмотр очереди команд на три команды вглубь дает
широчайшие возможности для манипуляций с банками во время активных трансферных операций. В нашем дизайне спрятанные пречрджи/активации банков становятся возможными при длинне непрерывного бурста равным три и более. Как я уже говорил, единственными неприятностями для контроллера являются последовательные доступы в один и тот же банк, но в разные строки. Возможно в нашем тестировании таких случаев было мало.
А посему, уважаемый
Loki5000, в наших цифрах ничего мистического нет. При дальнейшем желании доказательств могу выложить несколько диаграмм активности интерфейса памяти при работе нашего контроллера.
P.S. При определенных прочих равных, если есть гарантия доступа во все строки памяти в пределах окна рефреша и достаточной длинне бурстов (начиная где-то с 8 трансферов за команду) можно получить и все 99.9% утилизации всей теоретической полосы памяти. Без скидки на рефреши. Надо только чтобы направление передачи данных менялось достаточно редко. Или вы снова скажете, что это невозможно?