DDR2 SDRAM
- 1 year ago
- 0
- 0
SDRAM ( англ. S ynchronous D ynamic R andom A ccess M emory — синхронная динамическая память с произвольным доступом) — тип запоминающего устройства , использующегося в компьютере и других цифровых устройствах в качестве ОЗУ .
В отличие от других типов DRAM, использовавших данными, ответ на поступивший в устройство управляющий сигнал возвращается не сразу, а лишь при получении следующего тактового сигнала . Тактовые сигналы позволяют организовать работу SDRAM в виде конечного автомата , исполняющего входящие команды. При этом входящие команды могут поступать в виде непрерывного потока, не дожидаясь, пока будет завершено выполнение предыдущих инструкций ( конвейерная обработка ): сразу после команды записи может поступить следующая команда, не ожидая, когда данные окажутся записаны. Поступление команды чтения приведёт к тому, что на выходе данные появятся спустя некоторое количество тактов — это время называется задержкой и является одной из важных характеристик данного типа устройств.
Циклы обновления выполняются сразу для целой строки, в отличие от предыдущих типов DRAM , обновлявших данные по внутреннему счётчику, используя способ обновления по команде CAS перед RAS.
Массовый выпуск SDRAM начался в 1997 году. Первоначально этот тип памяти предлагался в качестве альтернативы для дорогой видеопамяти ( VRAM ), однако вскоре SDRAM завоевал популярность и стал применяться в качестве ОЗУ, постепенно вытесняя другие типы динамической памяти. Последовавшие затем технологии DDR позволили сделать SDRAM ещё эффективнее. За разработкой DDR SDRAM последовали стандарты DDR2 SDRAM , DDR3 SDRAM , DDR4 SDRAM и DDR5 SDRAM .
Первый стандарт SDRAM с появлением последующих стандартов стал именоваться SDR (Single Data Rate — в отличие от Double Data Rate). За один такт принималась одна управляющая команда и передавалось одно слово данных. Типичными тактовыми частотами были 66, 100 и 133 МГц. Микросхемы SDRAM выпускались с шинами данных различной ширины (обычно 4, 8 или 16 бит), но как правило, эти микросхемы входили в состав 168-контактного модуля DIMM , который позволял прочитать или записать 64 бита (в варианте без контроля чётности ) или 72 бита (с контролем чётности) за один такт.
Использование шины данных в SDRAM оказалось осложнено задержкой в 2 или 3 такта между подачей сигнала чтения и появлением данных на шине данных, тогда как во время записи никакой задержки быть не должно. Потребовалась разработка достаточно сложного контроллера, который не позволял бы использовать шину данных для записи и для чтения в один и тот же момент времени.
Команды, управляющие модулем памяти SDR SDRAM, подаются на контакты модуля по 7 сигнальным линиям. По одной из них подается тактовый сигнал, передние (нарастающие) фронты которого задают моменты времени, в которые считываются команды управления с остальных 6 командных линий. Имена (в скобках — расшифровки имен) шести командных линий и описания команд приведены ниже:
Устройства SDRAM внутренне разделены на 2 или 4 независимых банка памяти. Входы адреса первого и второго банка памяти (BA0 и BA1) определяют, какому банку предназначена текущая команда.
Принимаются следующие команды:
/CS | /RAS | /CAS | /WE | BA n | A10 | A n | Команда |
---|---|---|---|---|---|---|---|
В | x | x | x | x | x | x | задержка команды (нет операции) |
Н | В | В | В | x | x | x | нет операции |
Н | В | В | Н | x | x | x | остановить текущую операцию пакетного чтения или записи. |
Н | В | Н | В | № банка | Н | № столбца | считать пакет данных из активного в данный момент ряда. |
Н | В | Н | В | № банка | В | № столбца | как и предыдущая команда, а по завершении команды регенерировать и закрыть этот ряд. |
Н | В | Н | Н | № банка | Н | № столбца | записать пакет данных в активный в данный момент ряд. |
Н | В | Н | Н | № банка | В | № столбца | как и предыдущая команда, а по завершении команды регенерировать и закрыть этот ряд. |
Н | Н | В | В | № банка | № ряда | открыть ряд для операций записи и чтения. | |
Н | Н | В | Н | № банка | Н | x | деактивировать текущий ряд выбранного банка. |
Н | Н | В | Н | x | В | x | деактивировать текущий ряд всех банков. |
Н | Н | Н | В | x | x | x | регенерировать по одному ряду каждого из банков, используя внутренний счётчик. Все банки должны быть деактивированы. |
Н | Н | Н | Н | 0 0 | РЕЖИМ | с линий A0—A9 загрузить в микросхему параметры конфигурирования. Наиболее важные — CAS latency (2 или 3 такта) и длина пакета (1, 2, 4 или 8 тактов) |