Развитие новых технологий организации динамической памяти
Формула памяти позволяет проводить сравнение различных микросхем динамической памяти друг с другом. В микросхемах памяти со страничным чтением практическое значение имеет сравнение лишь времени рабочего цикла. Совершенствуя ядро памяти, производители сократили время цикла до 30 нс., но скоростные характеристики динамической памяти все еще не обеспечивали работы процессора без режимов ожидания. Дальнейшее усовершенствование памяти было связано с усовершенствованием вывода данных на шину данных. Была разработана память нового типа EDO-DRAM.
EDO-DRAM (Extended Data Out DRAM) - память с усовершенствованным выходом.
Если оснастить микросхему специальным регистром-защелкой, сохраняющим данные после снятия сигнала CAS, станет возможным деактивировать CAS до окончания чтения данных, подготавливая в это время микросхему к приему номера следующего столбца. Это позволяет выиграть один такт системной щины.
При работе EDO памяти, как и в FPM памяти, активизируется строка памяти, затем столбец, но выходной буфер не блокируется, а остается активным до начала следующего цикла чтения, при этом устраняется состояние ожидания процессора и цикл чтения сокращается от 6-3-3-3 до 5-2-2-2, таким образом экономится четыре такта при передаче пакета из четырех слов. Продолжительность рабочего цикла EDO-DRAM сократилась до 20 нс. прирост производительности (в сравнении с FPM-DRAM) составлял около 30%. Память EDO проста в реализации, стоимость ее производства возросла незначительно по сравнению с динамической памятью типа FPM. Дальнейшее улучшение характеристик памяти было связано с использованием сверхбыстрого страничного режима в памяти BEDO DRAM
Burst EDO DRAM (BEDO DRAM) - улучшенная пакетная память со сверхбыстрым страничным режимом.
Если программные приложения производят обмен с памятью пакетами из четырех циклов обращения к памяти, то после нахождения первого адреса в памяти BEDO DRAM, три остальные устанавливаются микросхемой памяти. На кристалле памяти расположен счетчик, осуществляющий слежение за следующим адресом и две ступени конвейера (два регистра), позволяющие цикл страничного доступа разделить на две части. При чтении данные выдаются на выходную ступень конвейера и устанавливаются на шине данных. Быстрый доступ к данным достигается за счет того, что данные заранее готовятся к выдаче на первой ступени конвейера и для выдачи следующего слова достаточно одного тактирующего сигнала.
Применение технологии BEDO-DRAM позволило получить двукратное увеличение производительности. Добавив в микросхему генератор номера столбца, конструкторы ликвидировали задержку CAS Delay, сократив время цикла до 15 нс. После обращения к произвольной ячейке микросхема BEDO автоматически, без указаний со стороны контроллера, увеличивает номер столбца на единицу, не требуя его явной передачи. из-за ограниченной разрядности адресного счетчика ( два бита) максимальная длина пакета не могла превышать четырех последовательных ячеек.
Формула памяти для BEDO-DRAM выглядит так: 5-1-1-1, что на ~40% быстрее EDO-DRAM.
Несмотря на скоростные показатели (время рабочего цикла составляло 15 нс. - 1 такт для системной шины, работающей на частоте 66 MГц), память BEDO-DRAM оказалась не конкурентоспособной и не получила широкого распространения. Но принципы ее организации были использованы при проектировании нового типа памяти - синхронной динамической памяти.
Причина перехода к синхронной памяти в том, что BEDO, как и все ее предшественники, оставаясь асинхронной памятью не может обеспечить высокой скорости обмена данными за счет несогласованности ее работы с системной шиной. Так как тактовая частота контроллера памяти и микросхемы памяти не синхронизованы, нет никаких гарантий, что начало рабочего цикла микросхемы памяти совпадет с началом такового импульса контроллера, вследствие чего рабочий цикл микросхемы памяти не совпадает с началом тактового импульса. Несколько наносекунд уходит на формирование контроллером управляющих сигналов RAS или CAS, за счет чего они также не совпадают с началом тактирующих импульсов. Еще несколько наносекунд требуется для установления сигнала и реакции на него микросхемы. Сколько именно дополнительного времени потребуется на это заранее определить невозможно, т.к. на результат влияет температура, длина проводников, наведенные помехи и т.д. Стандартная, асинхронная DRAM работала без управления ввода таймером, который не требовался для передачи данных вплоть до второго десятилетия развития микропроцессоров. В системах с более быстрыми процессорами, которые использовали стандартную DRAM необходимо было принудительно устанавливать состояния ожидания (временные задержки), чтобы согласовать скорость работы процессора с памятью. Состояние ожидания, это когда микропроцессор приостанавливает исполнение программы, так как не получил из памяти необходимый программный код.
SDRAM (Synchronous DRAM) - синхронная динамическая память
Появление вычислительных систем с системными шинами, работающими на частоте 100 MГц привело к пересмотру механизма управления памятью. Была разработана синхронная динамическая память - SDRAM (Synchronous-DRAM). Микросхемы SDRAM памяти работают синхронно с системной шиной, в них реализован усовершенствованный пакетный режим обмена. Контроллер может запросить одну или несколько последовательных ячеек памяти, или всю строку целиком. Для выполнения такой операции требуется адресный счетчик, не ограниченный двумя битами, как в BEDO-DRAM.
Количество (матриц) банков памяти в SDRAM увеличено с одного до двух или даже четырех. Это позволяет обращаться к ячейкам одного банка, осуществляя регенерацию другого, что вдвое увеличивает предельно допустимую тактовую частоту. Помимо этого появилась возможность одновременного открытия двух (четырех) страниц памяти, причем открытие одной страницы (т.е. передача номера строки) может происходить во время считывания информации с другой, что позволяет обращаться по новому адресу столбца ячейки памяти на каждом тактовом цикле.
В отличие от всех видов асинхронной памяти, выполняющих перезапись ячеек памяти при закрытии страницы (т.е. при деактивации сигнала RAS), синхронная память проделывает эту операцию автоматически, позволяя держать страницы открытыми сколь угодно долго.
Разрядность шины данных увеличилась с 32 до 64 бит, что еще вдвое увеличило производительность синхронной памяти.
Формула чтения произвольной ячейки из закрытой строки для SDRAM обычно выглядит так: 5-1-1-1, а из открытой строки так: 3-1-1-1.
Синхронизация операций в памяти тактовыми сигналами процессорной шины упрощает реализацию интерфейсов и уменьшает время обращения к столбцу. Режим обмена данными с SDRAM программируется при помощи внутри кристального регистра режима. При программировании задается длина пакета и запаздывание, что позволяет произвести оптимальную настройку системы обмена процессор - память. Корпорация NEC ввела новую технологию памяти - VCM (Virtual Channel Memory), повышающую производительность вычислительных систем приблизительно на 20%. Изменилась внутренняя конструкция модуля памяти. Единственный внутренний канал модуля памяти расщепляется на множество виртуальных, информация образует очередь. Наиболее простой VCM- чип представляет собой 64 мегабитную SDRAM, включающую 16 виртуальных каналов памяти. Синхронная динамическая память SDRAM, в отличие от стандартной и асинхронной DRAM, имеет внутренний таймер ввода данных. Системный таймер, который пошагово контролирует деятельность микропроцессора, управляет и работой SDRAM.
Свойства SDRAM:
синхронное функционирование,
чередование банков ячеек,
возможность работы в пакетно-конвейерном режиме
Конвейерная адресация позволяет осуществлять доступ к запрошенным вторыми данными, до завершения обработки запрошенных первыми данными. Следующий шаг в развитии SDRAM - DDR SDRAM или SDRAM II.
DDR SDRAM (Double Data Rate SDRAM) или SDRAM II
Эта синхронная память может передавать данные по переднему фронту и спаду сигнала синхронизации шины, что позволило увеличить пропускную способность до 1.6 Гб/сек при частоте шины в 100MHz. Пропускная способность памяти увеличилась вдвое по сравнению с ранее существовавшей SDRAM. Synchronous DRAM II, или DDR (Double Data Rate - удвоенная скорость передачи данных) основана на тех же самых принципах, что и SDRAM, однако включает некоторые усовершенствования, позволяющие увеличить быстродействие.
Основные отличия от стандартного SDRAM:
1. используется синхронизация по фронту и по спаду, отсутствующая в SDRAM;
2. DDR использует DLL (delay-locked loop - цикл с фиксированной задержкой) для выдачи сигнала DataStrobe, означающего доступность данных на выходных контактах.
Используя один сигнал DataStrobe на каждые 16 выводов данных, контроллер памяти может осуществлять доступ к данным более точно и синхронизировать данные, поступающие из разных модулей памяти, находящихся в одном банке. DDR фактически увеличивает скорость доступа вдвое, по сравнению с SDRAM, используя при этом ту же частоту, т.к. позволяет читать данные по восходящему и падающему уровню, выполняя два доступа за время одного обращения стандартной SDRAM. Дополнительно, DDR может работать на большей частоте благодаря замене сигналов TTL уровня (порядка 4В) на сигналы более низких уровней SSTL3 (порядка 1,8 B).
Память типа SLDRAM, (SyncLink) продукт DRAM-консорциума, является ближайшим конкурентом Rambus. Этот консорциум объединяет двенадцать производителей DRAM. SLDRAM продолжает дальнейшее развитие технологии SDRAM, расширяя четырехбанковую архитектуру модуля до шестнадцати банков. Кроме того, добавляется новый интерфейс и управляющая логика, позволяющая использовать пакетный протокол для адресации ячеек памяти. SLDRAM передает данные так же как и RDRAM, по каждому такту системного таймера.
Память типа RDRAM (Rambus)
Память типа RDRAM (Rambus)- имеет многофункциональный протокол обмена данными между микросхемами, позволяющий передачу данных по упрощенной шине, работающей на высокой частоте. RDRAM представляет собой интегрированную на системном уровне технологию. Ключевыми элементами RDRAM являются:
модули DRAM, базирующиеся на Rambus;
ячейки Rambus ASIC (RACs);
схема соединения чипов, называемая Rambus Channel.
Память RamBus, впервые использована в графических рабочих станциях в 1995 году, в ней используется уникальная технология RSL (Rambus Signal Logic - сигнальная логика Rambus), позволяющая использование частот передачи данных до 600MHz в обычных вычислительных системах. Было разработано три вида Rambus - RDRAM, Rambus Concurrent и Direct RDRAM.
Rambus использует низковольтовые сигналы и обеспечивает передачу данных по фронту и по спаду уровней сигнала системного таймера.
Технология Concurrent Rambus использует улучшенный протокол, показывающий хорошее быстродействие даже на маленьких, случайно расположенных блоках данных, отличается высокой эффективностью, необходимой для графических и мультимедийных приложений. По сравнению с RDRAM, применен новый синхронный параллельный протокол для чередующихся или перекрывающихся данных. Эта технология позволяет передавать данные со скоростью 800Мб/сек на канал и с частотой до 800MГц с синхронным параллельным протоколом, который повышает эффективность еще на 80%.
Технология Direct Rambus - еще одно расширение RDRAM. Direct RDRAM имеют те же уровни сигналов (RSL: Rambus Signaling Level - уровень сигналов Rambus), но более широкую шину, более высокие частоты (выше 800MHz) и улучшенный протокол (эффективность выше на 90%).
Вычислительные системы на Рentium4 было решено выпускать с использованием памяти RDRAM, в настоящее время только этот вид памяти способен обеспечить работу процессора Рentium4 без режимов ожидания. На этот раз разработчики аппаратного обеспечения перегнали прогресс и теперь уже программисты оказались не готовыми использовать новые возможности параллельной обработки, которые предоставляет им быстрая память. Достигнутые возможности RDRAM памяти пока остаются не востребованными в вычислительных системах широкого пользования (сведения на 2006г.). Однобанковый модуль RDRAM обеспечивал скорость передачи 1.6 Гбайт/сек, двубанковый - 3.2 Гбайт/сек. Но RDRAM память настолько дорогая, что в персональных компьютерах от нее пришлось отказаться и перейти на менее дорогую DDR SDRAM память.