Книга: Аппаратные интерфейсы ПК. Энциклопедия

7.1.2. Синхронная память — SDRAM и DDR SDRAM

7.1.2. Синхронная память — SDRAM и DDR SDRAM

Микросхемы синхронной динамической памяти SDRAM (Synchronous DRAM) представляет собой конвейеризированные устройства. По составу сигналов интерфейс SDRAM близок к обычной динамической памяти: кроме входов синхронизации здесь есть мультиплексированная шина адреса, линии RAS#, CAS#, WE# (разрешение записи) и CS# (выбор микросхемы) и линии данных (табл. 7.3). Все сигналы стробируются по положительному перепаду синхроимпульсов, комбинация управляющих сигналов в каждом такте кодирует определенную команду. С помощью этих команд организуется та же последовательность внутренних сигналов RAS и CAS, которая рассматривалась и для памяти FPM.

Таблица 7.3. Назначение сигналов в микросхемах SDRAM

Сигнал I/O Назначение
CLK I Clock Input — синхронизация, действует по положительному перепаду
CKE I Clock Enable — разрешение синхронизации (высоким уровнем). Низкий уровень переводит микросхему в режим Power Down, Suspend или Self Refresh
CS# I Chip Select — разрешение декодирования команд (низким уровнем). При высоком уровне новые команды не декодируются, но выполнение начатых продолжается
RAS#, CAS#, WE# I Row Address Strobe, Column Address Strobe, Write Enable — сигналы, определяющие операцию (код команды)
BS0, BS1 или BA0, BA1 I Bank Selects или Bank Address — выбор банка, к которому адресуется команда
А[0:12] I Address — мультиплексированная шина адреса. В циклах Bank Activate определяют адрес строки. В циклах Read/Write линии A[0:9] и А11 задают адрес столбца. Линия А10 в циклах Read/Write включает режим автопредзаряда (при А10=1), в цикле Precharge A10=1 задает предзаряд всех банков (независимо от BS0, BS1)
DQx I/O Data Input/Output — двунаправленные линии данных
DQM I Data Mask — маскирование данных. В цикле чтения высокий уровень переводит шину данных в высокоимпедансное состояние (действует через 2 такта). В цикле записи высокий уровень запрещает запись текущих данных, низкий — разрешает (действует без задержки)
VSS, VDD Общий провод и питание ядра
VSSQ, VDDQ Общий провод и питание выходных буферов. Изолированы от питания ядра для снижения помех

Данные для первой передачи пакета записи устанавливаются вместе с командой WR. Данные для остальных передач пакета передаются в следующих тактах. Первые данные пакета чтения появляются на шине через определенное количество тактов после команды. Это число, называемое CAS Latency (CL), определяется временем доступа TCAC и тактовой частотой. Остальные данные пакета выдаются в последующих тактах. Временные диаграммы работы SDRAM приведены на рис. 7.6. Здесь показана команда записи WR, за которой следует команда чтения RD из той же страницы, предварительно открытой командой ACT. Далее страница закрывается командой PRE. Длина пакета 2, CL = 3.


Рис. 7.6. Временные диаграммы пакетных циклов SDRAM: А и В — данные для записи по адресу R0/C0 и R0/C0+1, С и D — данные, считанные по адресу R0/C1 и R0/C1 +1

Регенерация (цикл CBR с внутренним счетчиком адреса регенерируемой строки) выполняется по команде REF, которую можно вводить только при состоянии покоя (idle) всех банков.

Микросхемы SDRAM оптимизированы для пакетной передачи. У них при инициализации программируется длина пакета (burst length=1, 2, 4, 8 элементов), порядок адресов в пакете (wrap mode: interleave/linear — чередующийся/линейный) и операционный режим. Пакетный режим может включаться как для всех операций (normal), так и только для чтения (Multiple Burst with Single Write). Этот выбор позволяет оптимизировать память для работы либо с WB, либо с WT-кэшем.

Обратим внимание, что внутренний счетчик адреса работает по модулю, равному запрограммированной длине пакетного цикла (например, при burst length=4 он не позволяет перейти границу обычного четырехэлементного пакетного цикла).

Пакетные циклы могут прерываться (принудительно завершаться) последующими командами. При этом оставшиеся адреса отбрасываются, и прерывающий пакет будет иметь полную длину (если его самого не прервут).

В команде Write имеется возможность блокирования записи данных любого элемента пакета — для этого достаточно в его такте установить высокий уровень сигнала DQM. Этот же сигнал используется и для перевода в высокоимпедансное состояния буферов данных при операции чтения.

Микросхемы SDRAM имеют средства энергосбережения, для управления ими используется вход разрешения синхронизации CKE.

В режиме саморегенерации (Self Refresh) микросхемы периодически выполняют циклы регенерации по внутреннему таймеру и не реагируют на внешние сигналы, поэтому внешняя синхронизация может быть остановлена.

Режимы пониженного потребления (Power Down Mode) устанавливаются при переводе CKE в низкий уровень командой NOP или INHBT. В этих режимах микросхема не воспринимает команд. Поскольку в данных режимах регенерация не выполняется, длительность пребывания в них ограничена периодом регенерации.

Если во время выполнения команды чтения или записи установить CKE=L, то микросхема перейдет в режим Clock Suspend Mode, в котором «замораживается» внутренняя синхронизация (нет продвижения данных) и не воспринимаются новые команды.

Для памяти SDRAM ключевыми параметрами являются:

? допустимая тактовая частота;

? CL (Cas Latency) — число скрытых тактов (2 или 3);

? TRCD — задержка RAS-CAS, выраженная в тактах (2 или 3);

? TRP — время предварительного заряда RAS;

? TRC — минимальное время цикла обращений к строкам одного банка;

? TAC — время задержки появления данных на выходе относительно фронта синхросигнала.

По тактовой частоте для SDRAM, применяемой в качестве ОЗУ PC-совместимых компьютеров, имеется три градации: PC66 (поначалу ее так не называли, поскольку другой и не было), PC100 и PC133 для максимальных частот 66,6, 100 и 133 МГц соответственно. Их ключевые параметры приведены в табл. 7.4. В обозначении быстродействия микросхем SDRAM обычно фигурирует TAC; период частоты синхронизации, естественно, не может быть меньше этой задержки. Микросхемы со спецификацией -10 могут устойчиво работать в модулях лишь на частоте 66 МГц. Микросхемы -8 могут работать на частоте 100 МГц, но, в зависимости от модификации, с разной латентностью. Так, например, для памяти Micron микросхемы с маркировкой -8А…-8С могут работать на частоте 100 МГц с CL = 3, a -8D или -8Е — с CL = 2.

Таблица 7.4. Ключевые параметры временной диаграммы SDRAM

Спецификация CL TRCD TRP TRC Примечание
PC66 3 2 3 8 Медленный вариант
2 2 2 7 Самый быстрый вариант
PC100 3 3 3 8 Медленный вариант
3 2 2 7 Средний вариант
2 2 2 7 Самый быстрый вариант
PC133 3 3 3 9 Медленный вариант
3 2 2 8 Средний вариант
2 3 2 8 Средний вариант
2 2 2 8 Самый быстрый вариант

Естественно, память может работать и на частотах ниже максимальной. Для микросхем SDRAM, применяемых, например, в графических адаптерах, существуют и иные спецификации быстродействия.

Синхронный интерфейс позволяет довольно эффективно использовать шину и обеспечить на частоте 100 МГц пиковую производительность 100 Мбит/с на 1 вывод шины данных. SDRAM используют в составе модулей DIMM с 8-байтной разрядностью, что дает производительность 800 Мбайт/с. При частоте шины 133 МГц пиковая производительность уже достигла 1064 Мбайт/с. Однако эта теоретическая производительность не учитывает накладные расходы на регенерацию и подразумевает, что требуемые страницы уже открыты. Из-за указанных выше ограничений на реальном произвольном потоке запросов производительность, конечно же, будет ниже. Потенциальные возможности почти одновременного обслуживания множества запросов, предоставляемые микросхемами SDRAM, будут реализованы лишь при достаточно «умном» контроллере памяти. От его предусмотрительности эффективность памяти зависит, пожалуй, больше, чем у простых модулей FPM и EDO DRAM.

Память DDR SDRAM представляет собой дальнейшее развитие SDRAM. Как и следует из названия (Dual Data Rate — удвоенная скорость данных), у микросхем DDR SDRAM данные внутри пакета передаются с удвоенной скоростью — они переключаются по обоим фронтам синхроимпульсов (рис. 7.7). На частоте 100 МГц DDR SDRAM имеет пиковую производительность 200 Мбит/с на вывод, что в составе 8-байтных модулей DIMM дает производительность 1600 Мбайт/с. На высоких тактовых частотах (100 МГц) двойная синхронизация предъявляет очень высокие требования к точности временных диаграмм. Для повышения точности синхронизации предпринят ряд мер.

? Сигнал синхронизации микросхемы подается в дифференциальной форме по двум линиям CLK и CLK# (Differential clock inputs). Это позволяет снизить влияние смещения уровней на точность определения момента синхронизации — дифференциальный приемник срабатывает в момент равенства уровней напряжения.

? Для синхронизации данных в интерфейс введен новый двунаправленный стробирующий сигнал DQS. Стробы генерируются источником данных: при операциях чтения DQS генерируется микросхемой памяти, при записи — контроллером памяти (чипсетом). При чтении фронты и спады этого сигнала точно центруются в моменты смены данных, приемник должен стробировать данные с небольшой задержкой относительно переключений DQS. При записи фронты и спады центруются точно посередине окна действительности данных и масок DQM.

? Для синхронизации DQS с системной тактовой частотой (CLK) микросхемы имеют встроенные схемы DLL (Delay Locked Loop) для автоподстройки задержки сигнала DQS относительно CLK. Эта схема работает наподобие фазовой автоподстройки и способна выполнять синхронизацию (обеспечивать совпадение фронтов DQS и CLK) лишь в некотором ограниченном диапазоне частот синхронизации.


Рис. 7.7. Временны?е диаграммы пакетных циклов DDR SDRAM: a — чтение, CL = 2, длина пакета 4; б — запись, длина пакета 4, данные D1 не записываются

Есть микросхемы DDR SDRAM с возможностью отключения схем DLL; для этого они имеют дополнительный расширенный регистр режима. Отключение DLL необходимо при снижении тактовой частоты (в целях энергосбережения). При отключенной схеме DLL стробы DQS не привязаны к синхросигналу CLK, и у разных микросхем, работающих в одной системе, они будут иметь разные частоты.

В отличие от обычных микросхем SDRAM, у которых данные для записи передаются одновременно с командой, в DDR SDRAM данные для записи (и маски DQM) подаются с задержкой на один такт (write latency). Значение CAS Latency может быть и дробным (CL = 2, 2,5, 3).

В перспективе ожидается появление микросхемы DDR-II SDRAM, в которой обмен будет на четырехкратной частоте синхронизации.

Перед «штатным» использованием микросхем SDRAM их требуется инициализировать. После подачи питания и установления синхросигнала должен быть выполнен предварительный заряд всех банков, после чего запрограммирован регистр режима. Параметр CL (CAS Latency) выбирают, исходя из спецификации микросхем и тактовой частоты так, чтобы задержка, обусловленная CL, была бы минимальной, но не меньше TCAC. В DDR SDRAM возможны и дробные значения CL, так что настройка может быть более тонкой. В DDR SDRAM из-за необходимости настройки DLL программирование сложнее.

По причине существенного отличия интерфейса от традиционной асинхронной памяти микросхемы SDRAM не могут быть установлены в модули SIMM; они применяются в DIMM или устанавливаются прямо на системную (или графическую) плату. Интерфейс DDR SDRAM сильно отличается и от обычных микросхем SDRAM. Возможность использования этих типов памяти определяется чипсетом системной платы. Память SDRAM в конце 90-х годов стала самой распространенной, поддержка DDR SDRAM появилась лишь сравнительно недавно.

Оглавление книги


Генерация: 1.272. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз