o DRAM o FPM DRAM (Fast Page Mode) o EDO DRAM (Extended Data out) o BEDO DRAM (Burst EDO) o SDRAM (Synchronous DRAM) o DDR SDRAM (Double Data Rate SDRAM) o DDR2 SDRAM (Quad Data Rate SDRAM) o RDRAM (Rambus DRAM) Поскольку современные микропроцессоры стараются читать/писать в память сразу строки cache, то обычно используются burst cycles для доступа к памяти (т.е. последовательное чтение или запись из подряд идущих адресов. Время записывается в виде: Число_тактов_для_получения_первого_байта_в_пакете - Число_дополнительных_тактов_для_получения_второго_байта_в_пакете - Число_дополнительных_тактов_для_получения_третьего_байта_в_пакете - итд. Тип DRAM Sync/Async Timing Total Burst DRAM Async 5-5-5-5 20 FPM Async 5-3-3-3 14 EDO Async 5-2-2-2 11 BEDO Async 5-1-1-1 8 SDRAM Sync 5-1-1-1 8 DDR Sync 5-1/2-1/2-1/2 ~6.5 DDR2 Sync 5-1/4-1/4-1/4 ~5.75 RDRAM RamBus vary Состовляющие цикла в асинхронной памяти: Установка RAS - 2 Установка CAS - 2 Выборка данных - 1 ---------------- Cycle Clock Time Speed (ns) (MHz) ---------------- 60.0 16.67 15.0 66.67 10.0 100.00 7.5 133.33 6.0 166.67 5.0 200.00 3.8 266.67 3.0 333.33 2.5 400.00 1.9 533.33 ----------------
DRAM
DRAM - самая старая и медленная. Для доступа к каждому адрессу надо ставить RAS и CAS. Цикл 5-5-5-5 Как повысить быстродействие? Разбивают память на банки которым отдельно ставят RAS# и CAS#.
FPM
FPM (Fast Page Mode). Для доступа один раз ставится RAS, затем ставятся CAS Цикл 5-3-3-3 FPM-60ns 22MHz Начиная с FPM поддерживается CAS before RAS регенерация: (внутри микросхемы находится регистр который инкреминтируется при каждом refresh цикле).
и Hidden-Refresh: (RAS# дают еще раз при включенном CAS#).
EDO
EDO (Extended Data Out). Для доступа один раз ставится RAS, затем ставятся CAS В микросхеме стоят защелки на выходе, и DATA выводится во время когда уже запускают следующий CAS. Цикл 5-2-2-2 EDO-60ns 33MHz
BEDO
BEDO (Burst EDO) Один раз ставится RAS и CAS, а умная память выдает данные для последовательных банков подряд. Цикл 5-1-1-1
SDRAM
SDRAM (Synchronous DRAM) Имеет сигнал тактирования CLK Похожа на BEDO, но поскольку сигналы синхронизируются по CLK это позволяет поднять тактовую частоту. SDRAM работает на частоте 66MHz и выше. У SDRAM сигналы RAS#, CAS#, WE# используются также как команды: RAS# CAS# WE# 1 1 1 NOP 0 1 1 Activate bank 1 0 0 Write 1 0 1 Read 1 1 0 Burst Terminate 0 1 0 Precharge 0 0 1 Autorefresh 0 0 0 Load Mode Register SDRAM READ:
SDRAM WRITE:
SDRAM REFRESH:
SDRAM PRECHARGE:
SDRAM LOAD_MODE:
Архитектура SDRAM (include DDR and DDR2):
Как мы видем формируется набор COL для всех банков и данные одновременно выбираются в защелки откуда их уже и выбирают. Структура микросхемы SDRAM:
SDRAM 64bit modules PC66 533 MB/sec 10ns PC100 800 MB/sec 8ns PC133 1064 MB/sec 7.5ns
DDR
DDR (Double Data Rate) Данные выставляются не только по спаду CLK, но и по фронту. Для более тщательного управления на высоких частотах используется дополнительная линия BQ, которой управляет тот кто выставляет данные на шину, эта линия изменяется каждый раз когда выставляются данные. DDR использует DLL (Delay Locked Loops) для синхронизации данных.
DDR READ:
DDR WRITE:
DDR SDRAM 64 bit modules clk PC1600 100Mhz 1600MB/sec DDR200 PC2100 133Mhz 2133MB/sec DDR266 PC2400 150Mhz 2400MB/sec DDR300 PC2700 167Mhz 2666MB/sec DDR333 PC3000 183MHz 2933MB/sec DDR366 PC3200 200MHz 3200MB/sec DDR400 PC3600 222MHz 3555MB/sec DDR444 PC4000 250MHz 4000MB/sec DDR500 PC4300 267MHz 4266MB/sec DDR533 PC4400 DDR550 PCxxxx = (DDRyyy * 64bit) / 8 bus speed
DDR-II
DDR2 (Double Data Rate 2) Данные выдаются еще быстрее чем CLK/2. Линия BQ используется. Для задержек используются специальные схемы фазовой подстройки внутри памяти (DLL (Delay Locked Loops)) для синхронизации данных.
RAMBUS DRAM - это совершенно другая технология. Технология последовательной шины памяти на которой сидят модули которые в нужный момент выплевывают биты данных. RAMBUS
CTM (Clock to Master) CFM (Clock from Master) DQ (Data) CMD (Command) Шина RAMBUS работает с частотой до 400MHz. Пакет чтения:
DRDRAM Modules 64bit PC600 2x300MHz 1200 MB/sec PC700 2x356MHz 1424 MB/sec PC800 2x400MHz 1600 MB/sec Технология была не очень отработанная и в настоящее время в PC DRDRAM убита DDR и DDR-II, которые при той же или большей производительности существенно дешевле.
Registered DRAM Для повышения надежности использует регистры для адрессных и коммандных сигналов и PLL clock buffer для коррекции времен. ECC Содержит дополнительные биты данных которые используются для ECC коррекции Например если обычный модуль памяти имеет шину данных 64-бит то ЕСС имеет шину данных 72-бит. SEC - Single Error Correcting SECDED - Single Error correcting, Double Error detected Дистанция 4 ----------------------------------- Bits SEC SECDED ----------------------------------- 1 1 (100%) 3 (300%) 32 1 (3%) 7 (22%) 64 1 (1.6%) 8 (13%) N 1 (1/N) 1 + log2(N) ----------------------------------- Специальные дополнения