Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доп_материалы_Вычислительные_системы.doc
Скачиваний:
21
Добавлен:
23.08.2019
Размер:
3.82 Mб
Скачать

2. Чтение/запись данных

Активизация строки памяти сама по себе требует определенного времени. В связи с этим, следующие после ACTIVATE команды чтения READ или записи WRITE данных не могут быть поданы на следующем такте шины памяти, необходим определенный временной интервал, называемый "задержкой между подачей адреса строки и столбца" (RAS#-to-CAS# Delay или tRCD).

По истечении интервала tRCD, для чтения данных в микросхему памяти подается команда READ вместе с номером банка и адресом столбца. Адрес столбца подается на адресные линии микросхемы памяти вместе с подачей строб-сигнала CAS#, помещающего адрес в буфер (защелки) адреса столбца. Сигнал CAS# служит также сигналом вывода данных, по мере его стабилизации усилитель уровня отправляет выбранные (т.е. соответствующие адресу столбца) данные в буфер вывода шины.

В пакетном режиме подача одной команды READ (WRITE) приведет к считыванию из ячеек (или записыванию в ячейки) не одного, а сразу нескольких подряд расположенных слов данных.

После подачи команды READ, первая порция данных оказывается доступной не сразу, а с задержкой в несколько тактов шины памяти, в течение которой данные, считанные из усилителя уровня, синхронизируются и передаются на внешние выводы микросхемы. Задержка между подачей команды чтения и фактическим появлением данных на шине считается наиболее важной и называется "задержкой сигнала CAS#" (CAS# Latency или tCL). Последующие порции данных (в соответствии с длиной передаваемого пакета) оказываются доступными без каких-либо дополнительных задержек, на каждом последующем такте шины памяти (по 1 машинному слову за такт для памяти SDR SDRAM, по 2 элемента в случае устройств DDR/DDR2 SDRAM).

 

3. Подзарядка строки

Цикл чтения/записи данных в строки памяти завершается закрытием открытой строки банка с помощью команды подзарядки строки - PRECHARGE. Последующий доступ к этому банку микросхемы становится возможным не сразу, а по прошествии интервала времени, называемого "временем подзарядки строки" (Row Precharge Time, tRP). За этот период времени сигналы CAS# и RAS# последовательно дезактивируются, а данные из усилителя уровня возвращаются обратно в массив ячеек строки памяти, восстанавливая его прежнее значение.

 

Соотношения между таймингами

В общем виде, для считывания данных из памяти, необходимо осуществить следующие операции:

1) активизировать строку в банке памяти с помощью команды ACTIVATE;

2) подать команду чтения данных READ;

3) считать данные, поступающие на внешнюю шину данных микросхемы;

4) закрыть строку с помощью команды подзарядки строки PRECHARGE.

Временной промежуток между первой и второй операцией составляет "задержку между RAS# и CAS# " (tRCD), между второй и третьей - "задержку CAS# " (tCL).

Промежуток времени между третьей и четвертой операциями зависит от длины передаваемого пакета. В тактах шины памяти он равен длине передаваемого пакета (2, 4 или 8), поделенного на количество слов данных, передаваемых по внешней шине за один её такт - 1 для устройств типа SDR, 2-для устройств типа DDR. Условно назовем эту величину "tBL".

Промежуток времени между четвертой операцией и последующим повтором первой операции цикла составляет "время подзарядки строки" (tRP).

Минимальному времени активности строки (от подачи команды ACTIVATE до подачи команды PRECHARGE, tRAS), отвечает промежуток времени между началом первой и началом четвертой операции.

 

 

Отсюда вытекает первое важное соотношение между таймингами памяти:

tRAS, min = tRCD + tCL + (tBL - (tCL - 1)) - 1,

где tRCD — время выполнения первой операции, tCL — второй, (tBL - (tCL - 1)) - третьей, наконец, вычитание единицы производится вследствие того, что период tRAS не включает в себя такт, на котором осуществляется подача команды PRECHARGE. Сокращая это выражение, получаем:

tRAS, min = tRCD + tBL.

 Большинство контроллеров памяти не позволяют установить значение tRAS < 5, поэтому для памяти типа DDR с величинами задержек (tCL-tRCD-tRP) 2-2-2 следует настроить подсистему памяти таким образом, чтобы длина передаваемого пакета была максимальной (BL = 8), а величина tRAS принимала значение, равное 6.

В качестве примера рассмотрим минимальную длину пакета BL = 2, для памяти типа DDR для передачи этого пакета данных необходимо затратить 1 такт работы шины памяти. Таким образом, минимальное значение tRAS=2+1=3. Столь малое значение tRAS не может быть выставлено контроллером памяти (3 < 5). Передача более длинных пакетов, состоящих из 4 элементов (BL = 4, tBL = 2), увеличивает tRAS до 4 тактов, что также недостаточно. Наконец, для передачи максимального по длине 8-элементного пакета (BL = 8, tBL = 4) требуемое минимальное значение tRAS составляет 6 тактов, что можно признать приемлемым. Альтернативный вариант настройки задержек- BL = 4, tRAS = 5.

Второе важное соотношение между таймингами вытекает из того, что полный цикл пакетного чтения данных - от 1-й стадии до ее повторения — именуется собственно "минимальным временем цикла строки", tRC. Поскольку первые три стадии, как мы показали выше, не могут занимать время, меньшее tRAS, а последняя занимает время, строго равное tRP, получаем: tRC = tRAS + tRP.

 

 

Схемы таймингов

Как отмечалось ранее, четыре важнейших параметра таймингов памяти, записанных в последовательности tCL-tRCD-tRP-tRAS, называют "схемой таймингов". Такие схемы можно встретить в спецификациях на модули оперативной памяти. Например, 2-2-2-5 или 2.5-3-3-7 характерны для памяти типа DDR, а 3-3-3-9, 4-4-4-12 и 5-5-5-15 принимают для памяти типа DDR2. Надо учитывать, что латентность измеряется в тактах, поэтому временные задержки срабатывания оперативной памяти, выраженные в наносекундах, зависят от частоты системной шины. Как следствие этого, память DDR2 c таймингом 4-4-4-12 будет соответствовать памяти DDR с таймингом 2-2-2-6.

Тип

памяти

Частота шины данных, МГц

Эффективная частота, МГц

Частота микросхем

Тайминги, такты частоты

Длительность, мкс

tCL

tRCD

tRP

tRAS

tRC

tRAS

tRC

DDR

133

266

133

2

2

2

6

 

45,0

 

DDR

166

333

166

2,5

3

3

7

10

42,0

60,0

DDR

200

400

200

3

3

3

8

11

40,0

55,0

DDR2

266

533

133

4

4

4

12

16

45,0

60,0

DDR2

333

667

166

5

5

5

15

21

45,0

63,0

DDR2

400

800

200

5

5

5

18

23

45,0

57,5

DDR3

533

1066

133

7

7

7

20

27

37,5

50,6

DDR3

667

1333

166

9

9

9

 

 

 

 

DDR3

800

1600

200

10

10

10