Синхронизации памяти. Работа памяти.
Руководство
для начинающих. Часть 4.
Продолжение, начало в №№14-15 1999г, №1 2000г.
Синхронизация,
вероятно, наиболее интерес-ная и наиболее трудная для понимания
опе-рация памяти. Для тех, кто желает получить полную характеристику
своей системы, обязательно понимание различных видов синхронизации.
Сегодня
почти во всех системах SRAM кэш, и пользователь имеет небольшой
выбор используемых кристаллов и параметров настройки контроллера.
По этой причине, в этой статье не будет детально рассматриваться
синхронизация SRAM, а внимание сосредоточится на разновидностях
DRAM.
Синхронизирующие
сигналы
Для сохранения
и восстановления данных внутри кристалла памяти происходит несколько
действий. Некоторые из этих действий могут происходить одновременно,
а другие зависят от завершения предыдущей операции. Каждое из
этих действий занимает конечное время, обычно измеряемое в наносекундах.
Количество
времени, необходимое для завершения одной операции и начала другой,
называют периодом "латентности". Хотя имеются также другие ситуации,
где этот термин используется, имейте в виду, что латентность обычно
скорее указывает на заданную задержку до начала действия, чем
на описание отдельной операции.
Изготовители
издают спецификации работы кристаллов памяти, в которых указывают
количество времени для всех действий и почти всегда включают диаграмму
"формы волны", чтобы показать зависимости. Если кристалл имеет
больше чем один способ чтения или записи данных, будет диаграмма
для каждого способа. От модульного метода, осуществленного проектировщиком,
и вида выполняемой операции зависит, какая диаграмма будет применяться
к данному модулю.
Виды синхронизирующих
сигналов.
Чтобы квалифицированно
читать диаграммы синхронизации, необходимо понимание различных
сигналов. Большинство этих сигналов выполняет одинаковую функцию
в кристаллах SRAM и DRAM, хотя есть и специфичные для каждого
проекта. Сигнал считается "высоким", когда приложено высокое напряжение,
и "низким", когда применяется низкое напряжение.
Описание
наиболее важных сигналов.
Address
- адресные строки используются, чтобы выбрать отдельную ячейку.
Кристаллы DRAM имеют меньшее число адресных строк, чем пакет кристаллов
SRAM (большее количество контактов означает больший пакет, который
означает более высокую стоимость). SRAM вообще принимает, и строку,
и адрес столбца одновременно, в то время как DRAM примет сначала
адрес строки, сопровождаемый позже адресом столбца. По этой причине
кристаллы SRAM имеют меньшую латентность
Row Address
Strobe (/RAS) - сигнал асинхронных кристаллов DRAM, и используется,
чтобы запереть адресуемую строку и инициализировать цикл памяти.
Когда /RAS низок он считается "активным". Для начала нового цикла
строка /RAS должна быть неактивной в течение определенного периода
времени, названного временем дозарядки (tRP).
Column
Address Strobe (/CAS) - сигнал асинхронных кристаллов DRAM,
и используется, чтобы запереть адресуемый столбец и инициализировать
операции чтения или записи (то есть, фактическое чтение или запись
ячейки запоминающего устройства). Прежде, чем возможно обращение
к новому столбцу, проходит определенное время, названное временем
дозарядки столбца (tCP), чтобы строка /CAS стала неактивной.
Write Enable
(/WE) - сигнал общий для SRAM и асинхронной DRAM, и используется,
чтобы выбрать между операцией чтения и операцией записи. Когда
сигнал низкий, определена операция записи, когда высокий - операция
чтения.
Output
Enable (/OE) - сигнал общий для SRAM и асинхронной DRAM. Этот
сигнал используется в течение операции чтения, чтобы данные не
появились на выводе до соответствующего времени. Игнорируется
для операций записи.
Data Inputs
and Outputs (DQ) - контакты ввода-вывода, на которых появляются
входные данные (для операции записи) или выходные (для операции
чтения). "1", если сигнал будет высок, и "0" если низок. Для операции
чтения, данные появляются только, когда Output Enable (/OE) сигнал
активен (если кристалл - управляется /OE)
Clock (CLK)
- сигнал только для синхронных частей (SRAM и DRAM), и сопровождает
появление входных или выходных сигналов на контактах вывода.
Command
- сигнал синхронной DRAM, и используется, чтобы заменить функции
/RAS, /CAS и /WE. Команда ACTIVE - эквивалент установки /RAS низким,
а PRECHARGE аналогичен для установки /RAS высоким. Команда READ
- эквивалент установки /CAS низким, а /WE - высоким, в то время
как WRITE подобна набору /CAS и /WE низких.
DQM
- сигнал SDRAM - эквивалент /OE для асинхронного устройства.
Bank Activate
(BA0, BA1) - сигнал SDRAM. Определяет банк памяти, к которому
обращаются. В большинстве случаев, сигнал устанавливается в течение
определенного периода времени прежде, чем рассматривается "устойчивым".
Этот период назван временем подготовки к работе. После того, как
сигнал стабилизировался, обычно проходит еще один период времени,
за который, собственно, его значение гарантированно читается,
и назван "временем останова". Времена установки и останова обычно
указываются в диаграммах, и значения даются для них как часть
параметров синхронизации.
Все
это вместе дает ряд диаграмм синхронизации для операций чтения
с некоторыми пояснениями. Заметьте, что каждый изготовитель будет
иметь спецификацию для своей памяти, и может иметь несколько диаграмм
синхронизации для каждого типа операции. Примеры, приведенные
здесь, не исчерпывающие, и представлены просто для иллюстративных
целей. Используя реальные временные диаграммы, Вы сможете загрузить
спецификацию конкретных кристаллов памяти Вашего модуля для получения
законченной картины синхронизации.
Диаграмма
синхронизации EDO
Ниже представлена
диаграмма компании Micron Technology для их 4Meg x 4 EDO DRAM.
Заметьте, что в спецификации даны значения не только для диаграммы
синхронизации непосредственно, но также и для каждой синхронизации.
Это - "гарантируемые" времена синхронизации, хотя отдельные кристаллы
могут фактически работать быстрее, чем обозначено.

Содержание
Диаграммы синхронизации EDO
Чтобы начать
цикл чтения, адрес строки помещается на адресных строках (ADDR),
а затем /RAS становится низким. Однако, прежде чем /RAS станет
низким, адрес должен примениться к строке АДРЕСА в течение минимального
времени tASR, чтобы позволить сигналу стабилизироваться, и должно
пройти время tRAH после того, как /RAS стал низким, чтобы стабилизировался
/RAS. Поскольку это - чтение Постраничного режима, /RAS будет
низким для всей операции (tRASP).
Затем
/WE становится высоким, чтобы указать, что выбирается операция
чтения. Это происходит в течение времени tRCS (установка команды
чтения) прежде, чем /CAS становится низким. На следующем этапе,
после точно определенного периода времени, когда /RAS низкий (tRAD,
должно быть больше чем tRAH), адрес столбца применяется к строкам
АДРЕСА и проходит время (tASC), пока сигнал не стабилизируется.
После того, как /CAS стал низким, адрес должен ожидать время (tCAH)
пока /CAS стабилизируется.
TIMING PARAMETERS
SYMBOL
|
-5
|
-4
|
UNITS
|
MIN
|
MAX
|
MIN
|
MAX
|
tAA
|
|
25
|
|
30
|
ns
|
tACH
|
12
|
|
15
|
|
ns
|
tAH
|
38
|
|
45
|
|
ns
|
tASC
|
0
|
|
0
|
|
ns
|
tASH
|
0
|
|
0
|
|
ns
|
tCAC
|
|
13
|
|
15
|
ns
|
tCAH
|
8
|
|
10
|
|
ns
|
tCAS
|
8
|
10000
|
10
|
10000
|
ns
|
tCLZ
|
0
|
|
0
|
|
ns
|
tCOH
|
3
|
|
3
|
|
ns
|
tCP
|
8
|
|
10
|
|
ns
|
tCPA
|
|
28
|
|
35
|
ns
|
tCPR
|
5
|
|
5
|
|
ns
|
tCSH
|
38
|
|
45
|
|
ns
|
tOO
|
0
|
12
|
0
|
15
|
ns
|
tOE
|
|
12
|
|
15
|
ns
|
SYMBOL
|
-5
|
-4
|
UNITS
|
MIN
|
MAX
|
MIN
|
MAX
|
tCEHC
|
5
|
|
10
|
|
ns
|
tCEP
|
5
|
|
5
|
|
ns
|
tCES
|
4
|
|
5
|
|
ns
|
tOFF
|
0
|
12
|
0
|
15
|
ns
|
tPC
|
20
|
|
25
|
|
ns
|
tRAC
|
|
50
|
|
60
|
ns
|
tRAD
|
9
|
|
12
|
|
ns
|
tRAH
|
9
|
|
10
|
|
ns
|
tHASP
|
50
|
125000
|
60
|
125000
|
ns
|
tRCD
|
11
|
|
14
|
|
ns
|
tRCH
|
0
|
|
0
|
|
ns
|
tRCS
|
0
|
|
0
|
|
ns
|
tRP
|
30
|
|
40
|
|
ns
|
tRRH
|
0
|
|
0
|
|
ns
|
tRSH
|
13
|
|
15
|
|
ns
|
Период
времени между тем, когда /RAS и /CAS, становятся низкими, назван
задержкой RAS-to-CAS, или tRCD. Это - важный параметр синхронизации,
поскольку означает количество времени "потерянного" при установке
адреса столбца после того, как строка была сформирована, и определяет
начальный период латентности.
До помещения
данных на выводах /OE должен стать низким и держаться время tOE,
чтобы позволить данным появиться на строках DQ. Если выполняется
чтение постраничного режима, как показано в этих диаграммах, /CAS
должен теперь циклически становиться высоким, так чтобы можно
было запирать новый адрес столбца, и оставаться им в течение времени
tCP (дозарядка столбца).
Заметим,
что основная разность между FPM (ПАМЯТЬЮ С ЗАЩИТОЙ ФАЙЛОВ) и EDO
- то, что данные относительно строк вывода (DQ) являются все еще
допустимыми, даже если /CAS - высокий для EDO, но не для FPM.
Это, по существу, скрывает время дозарядки столбца у EDO, и позволяет
более быстрому столбцу продолжить цикл. Значение tCOH определяет,
когда вывод данных уже недопустим после того, как /CAS стал низким,
и что могут выводиться данные от следующего столбца.
Когда
цикл закончен, /RAS - изменяется на высокий в течение точно установленного
периода времени прежде, чем может начинаться новый цикл (tRP),
и буфер вывода выключен время (tOFF). Заметьте, что в этой диаграмме,
значение для tRASP определено как минимум 50ns (или 60ns, в зависимости
от части цикла) и максимум 125,000ns, потому что полная страница
может выводиться с использованием доступа постраничного режима,
при котором может быть до 2048 столбцов.
Есть
несколько синхронизаций, которые представляют интерес. Они включают
tAA (адресное время доступа), tRAC (время доступа строки), и tCAC
(время доступа столбца). Адресное время доступа важно при постраничном
режиме, потому что это - время от применения адреса столбца до
доступности данных. Время доступа строки важно, потому что это
- время, до первого (или единственного) доступа к данным. Время
доступа столбца - количество времени, необходимого для чтения
данных от усилителей (при низком /CAS) и размещения их строках
вывода.
Какова
действительна скорость операции во время страничного цикла (tPC),
показывает скорость, с которой данные становятся доступными после
первого обращения (в постраничном режиме). В этом примере, у -6
(60ns) продолжительность страничного цикла 25ns. Он является быстрым
и требует только два тактовых цикла на шине до 83MHz. Для -5 (50ns)
продолжительность страничного цикла - 20ns, которая имеет ту же
самую синхронизацию на 100MHz шине. Латентность составит 5 тактовых
циклов.
Диаграмма
синхронизации SDRAM
Следующая
диаграмма - также от Micron Technology - спецификация для их 64МБ
SDRAM. Заметьте, что не имеется никаких /CAS, /RAS, /WE или /OE
сигналов, поскольку они были заменены СИГНАЛАМИ DQM и COMMAND.
Как и в диаграмме синхронизации EDO, значения, представленные
в поле Timing Parameters, - "гарантируемые" времена синхронизации,
и определенные кристаллы могут фактически работать быстрее, чем
обозначено.

Содержание
Диаграммы синхронизации SDRAM
TIMING PARAMETERS
SYMBOL *
|
-75 (PC133)
|
-8E (PC100)
|
-10 (PC66)
|
UNITS
|
MIN
|
MAX
|
MIN
|
MAX
|
MIN
|
MAX
|
tAC (3)
|
|
5.4
|
|
6
|
|
7.5
|
ns
|
tAC (2)
|
|
6
|
|
6
|
|
9
|
ns
|
tAH
|
0.5
|
|
1
|
|
1
|
|
ns
|
tAS
|
1.5
|
|
2
|
|
2
|
|
ns
|
tCH
|
2.5
|
|
3
|
|
3
|
|
ns
|
tCL
|
2.5
|
|
3
|
|
3
|
|
ns
|
tCK (3)
|
7.5
|
|
8
|
|
10
|
|
ns
|
tCK (2)
|
10
|
|
10
|
|
15
|
|
ns
|
tCKM
|
0.8
|
|
1
|
|
1
|
|
ns
|
tCKS
|
1.5
|
|
2
|
|
2
|
|
ns
|
SYMBOL *
|
-75 (PC133)
|
-8E (PC100)
|
-10 (PC66)
|
UNITS
|
MIN
|
MAX
|
MIN
|
MAX
|
MIN
|
MAX
|
tCMH
|
0.8
|
|
1
|
|
1
|
|
ns
|
tCMS
|
1.5
|
|
2
|
|
2
|
|
ns
|
tHZ (3)
|
|
5.4
|
|
6
|
|
8
|
ns
|
tHZ (2)
|
|
7
|
|
7
|
|
10
|
ns
|
tLZ
|
1
|
|
1
|
|
2
|
|
ns
|
tCH
|
2.7
|
|
3
|
|
3
|
|
ns
|
tRAS
|
44
|
120 000
|
50
|
120 000
|
60
|
120 000
|
ns
|
tRC
|
66
|
|
70
|
|
90
|
|
ns
|
tRCD
|
20
|
|
20
|
|
30
|
|
ns
|
tRP
|
20
|
|
20
|
|
20
|
|
ns
|
KEY TIMING PARAMETERS
SPEED GRADE
|
CLOCK FREQUENCY
|
ACCESS TIME
|
SETUP TIME
|
HOLD TIME
|
CL=2**
|
CL=3**
|
-75
|
133MHz
|
-
|
5.4ns
|
1.5ns
|
0.8ns
|
-8E
|
125MHz
|
-
|
6ns
|
2ns
|
1ns
|
-10
|
100MHz
|
-
|
7ns
|
3ns
|
1ns
|
-75
|
100MHz
|
6ns
|
-
|
1.5ns
|
0.8ns
|
-8E
|
100MHz
|
6ns
|
-
|
2ns
|
1ns
|
-10
|
66MHz
|
9ns
|
-
|
3ns
|
1ns
|
В сигнальной
линии ГЕНЕРАТОРА СИНХРОНИЗАЦИИ (CLK) представлены синхросигналы
системы. Время обозначено tCK. Заметьте, что это - внешним образом
сгенерированная синхронизация кристалла SDRAM. Если время синхронизации
tCK быстрее, чем обозначено в диаграмме, другие синхронизации
не изменяются, пока нет ввода и вывода данных. Другими словами,
внутренние операции идут за то же количество времени, что и число
тактовых циклов, и оно может отличаться от обозначенного.
Для
чтения SDRAM, адреса помещены на адресных строках, и дана команда
ACTIVE. В то же самое время выбран банк (BA0 или BA1). Также,
как и в примере с EDO, адреса должны быть приложены точно установленное
время tAS (адресное время подготовки к работе перед очередным
тактовым циклом для стабилизации сигнала) и далее в течение времени
tAH после установления синхросигнала высоким (это указывает на
начало "цикла").
В следующем
тактовом цикле после точно определенного количества времени tRCD,
устанавливается команда READ, и адрес столбца запирается. В следующем
тактовом цикле после времени (tCAC) Латентности АВТОМАТИЗИРОВАННОЙ
СИСТЕМЫ (CAS Latency), данные появляются на выводе (DQ). При работе
в монопольном режиме, как показано в примере, следующий адрес
столбца генерируется внутренне и позволяет последовательно быстро
вывести нужные данные (со следующим тактовым циклом).
Выходной
сигнал должен быть активен в течение точно установленного периода
tOH, а затем установлен недопустимым на какое-то время перед следующим
выводом в режиме взрыва. Это называют "временем доступа" (tAC),
и оно является критическим параметром синхронизации для SDRAM.
Также, как и для всех других сигналов, сигнал DQ должен быть активным
определенное время, чтобы стабилизироваться, и это время точно
определен в диаграмме Ключ Параметров Синхронизации (Key Timing
Parameters).
Когда
режим взрыва закончен, может устанавливаться следующая команда
ACTIVE, и может быть начат следующий цикл чтения. Когда обращаются
к новой строке или банку, необходимо время (tRP) для "дозарядки"
строки.
Скорости
DRAM и Тактовые циклы
Хотя внутренние
действия DRAM измеряются в наносекундах, сама система работает
по тактам таймера системы. По этой причине, большинство синхронизаций
памяти, связанных с системой, даются в тактовых циклах. Например,
SDRAM использует тактовые циклы для Латентности CAS, tRCD и tRP
(то есть, 3-2-2). Также показательны продолжительности цикла чтения
типа 5-2-2-2 (для EDO) или 5-1-1-1 (для SDRAM). Эти числа - по
существу количество тактовых циклов, необходимых для получения
первых (начальная латентность) и последующих битов данных.
Когда
Вы сравниваете EDO с SDRAM, Вы должны обратить внимание, что начальный
период латентности не улучшился. Оба вида памяти имеют по крайней
мере 5 тактового цикла начального времени подготовки к работе,
вследствие того, что имеют одинаковое основное ядро. Как мы видели
по диаграммам синхронизаций EDO, с продолжительностью страничного
цикла около 20ns, необходимы по крайней мере два тактовых цикла
для каждого последовательного вывода данных, а режим взрыва SDRAM
позволяет вывод каждый цикл.
Отметим,
что все SDRAM действия происходят при изменении синхросигнала
от низкого до высокого. Если, например, после минимального времени
Латентности CAS истекает одна наносекунда, следующая операция
не начнется до следующего тактового цикла. Это видно в диаграмме
Ключ Параметров Синхронизации для каждой из показанных степеней
скорости. При увеличении тактовой частоты, Латентность CAS будет
от 2 до 3 циклов. Значение Латентности CAS по существу определено
tCAC, которое, к сожалению, не зафиксировано для SDRAM, так что
неизвестно точно, в какой точке Латентность CAS идет от 2 до 3
циклов.
Очевидно,
что когда тактовая частота системы увеличивается информация о
наличии точки, где характеристика памяти ухудшается, более необходима,
чем об улучшении. Точка, в которой это происходит, зависит от
конкретного кристалла. Например, память, которая имеет 2-2-2 синхронизацию
для 100MHz, может иметь 3-3-3 синхронизацию при 112MHz. Это увеличит
начальную латентность с 5 циклов до 6, означая, что вместо получения
первых данных за 50ns (5 x 10ns тактовых циклы), будет требоваться
54ns (6 x 9ns). Для 125MHz, период времени для 3-3-3 части синхронизации
сократился бы до 48ns, но стал бы не намного быстрее, чем у 100MHz
2-2-2 операции.
Конечно,
полностью это зависело бы от использования кэша (скорость, размер
и локализация) и не увеличилась бы в то же самое время скорость
процессора. Наиболее важная для синхронизации - значение tAC,
которое должно быть быстрее чем тактовая частота системы по крайней
мере на время подготовки к работе, плюс некоторая задержка при
распространении сигнала. Это - причина, по которой многие 100MHz
(10ns) SDRAM не удовлетворяют 100MHz шину. В случае PC(66) Micron,
как показано в диаграмме синхронизации выше, tAC - 9ns, которое
велико для 100MHz операции. Хотя отдельный кристалл может фактически
быть быстрее и работать надежно, не рассчитывайте на это.
В следующей
статье будут рассмотрены проблемы синхронизации между процессором
и подсистемой памяти, а также различные параметры настройки БАЗОВОЙ
СИСТЕМЫ ВВОДА-ВЫВОДА (BIOS), которые позволят пользователю, оптимизировать
синхронизацию памяти. Используя эту информацию можно достичь оптимальных
характеристик памяти для вашей системы.
По
вопросам приобретения любых видов памяти обращайтесь в компанию
"Компьютерный дом на Руставели".
Телефон: 210-44-00