Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: BURST in SDRAM
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Цифровые схемы, высокоскоростные ЦС
DASM
Ну я понимаю там во флешках - первый доступ 65 нс, остальные в бурсте по 18. А SDRAM хоть на каждом клоке адрес меняй - данный получишь аккурат после CAS latency. Единственное что приходит в голову - зашаривать ША на несколько устройств, тогда с бурстом можно ускориться, дабы не каждый раз адрес менять (да и то - только при последовательностном доступе поможет). Я чего-то не понимаю наверное sad.gif
Судя по этой диаграмме - неясно зачем он.
yes
Цитата(DASM @ Apr 26 2010, 15:07) *
Ну я понимаю там во флешках - первый доступ 65 нс, остальные в бурсте по 18. А SDRAM хоть на каждом клоке адрес меняй - данный получишь аккурат после CAS latency. Единственное что приходит в голову - зашаривать ША на несколько устройств, тогда с бурстом можно ускориться, дабы не каждый раз адрес менять (да и то - только при последовательностном доступе поможет). Я чего-то не понимаю наверное sad.gif
Судя по этой диаграмме - неясно зачем он.


думаю, исторически сложилось - всякие кэш контроллеры зачитывали строку из памяти, вот и сделали интерфейс

там от всей этой древней беды сохранилось еще извращения в виде интерливед/врапед бёрст - у сдрам-а вроде нет, а во всяких статических быстрых памятях - полно
DmitryR
А вы подсчитайте, какая будет скорость, если для каждого слова выставлять RAS и CAS каждый раз.
DASM
Причем тут это ? RAS по-любому делать придется если не в открытой ROW. CAS делать вообще не надо (по крайней мере в этих SDRAM) - я посмотрел как работаем SDRAM контроллер в NIOS при пересылке по DMA - пока до границы RAW не дойдет только меняет адрес на шине - и вуаля - данные приходят ( с latency ессно). Никаких преимуществ встроенного burst не вижу и не понимаю. То ли мир ушел от 565РУ5 , и RAS CAS - это собсно говоря просто командный набор сигналов (о чем они и пишут). Но тогда странно, что никто пока толком не ответил. Повторюсь - скорость - 16 бит на клок (100 Мгц) в пределах RAW - хоть random хоть не random. А если мнять банк или raw - накладные такие же (тем паче burst за пределы raw сам не перейдет). Так в чем подвох, господа ?
PS несколько часов искал в инете - как понял в древние времена еще какая-то PREFETCH была - то ли команда, то ли что-то еще, и на каждый новый адрес тратилось время. Но в этих чипах заче оно - не пойму. Скорость будет такая же.
yes
Цитата(DASM @ Apr 26 2010, 23:11) *
Причем тут это ?


большинство не знает, что можно менять только CAS, и времянка будет такая же как у BURST-а
так например, работает блэкфиновский контроллер

практическая ценность вопроса?
имхо, хочешь - пользуйся бёрстом, не хочешь - не пользуйся - бандвидс одинаковая

----------

например, бёрсты прописаны в стандарте AMBA AHB (заведены специальные линии управляющих сигналов и страницы маразма в доке), а смысла в этом мало и мне ни разу не встречалась имплементация AHB слэйва, которая имела бы хоть какой-то вин от бёрста (в AHB также есть специальная фаза адреса/конвеер типа CAS, а арбитраж разыгрывается через специальный/не бёрст признак секвентиал/нон-секвентиал)

то есть предполагаю, что бёрст это историческое наследие древних кэш контроллеров, аппаратная реализация в контроллере SDRAM занимает копейки и выбрасывать ее не целесообразно

более прикольно линеар/интерливед бёрст (а не врапед), вот пример микрухи http://www.gsitechnology.com/8640183236.pdf
вобщем-то понятно, для чего, но смысла совсем мало - имхо, так исторически сложилось
dinam
Если используете burst, то появляется возможность выполнять команды Row Acive и Precharge во время выдачи данных. Т.е. теоретически можно получить пропускную способность под 100% при записи или чтении. Правда не забываем про Refresh smile.gif . Вот один из самых первых вопросов на эту тему
yes
Цитата(dinam @ Apr 29 2010, 08:32) *
Если используете burst, то появляется возможность выполнять команды Row Acive и Precharge во время выдачи данных. Т.е. теоретически можно получить пропускную способность под 100% при записи или чтении. Правда не забываем про Refresh smile.gif . Вот один из самых первых вопросов на эту тему


по темам топикстартера я предположил, что SDRAM он использует для работы с процессором и предполагается рандомный доступ к памяти, то есть какой банк будет открыт следующим чтением/записью неизвестно, и вложить в текущий обмен ров-активейт для следующего не получится (пайплайн у проца не такой длинный и толстый smile.gif )

но согласен, при потоковых операциях можно получить увеличение полосы при переключениях банок

но если мой склероз не подводит меня - при потоковых операциях можно вычитать всю страницу, тогда польза от пары сэкономленных тактов не велика, но чтобы направление чтение/запись не менять нужно иметь в ПЛИСине буфер на страницу, когда с видео мутил, такой контроллер сделать мне показалось проще, чем банки интерливить

но опять - SDRAM чип это типа некий стандарт - делай контроллер как хочешь
DASM
Нет, мне как раз потоковое надо. К сожалению SDRAM контроллер альтеровский при переключении банок закрывает все открытые row (lf и вообще burst не поддерживает)
yes
Цитата(DASM @ Apr 29 2010, 19:09) *
Нет, мне как раз потоковое надо. К сожалению SDRAM контроллер альтеровский при переключении банок закрывает все открытые row (lf и вообще burst не поддерживает)

на опенкоресах des00 выложил хитрый контроллер (hssdrc или как то так), там похитрее простых потоков, но вроде бы и с потоками терять тактов не должен
muravei
Цитата(DASM @ Apr 26 2010, 23:11) *
То ли мир ушел от 565РУ5

Тоже в расстройстве crying.gif
Раньше можно было считать и записать в одном цикле, а сейчас как это будет выглядеть приминительно к K4S561632H ?
Требуется последовательный доступ (чтение , иногда запись) к 700-1300 ячеек с частотой 25-75MHz.
Timmy
Цитата(muravei @ Jul 1 2010, 10:30) *
Тоже в расстройстве crying.gif
Раньше можно было считать и записать в одном цикле, а сейчас как это будет выглядеть приминительно к K4S561632H ?
Требуется последовательный доступ (чтение , иногда запись) к 700-1300 ячеек с частотой 25-75MHz.

В первом такте открывается банк, в следующем - выдается команда чтения с автозакрытием банка. Затем примерно через 4 такта ловятся пришедшие на DQ/DQS данные. Причем не дожидаясь данных можно сразу начинать следующий цикл чтения из другого банка. Конечно, латентность, в отличие от РУ5 высокая, зато и частота тоже.
Я сваял свой простой контроллер SDRAM, так как фирменный латтисовский вообще никуда не годится. Сейчас, пока плата с латтисовским ECP2M не готова, протестировал на DL-S3EBOARD. Получилось гораздо лучше, чем то, что делает MIG, так как латентность моего контроллера единица, при частоте 166МГц, и после команды чтения/записи можно сразу обращаться к другому свободному банку(или непрерывно продолжать работать с открытой строкой текущего).

Какой контроллер лучше - продвинутый незакрывающий банки, или дубовый закрывающий однозначно сказать нельзя. Поскольку дубовый объективно будет иметь латентность на 2-4 такта ниже продвинутого, это может перекрыть выгоду от незакрытия банков.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.