Из микросхем памяти (RAM - Random Access
Memory, память с произвольным доступом) используется два основных типа:
статическая (SRAM - Static RAM) и динамическая (DRAM - Dynamic RAM).
В статической памяти элементы
(ячейки) построены на различных вариантах триггеров - схем с двумя устойчивыми
состояниями. После записи бита в такую ячейку она может пребывать в этом
состоянии столь угодно долго - необходимо только наличие питания. При обращении
к микросхеме статической памяти на нее подается полный адрес, который при помощи
внутреннего дешифратора преобразуется в сигналы выборки конкретных ячеек. Ячейки
статической памяти имеют малое время срабатывания (единицы-десятки наносекунд),
однако микросхемы на их основе имеют низкую удельную плотность данных (порядка
единиц Мбит на корпус) и высокое энергопотребление. Поэтому статическая память
используется в основном в качестве буферной (кэш-память).
В динамической памяти ячейки
построены на основе областей с накоплением зарядов, занимающих гораздо меньшую
площадь, нежели триггеры, и практически не потребляющих энергии при хранении.
При записи бита в такую ячейку в ней формируется электрический заряд, который
сохраняется в течение нескольких миллисекунд; для постоянного сохранения заряда
ячейки необходимо регенерировать - перезаписывать содержимое для восстановления
зарядов. Ячейки микросхем динамической памяти организованы в виде прямоугольной
(обычно - квадратной) матрицы; при обращении к микросхеме на ее входы вначале
подается адрес строки матрицы, сопровождаемый сигналом RAS (Row Address Strobe -
строб адреса строки), затем, через некоторое время - адрес столбца,
сопровождаемый сигналом CAS (Column Address Strobe - строб адреса столбца). При
каждом обращении к ячейке регенерируют все ячейки выбранной строки, поэтому для
полной регенерации матрицы достаточно перебрать адреса строк. Ячейки
динамической памяти имеют большее время срабатывания (десятки-сотни наносекунд),
но большую удельную плотность (порядка десятков Мбит на корпус) и меньшее
энергопотребление. Динамическая память используется в качестве основной.
Обычные виды SRAM и DRAM
называют также асинхронными - потому, что установка адреса, подача управляющих
сигналов и чтение/запись данных могут выполняться в произвольные моменты времени
- необходимо только соблюдение временнЫх соотношений между этими сигналами. В
эти временные соотношения включены так называемые охранные интервалы,
необходимые для стабилизации сигналов, которые не позволяют достичь теоретически
возможного быстродействия памяти. Существуют также синхронные виды памяти,
получающие внешний синхросигнал, к импульсам которого жестко привязаны моменты
подачи адресов и обмена данными; помимо экономии времени на охранных интервалах,
они позволяют более полно использовать внутреннюю конвейеризацию и блочный
доступ.
FPM DRAM (Fast Page Mode DRAM -
динамическая память с быстрым страничным доступом) активно используется в
последние несколько лет. Память со страничным доступом отличается от обычной
динамической памяти тем, что после выбора строки матрицы и удержании RAS
допускает многократную установку адреса столбца, стробируемого CAS, а также
быструю регенерацию по схеме "CAS прежде RAS". Первое позволяет ускорить блочные
передачи, когда весь блок данных или его часть находятся внутри одной строки
матрицы, называемой в этой системе страницей, а второе - снизить накладные
расходы на регенерацию памяти.
EDO (Extended Data Out -
расширенное время удержания данных на выходе) фактически представляют собой
обычные микросхемы FPM, на выходе которых установлены регистры-защелки данных.
При страничном обмене такие микросхемы работают в режиме простого конвейера:
удерживают на выходах данных содержимое последней выбранной ячейки, в то время
как на их входы уже подается адрес следующей выбираемой ячейки. Это позволяет
примерно на 15% по сравнению с FPM ускорить процесс считывания последовательных
массивов данных. При случайной адресации такая память ничем не отличается от
обычной.
BEDO (Burst EDO - EDO с блочным
доступом) - память на основе EDO, работающая не одиночными, а пакетными циклами
чтения/записи. Современные процессоры, благодаря внутреннему и внешнему
кэшированию команд и данных, обмениваются с основной памятью преимущественно
блоками слов максимальной ширины. В случае памяти BEDO отпадает необходимость
постоянной подачи последовательных адресов на входы микросхем с соблюдением
необходимых временных задержек - достаточно стробировать переход к очередному
слову отдельным сигналом.
SDRAM (Synchronous DRAM -
синхронная динамическая память) - память с синхронным доступом, работающая
быстрее обычной асинхронной (FPM/EDO/BEDO). Помимо синхронного метода доступа,
SDRAM использует внутреннее разделение массива памяти на два независимых банка,
что позволяет совмещать выборку из одного банка с установкой адреса в другом
банке. SDRAM также поддерживает блочный обмен. Основная выгода от использования
SDRAM состоит в поддержке последовательного доступа в синхронном режиме, где не
требуется дополнительных тактов ожидания. При случайном доступе SDRAM работает
практически с той же скоростью, что и FPM/EDO.
PB SRAM (Pipelined Burst SRAM -
статическая память с блочным конвейерным доступом) - разновидность синхронных
SRAM с внутренней конвейеризацией, за счет которой примерно вдвое повышается
скорость обмена блоками данных.
Микросхемы памяти имеют четыре
основные характеристики - тип, объем, структуру и время доступа. Тип обозначает
статическую или динамическую память, объем показывает общую емкость микросхемы,
а структура - количество ячеек памяти и разрядность каждой ячейки. Например,
28/32-выводные DIP-микросхемы SRAM имеют восьмиразрядную структуру (8k*8, 16k*8,
32k*8, 64k*8, 128k*8), и кэш для 486 объемом 256 кб будет состоять из восьми
микросхем 32k*8 или четырех микросхем 64k*8 (речь идет об области данных -
дополнительные микросхемы для хранения признаков (tag) могут иметь другую
структуру). Две микросхемы по 128k*8 поставить уже нельзя, так как нужна
32-разрядная шина данных, что могут дать только четыре параллельных микросхемы.
Распространенные PB SRAM в 100-выводных корпусах PQFP имеют 32-разрядную
структуру 32k*32 или 64k*32 и используются по две или по четыре в платах для
Pentuim.
Аналогично, 30-контактные SIMM
имеют 8-разрядную структуру и ставятся с процессорами 286, 386SX и 486SLC по
два, а с 386DX, 486DLC и обычными 486 - по четыре. 72-контактные SIMM имеют
32-разрядную структуру и могут ставиться с 486 по одному, а с Pentium и Pentium
Pro - по два. 168-контактные DIMM имеют 64-разрядную структуры и ставятся в
Pentium и Pentium Pro по одному. Установка модулей памяти или микросхем кэша в
количестве больше минимального позволяет некоторым платам ускорить работу с
ними, используя принцип расслоения (Interleave - чередование).
Время доступа характеризует
скорость работы микросхемы и обычно указывается в наносекундах через тире в
конце наименования. На более медленных динамических микросхемах могут
указываться только первые цифры (-7 вместо -70, -15 вместо -150), на более
быстрых статических "-15" или "-20" обозначают реальное время доступа к ячейке.
Часто на микросхемах указывается минимальное из всех возможных времен доступа -
например, распространена маркировка 70 нс EDO DRAM, как 50, или 60 нс - как 45,
хотя такой цикл достижим только в блочном режиме, а в одиночном режиме
микросхема по-прежнему срабатывает за 70 или 60 нс. Аналогичная ситуация имеет
место в маркировке PB SRAM: 6 нс вместо 12, и 7 - вместо 15. Микросхемы SDRAM
обычно маркируются временем доступа в блочном режиме (10 или 12 нс).
Ниже приведены примеры типовых
маркировок микросхем памяти; в обозначении обычно (но не всегда) присутствует
объем в килобитах и/или структура (разрядность адреса и данных).
Статические:
61256 -
32k*8 (256 кбит, 32 кб)
62512 - 64k*8 (512 кбит, 64 кб)
32C32 - 32k*32 (1 Мбит, 128 кб)
32C64 - 64k*32 (2 Мбит, 256 кб)
Динамические:
41256 -
256k*1 (256 кбит, 32 кб)
44256, 81C4256 - 256k*4 (1 Мбит, 128 кб)
411000, 81C1000 - 1M*1 (1 Мбит, 128 кб)
441000, 814400 - 1M*4 (4 Мбит, 512 кб)
41C4000 - 4M*4, (16 Мбит, 2 Мб)
MT4C16257 - 256k*16 (4 Мбит, 512 кб)
MT4LC16M4A7 - 16M*8 (128 Мбит, 16 Мб)
MT4LC2M8E7 - 2M*8 (16 Мбит, 2 Мб, EDO)
MT4C16270 - 256k*16 (4 Мбит, 512 кб, EDO)
Микросхемы EDO часто (но далеко не всегда) имеют в обозначении "некруглые"
числа: например, 53C400 - обычная DRAM, 53C408 - EDO DRAM. |