145
используемые данные и команды. Время доступа к ней измеряется 1—2 наносекундами.
Конструктивно в корпусе процессора сложно разместить кэш большой емкости, поэтому используется кэш второго (и третьего) уровня. Время доступа к данным в этих областях памяти около 10 нс, но объем возрастает до 512 МБ. В современных процессорах кэш-память делится на кэш данных и кэш команд, связана с процессором двумя отдельными шинами, что позволяет считывать одновременно команду и два операнда. Конструктивно кэш представляется в виде микросхем статической памяти
(SRAM).
Следующей уровень — оперативная память компьютера — ОЗУ. Объем ОЗУ от 8 кБ до 4 ГБ, а время доступа около 40 нс. Реализована оперативная память в виде банков динамических микросхем памяти (DRAM), смонтированных на платах различ-
ных типов: SDRAM, DDR SDRAM или RDRAM.
И, наконец, в самом низу иерархической лестницы памяти находятся накопители на магнитных или оптических дисках со скоростью чтения в десятки мегабайт в секунду. Объем накопителей от 120 МБ до 180 Гб, но рост максимального объема продолжается и на настоящее время удваивается каждый год.
5.2 Типы микросхем памяти
5.2.1 SRAM (статические микросхемы памяти)
Asynchronous SRAM (асинхронная статическая память).
Это кэш-память, которая используется в течение многих лет с тех пор, как появился первый 386-й компьютер с кэш-памятью второго уровня. Особенность этой кэш-памяти состоит в том, что обращение к ней производится быстрее, чем к DRAM: в зависимости от скорости используемого процессора, допускается применение варианта с 20, 15 или 10 нс на доступ. Очевидно, что чем меньше время обращения к данным, тем быстрее память и тем короче может быть пакетный доступ к ней. Тем не менее, как видно из названия, эта память является недостаточно быстрой для синхронного доступа, что означает, что для обращения CPU
146
все-таки требуется ожидание, хотя и меньшее, чем при использовании DRAM.
SyncBurst SRAM (синхронная пакетная статическая па-
мять). При частотах шины, не превышающих 66 МГц, синхронная пакетная SRAM является наиболее быстрой из существующих видов памяти. Причина этого в том, что, если CPU работает на не слишком большой частоте, синхронная пакетная SRAM может обеспечить полностью синхронную выдачу данных, что означает отсутствие задержки при пакетном чтении CPU 2-1-1-1, т.е. синхронная пакетная SRAM выдает данные в пакетном цикле 2-1-1-1. Когда частота CPU становится больше 66 МГц, синхронная пакетная SRAM не справляется с нагрузкой и выдает данные пакетами по 3-2-2-2, что существенно медленнее, чем при использовании конвейерной пакетной SRAM. К недостаткам относится и то, что синхронная пакетная SRAM производится меньшим числом компаний и поэтому стоит дороже. Синхронная пакетная SRAM имеет время доступа адрес/данные от 8.5 до 12 нс.
PB SRAM (Pipelined Burst SRAM — статическая память с блочным конвейерным доступом) — разновидность синхронных
SRAM с внутренней конвейеризацией, за счет которой примерно вдвое повышается скорость обмена блоками данных. Здесь конвейер — это распараллеливание операций SRAM с использованием входных и выходных регистров. Заполнение регистров требует дополнительного начального цикла, но, будучи однажды заполненными, регистры обеспечивают быстрый переход к следующему адресу за то время, пока по текущему адресу считываются данные.
Благодаря этому такая память является наиболее быстрой кэш-памятью для новых систем с производительностью шины более 75 МГц. PB SRAM может работать при частоте шины до 133 МГц. Она, кроме того, работает не намного медленнее, чем синхронная пакетная SRAM при использовании в медленных системах: она выдает данные пакетами по 3-1-1-1 все время. Насколько высока производительность этой памяти, можно видеть по времени доступа адрес/данные, которое составляет от 4.5 до
8 нс.
147
5.2.2 DRAM (динамические микросхемы памяти)
PM DRAM (Page Mode DRAM — динамическая память со страничным доступом)
FPM DRAM (Fast Page Mode DRAM — динамическая па-
мять с быстрым страничным доступом) активно использова-
лась в середине 90-х годов. Память со страничным доступом отличается от обычной динамической памяти тем, что после выбора строки матрицы и удержании RAS допускает многократную установку адреса столбца, стробируемого CAS, а также быструю регенерацию по схеме «CAS прежде RAS». Первое позволяет ускорить блочные передачи, когда весь блок данных или его часть находятся внутри одной строки матрицы, называемой в этой системе страницей, а второе — снизить накладные расходы на регенерацию памяти.
EDO (Extended Data Out — расширенное время удержания данных на выходе) фактически представляют собой обычные микросхемы FPM, на выходе которых установлены регистрызащелки данных. При страничном обмене такие микросхемы работают в режиме простого конвейера: удерживают на выходах данных содержимое последней выбранной ячейки, в то время как на их входы уже подается адрес следующей выбираемой ячейки. Это позволяет примерно на 15 % по сравнению с FPM ускорить процесс считывания последовательных массивов данных. При случайной адресации такая память ничем не отличается от обычной.
BEDO (Burst EDO — EDO с блочным доступом) — память на основе EDO, работающая не одиночными, а пакетными циклами чтения/записи. Современные процессоры, благодаря внутреннему и внешнему кэшированию команд и данных, обмениваются с основной памятью преимущественно блоками слов максимальной ширины. В случае памяти BEDO отпадает необходимость постоянной подачи последовательных адресов на входы микросхем с соблюдением необходимых временных задержек — достаточно стробировать переход к очередному слову отдельным сигналом.
SDRAM (Synchronous DRAM — синхронная динамическая память) — память с синхронным доступом, работающая быстрее обычной асинхронной памяти (FPM/EDO/BEDO). Помимо син-
148
хронного метода доступа, SDRAM использует внутреннее разделение массива памяти на два независимых банка, что позволяет совмещать выборку из одного банка с установкой адреса в другом банке. SDRAM также поддерживает блочный обмен. Основная выгода от использования SDRAM состоит в поддержке последовательного доступа в синхронном режиме, где не требуется дополнительных тактов ожидания. При случайном доступе SDRAM работает практически с той же скоростью, что и
FPM/EDO.
HSDRAM. В компании Enhanced Memory Systems разработа-
ны также интегральные схемы High Speed SDRAM (HSDRAM), имеющие время доступа в 35 нс, работоспособные на тактовой частоте более 133 МГц и похожие по архитектуре на обычные четырехбанковые SDRAM.
DDR SDRAM (Double Data Rate — удвоенная скорость передачи данных) — следующее поколение существующей SDRAM. DDR основана на тех же самых принципах, что и SDRAM, однако включает некоторые усовершенствования, позволяющие увеличить быстродействие. Основные отличия от стандартного
SDRAM:
•используется более совершенная синхронизация, отсутствующая в SDRAM;
•включен DLL (delay-locked loop — цикл с фиксированной задержкой) для выдачи сигнала DataStrobe, означающего доступность данных на выходных контактах. Используя один сигнал DataStrobe на каждые 16 выводов, контроллер может осуществлять доступ к данным более точно и синхронизировать входящие данные, поступающие из разных модулей, находящихся в одном банке. DDR фактически увеличивает скорость доступа вдвое, по сравнению с SDRAM, используя при этом ту же частоту. В результате, DDR позволяет читать данные по восходящему и падающему уровню таймера, выполняя два доступа за время одного обращения стандартной SDRAM. Таким образом, за один такт передаются сразу два пакета данных. В случае с используемой сегодня 64-бит шиной — это два 8-байтных пакета, 16 байт за такт. Или, в случае с той же 133 МГц шиной, уже не 1,064, а 2,128 Мбайт/с.
149
Дополнительно, DDR может работать на большей частоте благодаря замене сигналов TTL/LVTTL на SSTL3.
RDRAM. (Direct Rambus DRAM), разработана компанией
Rambus.
Direct Rambus DRAM — последовательная память, т.е. в каждый отдельно взятый момент времени шина памяти читает данные только из одной микросхемы RDRAM или записывает в нее (таких микросхем на одном канале памяти может быть до 32).
У RDRAM — узкая шина данных, всего 16 бит. Это позволяет упростить конструкцию модулей памяти, кроме того, появляется возможность повысить тактовую частоту.
Используется два канала передачи данных, которые работают и разводятся на системной плате независимо друг от друга. Выпускаемые на сегодня системные платы, работающие с RDRAM, оснащаются, как правило, четырьмя разъемами для модулей памяти (которые сокращенно называются RIMM-модулями и имеют по 184 контакта).
SLDRAM (Linked SDRAM). Этот тип устройств разрабатывается консорциумом крупнейших производителей модулей памяти —
SLDRAM Consortium (http://www.sldram.com/). При использова-
нии технологии SLDRAM не требуется обязательных отчислений фирмам-разработчикам, что делает ее весьма привлекательной для сторонних производителей. Считается, что применение SLDRAM экономически выгодно при объеме ОЗУ не менее 256 Мб. Этот тип памяти вобрал все прогрессивные технологии, заложенные в его предшественниках — SDRAM и DDR SDRAM. Еще большее повышение производительности достигается за счет распространения пакетного протокола передачи данных (Linked SDRAM) на сигналы управления. В SLDRAM адреса, команды, а также сигналы управления передаются в пакетном режиме по однонаправленной шине Command Link.
Одновременно с ними по другой, двунаправленной шине Data Link, и тоже в пакетном режиме, передаются данные, причем передача происходит на обоих фронтах тактовых импульсов, как и в случае с DDR SDRAM. Величина всего пакета данных может равняться целой странице (строке ядра). Поскольку пропускная способность обеих шин (команд и данных) одинакова,