2.3.2. Синхронная динамическая память SDRAM

Синхронная динамическая память обеспечивает большее быстродействие, чем асинхронная, при использовании аналогичных элементов памяти. Это позволяет реализовать пакетный цикл типа 5-1-1-1 при частоте системной шины 100 МГц и выше. (При этом нужно заметить, что в синхронной памяти обозначение из четырех чисел, разделенных дефисами, стало применяться в ином смысле, о чем будет указано ниже).

Основные сигналы интерфейса SDRAM схожи с сигналами интерфейса асинхронной памяти. Главные их отличия сводятся к появлению ряда новых сигналов:

  1. У памяти SDRAM присутствует синхросигнал CLK, по переднему фронту которого производятся все переключения в микросхеме. Кроме этого сигнала имеется также сигнал CKE (Clock Enable), разрешающий работу микросхемы при высоком уровне, а при низком – переводящий ее в один из режимов энергосбережения.
  2. В интерфейсе SDRAM имеются сигналы выбора банка BS0 и BS1 (Bank Select), позволяющие адресовать конкретные обращения в один из четырех имеющихся в микросхемах SDRAM банков (массивов элементов) памяти.
  3. Присутствуют сигналы DQM маски линий данных, позволяющие блокировать запись данных в цикле записи или переключать шину данных в состояние высокого выходного сопротивления (z-состояние) при чтении.
  4. Имеет место специфическое использование одной из адресных линий (A10) в момент подачи сигнала CAS#. Значение сигнала на этой линии задает способ подзаряда строки банка.

Кроме того, SDRAM память сразу ориентирована на выполнение пакетных передач данных, причем длина пакета задается при инициализации микросхем памяти.

Временные диаграммы простых пакетных циклов чтения и записи приведены на рис. 18 и 19.

Draw_18: SDRAM_RD_timingds

Draw_18: SDRAM_WR_timingds

Назначение основных сигналов приведено в таблице 1. Длина пакетов в SDRAM программируется, и на диаграммах показаны операции для пакетов длиной 4 цикла (32 байта). Временные параметры, указанные на диаграммах, имеют следующий смысл:

Важно также учитывать, что различные микросхемы памяти могут иметь разные значения перечисленных параметров. Важными параметрами, влияющими на производительность памяти, являются параметры tCK, tRCD и tRP. Значения этих времен для обычной памяти SDRAM составляют 2 или 3 такта синхроимпульсов и непосредственно определяют длительность основных операций памяти. Очевидно, что память, у которой все эти три параметра имеют значение 2, при пакетных циклах по 4 передачи потребует 10 тактов на полный пакет (tRCD + tCK + 4 такта передачи + tRP), а в случае равенства этих параметров 3 потребуется 13 тактов. Время tRP нужно учитывать с определенными оговорками, например, при обращении к разным строкам одного банка.

Приведенные на рис. 18 и 19 диаграммы внешне аналогичны диаграммам асинхронной памяти в режиме BEDO. Действительно, в обоих случаях имеет место пакетный режим. Выигрыш в производительности SDRAM достигается за счет более гибкого управления процессами чтения и записи, возможности задания параметров и лучших алгоритмов работы контроллера памяти.

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

Во-вторых, микросхемы SDRAM имеют внутреннюю мультибанковую организацию (на рисунке приведена структура именно такой микросхемы). Это позволяет применять приемы, повышающие пропускную способность памяти. В частности, можно прибегнуть к чередованию, или расслоению, (interleave) адресов, обсуждавшемуся в п. 1.2. Кроме того, оказывается возможным в ряде случаев так спланировать порядок обработки обращений к памяти, чтобы уменьшить их времена. Однако это не совсем простая задача, так как необходимо учитывать временные ограничения на различные сочетания следующих друг за другом операций, длину пакетных циклов, особенности выполнения подзаряда. Поэтому чипсеты различных производителей обеспечивают разную пропускную способность памяти. Лучше всего решение этой задачи для ПЭВМ удается фирме Intel.

Действительно, в общем случае процедура записи или чтения в SDRAM памяти выполняется в три этапа:
а) Сначала при подаче сигнала RAS# происходит выбор нужной строки, или в терминах, принятых для этой памяти, выполняется команда активации банка.
б) Затем выполняются требуемые операции записи или чтения и передачи данных.
в) После записи или чтения строку, к которой выполнялось обращение, надо закрыть (выполнить подзаряд банка), иначе нельзя будет обратиться к новой строке этого же банка (вновь его активировать).

Именно за счет первого и последнего этапов и можно добиться ускорения работы памяти. Если очередное обращение к данному банку будет адресоваться к той же строке, то ее можно не закрывать, что позволит не выполнять заново команду активации банка.

В таблице 1 перечислены сигналы микросхемы SDRAM, а ниже – выполняемые ею команды (функции).

      Таблица 1
Сигнал Тип Полярность Функция
 CLK  Вход Положит.
Фронт
Вход синхронизации системы. Все входы SDRAM срабатывают по положительному фронту CLK
 CKE  Вход Активный уровень – высокий Активирует сигнал CLK высоким уровнем и отключает – низким. Отключение CLK низким уровнем CKE инициирует режимы энергосбережения и саморегенерации
CS#  Вход Активный – низкий Низкий уровень включает дешифратор команд, высокий – выключает. Когда дешифратор команд выключен, новые команды игнорируются и продолжается предыдущая операция
RAS#, CAS#,
WE#
 Вход Активный – низкий Состояние RAS, CAS и WE на положительном фронте CLK определяет операцию, которую будет выполнять SDRAM
BS0,
BS1
 Вход   Выбирает банк, который должен быть активным
A0 – A11  Вход   Во время цикла команды активации банка по переднему фронту CLK определяют адрес строки (RA0 – RA11)
Во время цикла команды чтения или записи по переднему фронту CLK A0 – A9 и A11 определяют адрес строки (CA0 – CA9 и CA11).
A10 используется для задания операции автоподзаряда в конце пакетного цикла чтения или записи. При высоком уровне A10 задан автоподзаряд, а BS0 и BS1 определяют банк для подзаряда. При низком уровне A10 подзаряд отключен.
В цикле подзаряда A10 в сочетании с BS0 и BS1 задает банк(и), в котором выполняется подзаряд. При высоком уровне A10 подзаряд выполняется во всех банках, независимо от состояния BS0 и BS1. При низком уровне A10 банк для подзаряда определяется BS0 и BS1.
DQ0 – DQ15 Вход/Выход   Входы/выходы данных работают так же, как в обычной динамической памяти
DQM LDQM UDQM  Вход Активный уровень – высокий Маска ввода/вывода данных переводит буферы линий DQ в третье состояние высоким уровнем. В 16-разрядных модулях LDQM и UDQM управляют буферами ввода/вывода младшего и старшего байтов соответственно.
В режиме чтения маска DQM имеет задержку в два цикла и управляет выходными буферами как сигнал “Разрешение выхода”. Низкий уровень DQM включает выходные буферы, а высокий – отключает.
В режиме записи DQM имеет нулевую задержку и действует, как маска слова, разрешая запись входных данных низким уровнем и блокируя ее высоким уровнем DQM.
VDD,
VSS
 Вход   Питание и земля для входных буферов и логических схем ядра
V DDQ,
VSSQ
 Вход   Отдельные изолированные шины питания и земли для выходных буферов, обеспечивающие улучшенную помехоустойчивость к шумам

Команды, выполняемые микросхемой (DDR) SDRAM:

- установка регистра режимов
- авторегенерация (CBR)
- вход в режим саморегенерации
- выход из режима саморегенерации
- подзаряд одного банка
- подзаряд всех банков
- активация банка
- запись
- запись с автоподзарядом
- чтение
- чтение с автоподзарядом
- завершение пакета
- нет операции
- снятие выборки устройства
- вход в режим приостановки синхронизации
- выход из режима приостановки синхронизации
- запись/включение выхода
- маска/выключение выхода
- вход в режим пониженного энергопотребления
- выход из режима пониженного энергопотребления

Все выполняемые команды определяются состоянием сигналов CS#, WE#, RAS#, CAS# и DQM по положительному фронту сигнала синхронизации.

Основные временные характеристики синхронной динамической памяти стали обозначать частотой синхронизации в мегагерцах, которой предшествовали символы PC – PC100, PC133, PC167, и тремя числами, разделяемыми дефисами, например, 2-2-2 или 3-2-2 (их обычно называют таймингами).

Три числа означают, соответственно, выраженные в количестве циклов синхронизации минимальные времена 1) между сигналами RAS# и CAS#, т.е. время tRCD, 2) от задержки появления данных после подачи сигнала CAS# , т.е. время tCK (CAS Latenсy), 3) необходимое на предзаряд строки, т.е. время tRP.

[ Назад  Начало раздела  Далее  Содержание]