Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 18

Тема: DRAM SDRAM DDR2/3/4/5

  1. #1
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию DRAM SDRAM DDR2/3/4/5

    Привет всем. Решил завести тему про динамическую память. Вот смотрю часто в "корках" используется SDRAM, я то думал что это потому что на самих devboard чаще всего стоит SDRAM (ну а стоит он там изза цены, и цена упала, так как новые устройства проектируют уже под DDR). Но что-то не клеится в этих рассуждениях. В проекте MISTer используют спец плату с SDRAM якобы потому что DDR еще медленее эмулирует произвольный доступ чем SDRAM! Звучит как-то странно. Хотелось бы составить маленькую табличку в которой указать на каких частотах SDRAM, DDR, DDR2, DDR3 могут эмулировать DRAM 150ns, 120ns, 100ns, 80ns (по-моему более быстрая память не применялась в ретро компах, ну скажем для реализации "двух-портовости" может потребоваться максимум 40ns).

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Activist
    Регистрация
    27.11.2015
    Адрес
    г. Самара
    Сообщений
    341
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что тут странного? у DDR очень большая латентность. Выборка произвольной ячейки очень долгая. Я сейчас не помню точно, но там порядка 20-25 тактов клока требуется чтобы получить данные из ячейки. Ессно, если выбирать серию последовательных ячеек (burst) то скорость будет высокой.
    У SDR SDRAM нужно 7-8 циклов клока. Вот и считай что быстрее.
    К тому же для DDR используется аппаратный контроллер, где нет контроля цикла рефреша, который может наступить в любой момент - это еще задержка на те же 20-25 циклов. То есть грубо говоря а общем случае порядка 40-50 циклов может уходить на выбор одной произвольной ячейки.
    У SDR рефреш можно распределить самому так чтобы он был незаметным - поэтому те же 7-8 циклов сохраняются.
    Если для эмулируемой системы точность циклов не важна, то можно заюзать и DDR.

    - - - Добавлено - - -

    на SDR можно эмулировать частоту DRAM ровно 1/8 скорости SDRAM. то есть при клоке 128MHz можно спокойно иметь скорость выборки эквивалентно SRAM(!) на 16MHz.

    - - - Добавлено - - -

    на MiSTer стоит DDR3 800MHz. При этом эмулировать ZX Spectrum с точными таймингами невозможно. С SDR SDRAM можно точно сэмулировать даже если SDRAM на 32MHz работает.

  4. #3
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,018
    Спасибо Благодарностей отдано 
    692
    Спасибо Благодарностей получено 
    1,982
    Поблагодарили
    1,125 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    на SDR можно эмулировать частоту DRAM ровно 1/8 скорости SDRAM. то есть при клоке 128MHz можно спокойно иметь скорость выборки эквивалентно SRAM(!) на 16MHz.
    Не вполне корректно сравнивать в общем случае SDRAM без учета рефреша со SRAM. Нужно оговорить подразумеваемые ограничения.

    - - - Добавлено - - -

    На рефреш по минимуму нужно менее процента времени (скорее даже полпроцента). Да, это почти ничто, если есть возможность куда-нибудь "спрятать" рефреш.

  5. #4
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Saar Посмотреть сообщение
    К тому же для DDR используется аппаратный контроллер, где нет контроля цикла рефреша, который может наступить в любой момент - это еще задержка на те же 20-25 циклов. То есть грубо говоря а общем случае порядка 40-50 циклов может уходить на выбор одной произвольной ячейки.
    Это как я понимаю речь именно про MISTer железо. А можно ли отказаться от использования встроенного железного DDR3 контроллера и заменить его на vhdl реализацию с "равномерным" и "детерменированным" распределением торможения в следствии refresh-a и доступа со стороны arm-a? Ну так чтобы retro core имел гарантированную скорость произвольного доступа.

    По сути это привязка всей схемы к clk domain-у ddr контроллера со строго определенными time slots.

    А по другому ассинхронному варианту - 800mhz /50 раз задержки = 16mhz... что теоретически говорит о том что "в худшем случае" частота в 16mhz таки достижима.
    Последний раз редактировалось bigral; 10.08.2018 в 20:07.

  6. #5
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    есть драм память в которой внутри все мультиплексоры и логика для рефреша и наружу видна как статик рам - pseudo-sram
    вот тут можно увидеть их цены и характеристики https://www.arrow.com/en/categories/...ry-chips/psram

    самая быстрая 36нс - примерно 30Мгц )
    Последний раз редактировалось shurik-ua; 10.08.2018 в 20:16.

  7. #6
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,018
    Спасибо Благодарностей отдано 
    692
    Спасибо Благодарностей получено 
    1,982
    Поблагодарили
    1,125 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    самая быстрая 36нс - примерно 30Мгц )
    Неудачный пример и цифры не те. Для произвольного доступа надо смотреть не tACC=36 ns, а то что строчкой пониже, там 56 ns. И это еще без учета рефреша.

  8. #7
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    365
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    да там и напряжения не те - применяется в кнопочных мобилках в основном.

  9. #8
    Activist Аватар для omercury
    Регистрация
    13.02.2016
    Адрес
    г. Королёв
    Сообщений
    493
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    SDRAM, DDR, DDR2, DDR3
    Сейчас очень модно отправлять RTFM, но попробую в двух словах буквально на пальцах разобрать технологии.
    Кстати, DDRx тоже SDRAM))), то есть (Synchronous)Синхронная с (Dynamic)Переменным (Random)Произвольным (Access)Доступом (Memory)Память.
    Смысл переменного доступа в (а)переменной длине считвываемого/записываемого потока данных и (б) переменной последовательности слов данных.
    Все процессы в обычной SDRAM (3,3v) синхронизированы с положительным перепадом на тактовом входе.
    Память типов DDRx (Double Data Rate) отличается от обычной SDRAM тем, что данные читаются/записываются как по положительному, так и по отрицательному перепаду на тактовом входе. На самом деле у DDR дифференциальный вход такта, но для простоты восприятия лучше ИМХО учитывать прямой вход тактовой, на инверсном такт просто противофазный.
    DDR разных видов отличаются между собой количеством считываемых/записываемых слов (в данном случае это не uint_16t, а количество пинов внешней шины данных), что достигается удвоенной/учетверённой/увосьмерённой шириной внутренней шины данных.
    В DDR первого поколения по одному адресу читается 2 слова, в DDR-II - 4 слова, а в DDR-III - 8 слов последовательно. И считать их нужно обязательно все... Плюс всё это ещё умножается на длину бюрста. Всё это легко увидеть, рассматривая структурные схемы в документации на соответствующие типы памяти.

    Цитата Сообщение от Saar Посмотреть сообщение
    на MiSTer стоит DDR3 800MHz
    Чистейшей воды маркетинг.
    На самом деле память работает на тактовой всего лишь 100-200МГц. 800 - эквивалентная пропускная способность, то есть столько было бы, если бы вся внутренняя шина данных была бы выведена наружу. )))
    100МГц*8=800. 8 - отношение ширин внутренней к внешней шин данных.

    Ну а дальше всё ещё веселей - латентность (задержка). Обозначается как CL - Cas Latency.
    Этим понятием указывается количество циклов тактовой с момента подачи сигналов на пины чипа до того момента, как внутри что-то там переключится.
    "Обычная" SDRAM имеет от 1(старые чипы) до 3 тактов CL, в DDR тактов стало намного больше - в DDR от 5 и чем больше цифра после DDR, тем их всё больше и больше. Потому, что сама структура схемы управления массивом памяти становится всё сложнее и сложнее, цепочки управляющих сигналов удлинняются, а задержки в кристалле меньше "почему-то" не становятся... Технологический предел.


    Цитата Сообщение от bigral Посмотреть сообщение
    А по другому ассинхронному варианту - 800mhz /50 раз задержки = 16mhz... что теоретически говорит о том что "в худшем случае" частота в 16mhz таки достижима.
    100MHz/(6+6+6+4,5)=4,44. Не считая рефреша.
    Увы...

    - - - Добавлено - - -

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не вполне корректно сравнивать в общем случае SDRAM без учета рефреша со SRAM. Нужно оговорить подразумеваемые ограничения.

    - - - Добавлено - - -

    На рефреш по минимуму нужно менее процента времени (скорее даже полпроцента). Да, это почти ничто, если есть возможность куда-нибудь "спрятать" рефреш.
    А это зависит от того, насколько Вы готовы усложнить контроллер SDRAM.
    Например во время обратного хода луча (СГИ - 12,5% времени), память отображалке экрана совершенно не нужна.
    А ведь есть ещё и КГИ.
    Последний раз редактировалось omercury; 10.08.2018 в 22:59. Причина: сам запутался в тактах)))

  10. #9
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,329
    Спасибо Благодарностей отдано 
    209
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    198 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от omercury Посмотреть сообщение
    Смысл переменного доступа в (а)переменной длине считвываемого/записываемого потока данных
    Т.е. сейчас Dynamic означает не то, что раньше (изготовление ячеек на основе конденсаторов и необходимость рефреша)?

    Цитата Сообщение от omercury Посмотреть сообщение
    На самом деле память работает на тактовой всего лишь 100-200МГц. 800 - эквивалентная пропускная способность, то есть столько было бы, если бы вся внутренняя шина данных была бы выведена наружу. )))
    Что значит "столько было бы"? Оно столько и есть (пропускная способность), но да не в произвольном доступе.
    И проблема не в соотношении ширин шин, а в том что для одного байта вся эта пропускная способность ничего не даёт и память работает на той же физической частоте, но с всё бОльшими задержками между операциями доступа.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  11. #10
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от omercury Посмотреть сообщение
    Сейчас очень модно отправлять RTFM, но попробую в двух словах буквально на пальцах разобрать технологии.
    Кстати да, даже SDRAM очень медленная для таких целей и приходится использовать на максимальных частотах. В своём проекте думал использовать набортный чип для организации памяти (и в последующем - и в реале). По факту, для тактовой частоты Z80 в 12МГц память пришлось тактировать на все 130МГц, что бы она всё-всё успевала и не приходилось тормозить ЦП. А это для реала - уже убийство, иметь такую частоту на плате...

    - - - Добавлено - - -

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Т.е. сейчас Dynamic означает не то, что раньше (изготовление ячеек на основе конденсаторов и необходимость рефреша)?
    То же, только между самой памятью как таковой и ПК появилась своя логика, которая находится в каждом чипе и управляет им. Эта логика занята циклами рефреша и собственно организацией доступа к памяти. Вот эта-то логика и требует тактирования и циклов работы.
    "Байт-48"

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 72
    Последнее: 08.12.2019, 00:36
  2. Работа с SDRAM
    от AlexBel в разделе Память
    Ответов: 0
    Последнее: 31.10.2009, 09:18
  3. SRAM vs DRAM
    от Eugene Palenock (500:95/468.1) в разделе Память
    Ответов: 7
    Последнее: 03.10.2009, 18:26
  4. DRAM vs SRAM объясните разницу
    от DimkaM в разделе Для начинающих
    Ответов: 12
    Последнее: 03.05.2009, 12:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •