Типы оперативной памяти

Существует несколько распространенных видов модулей памяти, использующихся в современных компьютерах и компьютерах выпущенных несколько лет назад, но еще работающих в домах и офисах.
Для многих пользователей отличить их как по внешнему виду, так и по производительности - это большая проблема.
В этой статье мы рассмотрим основные особенности разных модулей памяти.

FPM

FPM (Fast Page Mode) - вид динамической памяти.
Его название соответствует принципу работы, так как модуль позволяет быстрее получать доступ к данным которые находятся на той же странице, что и данные, переданные во время предыдущего цикла.
Эти модули использовались на большинстве компьютеров с процессорами 486 и в ранних системах с процессорами Pentium, ориентировочно в 1995 году.

EDO

Модули EDO (Extended Data Out) появились в 1995 году как новый тип памяти для компьютеров с процессорами Pentium.
Это модифицированный вариант FPM.
В отличие от своих предшественников, EDO начинает выборку следующего блока памяти в то же время, когда отправляет предыдущий блок центральному процессору.

SDRAM

SDRAM (Synchronous DRAM) - вид памяти со случайным доступом, работающий на столько быстро, чтобы его можно было синхронизировать с частотой работы процессора, исключая режимы ожидания.
Микросхемы разделены на два блока ячеек так, чтобы во время обращения к биту в одном блоке шла подготовка к обращению к биту в другом блоке.

Если время обращения к первой порции информации составляло 60 нс, все последующие интервалы удалось сократить до 10 нс.
Начиная с 1996 года большинство чипсетов Intel стали поддерживать этот вид модулей памяти, сделав его очень популярным вплоть до 2001 года.

SDRAM может работать на частоте 133 МГц, что почти в три раза быстрее, чем FPM и в два раза быстрее EDO.
Большинство компьютеров с процессорами Pentium и Celeron, выпущенных в 1999 году использовали именно этот вид памяти.

DDR

DDR (Double Data Rate) стал развитием SDRAM.
Этот вид модулей памяти впервые появился на рынке в 2001 году.
Основное отличие между DDR и SDRAM заключается в том, что вместо удвоения тактовой частоты для ускорения работы, эти модули передают данные дважды за один такт.
Сейчас это основной стандарт памяти, но он уже начинает уступать свои позиции DDR2.

DDR2

DDR2 (Double Data Rate 2) - более новый вариант DDR, который теоретически должен быть в два раза более быстрым.
Впервые память DDR2 появилась в 2003 году, а чипсеты, поддерживающие ее - в середине 2004.

Эта память, также как DDR, передает два набора данных за такт.
Основное отличие DDR2 от DDR - способность работать на значительно большей тактовой частоте, благодаря усовершенствованиям в конструкции.
Но измененная схема работы, позволяющая добиться высоких тактовых частот, в то же время увеличивает задержки при работе с памятью.

DDR3

DDR3 SDRAM (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных, третье поколение) - это тип оперативной памяти, используемой в вычислительной технике в качестве оперативной и видео-памяти.
Пришла на смену памяти типа DDR2 SDRAM.

У DDR3 уменьшено на 40% потребление энергии по сравнению с модулями DDR2, что обусловлено пониженным (1,5 В, по сравнению с 1,8 В для DDR2 и 2,5 В для DDR) напряжением питания ячеек памяти.
Снижение напряжения питания достигается за счёт использования 90-нм (вначале, в дальнейшем 65-, 50-, 40-нм) техпроцесса при производстве микросхем и применения транзисторов с двойным затвором Dual-gate (что способствует снижению токов утечки).

Модули DIMM с памятью DDR3 механически не совместимы с такими же модулями памяти DDR2 (ключ расположен в другом месте), поэтому DDR2 не могут быть установлены в слоты под DDR3 (это сделано с целью предотвращения ошибочной установки одних модулей вместо других - эти типы памяти не совпадают по электрическим параметрам).

RAMBUS (RIMM)

RAMBUS (RIMM) - это вид памяти, который появился на рынке в 1999 году.
Он основан на традиционной DRAM, но с кардинально измененной архитектурой.
Дизайн RAMBUS делает обращение к памяти более «разумным», позволяя получать предварительный доступ к данным, немного разгружая центральный процессор.

Основная идея, использованная в этих модулях памяти, заключается в получении данных небольшими пакетами, но на очень высокой тактовой частоте.
Например, SDRAM может передавать 64 бит информации при частоте 100 МГц, а RAMBUS - 16 бит при частоте 800 МГц.
Эти модули не стали успешными, так как у Intel было много проблем с их внедрением.
Модули RDRAM появились в игровых консолях Sony Playstation 2 и Nintendo 64.


Перевод: Владимир Володин

Страница 2 из 4

Разновидности DRAM

Синхронное выполнение

Сейчас уже не актуально использовать 66-МГц шины памяти. Разработчики DRAM нашли возможность преодолеть этот рубеж и извлекли некоторые дополнительные преимущества путем осуществления синхронного интерфейса.

С асинхронным интерфейсом процессор должен ожидать, пока DRAM закончит выполнение своих внутренних операций, которые обычно занимают около 60 нс. С синхронным управлением DRAM происходит защелкивание информации от процессора под управлением системных часов. Триггеры запоминают адреса, сигналы управления и данных, что позволяет процессору выполнять другие задачи. После определенного количества циклов данные становятся доступны, и процессор может считывать их с выходных линий.

Другое преимущество синхронного интерфейса заключается в том, что системные часы задают только временные границы, необходимые DRAM. Это исключает необходимость наличия множества стробирующих импульсов. В результате упрощается ввод, т. к. контрольные сигналы адреса данных могут быть сохранены без участия процессора и временных задержек. Подобные преимущества также реализованы и в операциях вывода.

Типы высокоскоростной памяти

Всю память с произвольным доступом (RAM) можно разделить на два типа: DRAM (динамическая RAM) и SRAM (статическая RAM).

К первому поколению высокоскоростных DRAM главным образом относят EDO DRAM, SDRAM и RDRAM, а к следующему - ESDRAM, DDR SDRAM, Direct RDRAM, SLDRAM (ранее SynchLink DRAM) и т. д.

SDRAM

SDRAM способна работать на частоте, превышающей частоту работы EDO DRAM. В первой половине 1997 г. SDRAM занимала примерно 25% всего рынка DRAM. Как и предполагалось, к 1998 г. она стала наиболее популярной из существующих высокоскоростных технологий и занимала более 50% рынка памяти. Первоначально SDRAM работала на частоте от 66 до 100 МГц. Сейчас существует память, работающая на частотах от 125 до 143 МГц и даже выше.

Модуль SDRAM на 250Мбайт.

Enhanced SDRAM (ESDRAM)

Для преодоления некоторых проблем с задержкой сигнала, присущих стандартным DRAM-модулям, производители решили встроить небольшое количество SRAM в чип, т. е. создать на чипе кэш. Одним из таких решений, заслуживающих внимания, является ESDRAM от Ramtron International Corporation.

ESDRAM - это по существу SDRAM плюс немного SRAM. При малой задержке и пакетной работе достигается частота до 200 МГц. Как и в случае внешней кэш-памяти, DRAM-кэш предназначен для хранения наиболее часто используемых данных. Следовательно, уменьшается время доступа к данным медленной DRAM.

DDR SDRAM (SDRAM II)

DDR SDRAM (Double Date Rate SDRAM) является синхронной памятью, реализующей удвоенную скорость передачи данных по сравнению с обычной SDRAM. DDR SDRAM не имеет полной совместимости с SDRAM, хотя использует метод управления, как у SDRAM, и стандартный 168-контактный разъем DIMM.

Наклейка соответствия модуля спецификации SDRAM PC100.

DDR SDRAM достигает удвоенной пропускной способности за счет работы на обеих границах тактового сигнала (на подъеме и спаде), а SDRAM работает только на одной.

SLDRAM

Стандарт SLDRAM является открытым, т. е. не требует дополнительной платы за лицензию, дающую право на производство чипов, что позволяет снизить их стоимость. Подобно предыдущей технологии, SLDRAM использует обе границы тактового сигнала. Что касается интерфейса, то SLDRAM перенимает протокол, названный SynchLink Interface. Эта память стремится работать на частоте 400 МГц.

У всех предыдущих DRAM были разделены линии адреса, данных и управления, которые накладывают ограничения на скорость работы устройств. Для преодоления этого ограничения в некоторых технологических решениях все сигналы стали выполняться на одной шине. Двумя из таких решений являются технологии SLDRAM и DRDRAM. Они получили наибольшую популярность и заслуживают внимания.

Модуль памяти DRDRAM.

RDRAM (Rambus DRAM)

RDRAM представляет спецификацию, созданную Rambus, Inc. Частота работы памяти равна 400 МГц, но за счет использования обеих границ сигнала достигается частота, эквивалентная 800 МГц. Спецификация Rambus сейчас наиболее интересна, так что остановимся на ней подробнее.

Модули от Rambus, Inc.

Direct Rambus™ DRAM - это высокоскоростная динамическая память с произвольным доступом, разработанная Rambus, Inc. Она обеспечивает высокую пропускную способность по сравнению с большинством других DRAM. Direct Rambus DRAMs представляет интегрированную на системном уровне технологию.

Работа Direct RDRAMtm определяется требованиями подсистемы Direct Rambus. Для понимания деталей спецификации Direct Rambus DRAM необходимо понять подсистему памяти Rambus™ в целом.

Direct Rambus Memory System

Подсистема памяти Direct Rambus включает следующие компоненты:

  • Direct Rambus Controller
  • Direct Rambus Channel
  • Direct Rambus Connector
  • Direct Rambus RIMM(tm)
  • Direct Rambus DRAMs

Физические, электрические и логические части всех этих компонентов определены и специфицированы Rambus, Inc. Это требуется для совместимости и высокоскоростной работы подсистемы Direct Rambus.

Direct Rambus Controller

Контроллер Direct Rambus - это главная шина подсистемы памяти. Он помещается на чипе логики, таком, как PC-чипсет, микропроцессор, графический контроллер или ASIC. Физически можно поместить до четырех Direct Rambus-контроллеров на одном чипе логики. Контроллер представляет собой интерфейс между чипом логики и каналом Direct Rambus. В его обязанности входит генерирование запросов, управление потоком данных и еще ряд функций.

Direct Rambus-контроллер состоит из двух самостоятельных блоков: Rambus ASIC Cell (RAC) и Rambus Memory Controller (RMC).

Direct Rambus Channel

Direct Rambus Channel создает электрическое соединение между Rambus-контроллером и чипами Direct RDRAM. Работа канала основана на 30-ти сигналах, составляющих высокоскоростную шину. Эта шина работает на тактовой частоте 400 МГц и позволяет передавать данные на 800 МГц (данные передаются на обеих границах такта). Такая высокая частота достигается за счет использования некоторых технических приемов. Два канала данных (шириной в байт каждый) позволяют получить пиковую пропускную способность в 1,6 Гбайт/с.

Канал может быть выполнен на обычных системных платах и соответствует форм-фактору SDRAM.

Direct Rambus Connector

Разъем Direct Rambus представляет низкоиндуктивный интерфейс между каналом на модуле RIMM и каналом на материнской плате. Connector - разъем со 168 контактами. Контакты размещены на двух сторонах модуля по 84 с каждой стороны.

Direct Rambus RIMM

Direct Rambus RIMM - это модуль памяти, который включает один или более Direct RDRAM-чипов и организует непрерывность канала. Канал входит в модуль на одном конце, проходит через все чипы DRAM и выходит на другом. По существу RIMM образует непрерывный канал на пути от одного разъема к другому. Недопустимо оставлять свободными разъемы, потому что это приведет к разрыву канала с терминатором, находящимся на системной плате в конце канала. Для решения этой проблемы разработаны модули только с каналом (чипы памяти отсутствуют). Они называются continuity modules и предназначены для заполнения свободных посадочных мест.

Модули Direct Rambus имеют геометрические размеры, сходные с размерами SDRAM DIMMs. Это позволяет вставлять RIMM"ы во все материнские платы с соответствующим форм-фактором. Модули имеют 168 контактов. Еще модули RIMM поддерживают SPD, который используется на DIMM"ах SDRAM. В отличие от SDRAM DIMM, Direct Rambus может содержать любое целое число чипов Direct RDRAM (до максимально возможного).

Direct Rambus RIMMs могут быть как односторонние, так и двухсторонние. Односторонние RIMM используют шестислойную плату и могут содержать от одного до восьми чипов Direct RDRAM. Двухсторонние RIMM используют восьмислойную плату и могут содержать до 16-ти чипов Direct DRAM. Для гарантии совместимости различных товаров Rambus, Inc. обеспечивает некоторые правила конструирования.

Memory Expansion

Один канал Direct Rambus максимум может поддерживать 32 чипа Direct RDRAM. В материнской плате может использоваться до трех RIMM-модулей. Используя 64-Мбит, 128-Мбит и 256-Мбит устройства, максимальная емкость памяти на канал достигает 256 Мбайт, 512 Мбайт и 1Гбайт соответственно. Для поддержки целостности канала все свободные RIMM-слоты должны заполняться continuity-модулями.

Чтобы расширить канал сверх 32 устройств, могут использоваться два чипа повторителя. С одним повторителем канал может поддерживать 64 устройства на 6 RIMM-модулях, а с двумя - 128 устройств на 12.

Direct Rambus DRAM

Чипы Direct Rambus DRAM составляют часть подсистемы Rambus, запоминающую данные. Все устройства в системе электрически расположены на канале между контроллером и терминатором. Устройства Direct Rambus могут только отвечать на запросы контроллера, который делает их шину подчиненной или отвечающей. Устройства можно разделить на две части.

Технология Direct Rambus представляет собой третий этап развития памяти RDRAM. Впервые память RDRAM появилась в 1995 г., работала на частоте 150 МГц и обеспечивала пропускную способность 600 Мбайт/с. Она использовалась в станциях SGI Indigo2 IMPACTtm, в приставках Nintendo64, а также в качестве видеопамяти. Следующее поколение RDRAM появилось в 1997 г. под названием Concurrent RDRAM. Новые модули были полностью совместимы с первыми. Но за год до этого события в жизни компании произошло не менее значимое событие. В декабре 1996 г. Rambus, Inc. и Intel Corporation объявили о совместном развитии памяти RDRAM и продвижении ее на рынок персональных компьютеров.

Как указывалось ранее, динамическая память требует регенерации (восстановления) информации, производимой через каждые несколько мс. Это связано с тем, что для хранения одного бита информации в ней используется заряд на конденсаторе, который с течением времени рассасывается. Регенерация памяти заключается в том, что содержимое каждой строки микросхемы DRAM считывается, усиливается и записывается вновь на прежнее место. При регенерации доступ к памяти со стороны процессора или других устройств запрещен, что приводит к снижению производительности ЭВМ.

В соответствии с ранее рассмотренной организацией микросхемы DRAM для регенерации хранимой в ней информации, на микросхему необходимо подать адрес строки (в сопровождении строба RAS) и сигнал чтения. Упрощенная структура системы регенерации содержимого памяти DRAM, состоящей из 256 строк, приведена на рисунке 7.10.

Таймер интервала регенерации следит за своевременным проведением регенерации всех строк микросхем DRAM. Если требуемое время регенерации составляет 4 мс, то для регенерации каждой строки 256- строковой микросхемы DRAM сигнал регенерации (REFRESH) должен вырабатываться через каждые 15,6 мкс. В каждом цикле регенерации осуществляется восстановление содержимого одной строки. При выработке нового сигнала REFRESH содержимое счетчика адреса строки инкрементируется, после чего вырабатываются строб RAS и сигнал чтения памяти MEMR. Основные действия по регенерации содержимого очередной строки осуществляются

Рисунок 7.10 - Структура подсистемы регенерации динамической памяти

внутри самой микросхемы DRAM. Система регенерации отвечает лишь за своевременную регенерацию всех строк, выработку адреса очередной строки и необходимых управляющих сигналов.

КЭШ-память

Повышение производительности процессоров привело к тому, что основная память, построенная на микросхемах DRAM, стала замедлять дальнейшее повышение производительности ЭВМ в целом. Реализация ОП на микросхемах SRAM технически и экономически не оправдана, так как габариты и стоимость микросхем SRAM на 1 бит хранимой информации существенно выше, чем аналогичные показатели у DRAM. Разумным компромиссом для построения экономичных и быстродействующих систем явилось сочетание памяти большого объёма на DRAM и небольшой на микросхемах SRAM.

Слово Cache означает склад, тайник. КЭШ- память не имеет отдельного адресного пространства и не доступна для пользователя. Она является дополнительным и быстродействующим хранилищем копий тех областей информации ОП, к которым, вероятно, в ближайшее время будет обращение. В их число попадают в первую очередь области, примыкающие к выполняемой в данный момент команде, а во вторую – области связанные с ней командами перехода (см. рисунок 7.11).

Рисунок 7.11- Возможная область кэширования ОП

Приведенный рисунок, а также анализ хода выполнения различных программ показывают, что большую часть времени в них выполняются определенные группы команд, которые многократно повторяются. Это свойство программ называется локализацией ссылок. Локализация ссылок происходит во времени и в пространстве. Первое означает, что недавно выполненные команды скорее всего будут затребованы снова. Локализация в пространстве означает, что скорее всего в последующие моменты времени будут выполняться команды, расположенные (по значениям адресов) в непосредственной близости от выполняемой. Заметим, что последовательность выполнения команд для работы КЭШ- памяти не имеет значения.

КЭШ не может хранить копию всей основной памяти, так как её размер во много раз меньше ОП. Поэтому она хранит копии части содержимого ОП. Для записи информации о текущем соответствии содержимого КЭШ-памяти конкретным областям (блокам) ОП используется каталог, находящийся в дополнительной тэговой (ТЭГ) памяти, входящей в состав КЭШ- памяти. При обращении к ОП контроллер КЭШ- памяти (ККП) с помощью каталога в ТЭГ проверяет, есть ли копия затребованных данных (или команды) в КЭШе. Если она там есть, то это случай так называемого КЭШ- попадания и данные берутся из КЭШа. Если нет (случай КЭШ - промаха), то данные берутся из основной памяти, вводятся в процессор и записываются в КЭШ. При попадании в КЭШ время доступа к подсистеме памяти КЭШ+DRAM уменьшается и основная память представляется процессору более быстрой, чем есть на самом деле.

КЭШ прямого отображения

Принцип работы КЭШ прямого отображения проиллюстрирован на рисунке 7.12.

Рисунок 7.12- Структура КЭШ прямого отображения

В таблице 7.2 приведено разбиение полного адреса ячейки DRAM на поля.

Таблица 7.2- Распределение полного адреса ячейки DRAM

Рассмотрим принцип работы КЭШ прямого отображения на примере КЭШ объёмом 256 Кбайт с размером строки 32 байта (4 x 8 байт) и объёмом кэшируемой основной памяти 64 Мбайт. Кэшируемая основная память при этом условно разбивается на блоки, размер которых равен размеру КЭШ – памяти. Для рассматриваемого случая количество блоков равно: 64 Мбайт/ 256 Кбайт = 256. В свою очередь КЭШ- память делится на строки, длина которых равна количеству байт, передаваемых процессором в одном пакетном цикле (пакете) (4 x 4 байт =16 для процессора INTEL 486 и 4 x 8 байт = 32 байта для Pentium - процессоров). При размере КЭШ в 256 Кбайт число строк КЭШ для Pentium будет равно 256 Кбайт / 32 байт = 8 К.

В КЭШ прямого отображения средняя часть адреса (Index), по которому производится обращение, однозначно определяет строку КЭШ, в которой может находиться отображение соответствующей строки блока DRAM. На запись в каждую строку КЭШа могут претендовать только одноимённые строки всех блоков основной памяти (откуда и название данного типа КЭШ), но конкретная строка КЭШа в некоторый момент времени может содержать копию только одной строки некоторого блока ОП. Номер блока основной памяти, строка которого отображается в КЭШ, или старшая часть адреса (А18…А25 для КЭШ и ОП рассматриваемых размеров) оперативной памяти называется тегом (Tag) и хранится в дополнительной памяти тегов (Tag SRAM). Младшие пять разрядов адреса (для пакета в 32 байта) определяют номер байта в строке КЭШ памяти и для работы КЭШ памяти несущественны, т.к. минимальной единицей кэширования является строка.

Память тегов должна иметь количество ячеек, равное количеству строк КЭШа (объём КЭШ делится на длину строки КЭШ в байтах), а её разрядность должна вмещать старшие биты адреса кэшируемой памяти.

Кроме адресной части Tag с каждой строкой связаны биты признака действительности строки (V-Valid) и модифицированности данных (М-Mod).

В начале каждого обращения к кэшируемой памяти контроллер ККП считывает содержимое ячейки Tag с заданным индексом и сравнивает его со старшими битами D18…D25, адреса строки DRAM, подлежащей чтению. Сравнение осуществляется цифровым компаратором, входящим в состав КЭШ- контроллера. Если результат сравнения отрицателен (случай КЭШ- промаха), то вырабатывается цикл чтения основной памяти и считанные с нее данные вводятся в процессор, помещаются в соответствующую строку КЭШ, в Tag строки записывается старшая часть адреса, а бит V - достоверности, устанавливается в 1. В случае попадания в КЭШ при значении бита достоверности равным 1 данные берутся из КЭШ- памяти и обращение к DRAM не производится.

В начале цикла записи работа подсистемы памяти (КЭШ+DRAM) не отличается от цикла чтения. В случае промаха запись осуществляется сразу в строку DRAM, в случае попадания - в строку КЭШ (без изменения содержимого Tag соответствующей строки) и с установкой в 1 бита модифицируемости M строки КЭШ. Однако при этом нарушается согласованность (когерентность) данных в КЭШ и DRAM, что может привести к сбою работы всей системы и ККП должен выровнять содержимое КЭШ и DRAM до следующего обращения к этой строке DRAM. Поведение ККП в этом случае определяется его политикой записи.

Существуют два основных алгоритма записи данных из КЭШ - памяти в основную: сквозная запись WT (Write Through) и обратная (отложенная) запись WB (Write Back).

Алгоритм WT предусматривает выполнение каждой операции записи сразу и в КЭШ память и в DRAM. При этом каждая операция записи равносильна записи в DRAM и использование КЭШ- памяти не даёт никакого выигрыша при операциях записи (бит М в этом случае в составе КЭШ не используется).

При алгоритме WB запись со стороны процессора осуществляется только в строку КЭШ, при этом бит М устанавливается в 1, т. е. соответствующая строка в КЭШ отмечается как модифицированная или грязная, т. е. требующей записи в основную память. После копирования в DRAM строка становится чистой и бит М снова устанавливается в 0.

ККП старается осуществить копирование в промежутках между обращениями процессора к остальной системе, и только в крайнем случае (например, при попытке повторной записи в модифицированную строку КЭШ), копирование выполняется в первую очередь.

В системах с несколькими ведущими запись в DRAM могут осуществлять и другие устройства, например подсистема ПДП. В этом случае содержимое соответствующих строк КЭШ и DRAM также может оказаться различным, но уже из-за изменения строки DRAM.

Для устранения такой возможности адрес изменяемой строки DRAM при захвате шины другим ведущим передаётся в КЭШ второго (L2) и первого (L1) уровней. При этом процессор, находящийся в состоянии захвата его шины отслеживает адреса изменённых строк DRAM и в результате устанавливает биты их достоверности V в ноль.

Наборно- ассоциативный КЭШ

Его можно рассматривать как набор нескольких (например 4-х) КЭШ прямого отображения. В наборно-ассоциативной КЭШ - памяти каждая строка DRAM может размещаться в одной из нескольких строк КЭШ. В этом случае в состав TAG вводят ещё дополнительное поле, по которому ККП определяет, к какой строке КЭШ было самое давнее обращение, и которая следовательно, может быть заменена. Дополнительным усложнением является то, что старшая часть текущего адреса системы должна сравниваться с содержимым нескольких ТЭГ. КЭШ такого типа используются как внутренняя (L1) КЭШ память процессоров.

В процессорах Pentium внутренняя КЭШ- память имеет объем в 32 Кбайта. Она разбита на две равные части по 16 Кбайт - КЭШ кода программы и данных.

7.8 Контрольные вопросы

1. Какие отличия в организации изолированной и совмещенной систем адресных шин?

2. Перечислите достоинства и недостатки изолированной и совмещенной систем адресных шин.

3. Перечислите основные типы ПЗУ.

4. Как определяется необходимое число микросхем для построения памяти нужной емкости и разрядности?

5. Какие отличия между памятью статического и динамического типа?

6. Перечислите основные узлы подсистемы регенерации.

7. Что такое регенерация DRAM?

8. Назначение КЭШ- памяти?

9. Что обозначает название- КЭШ прямого отображения?

10. Назначение битов V и M в тэге КЭШ- памяти?

11. Отличия алгоритмов сквозной и отложенной записи?

12. Какими показателями КЭШ- памяти определяется объем кэширования ОП?


ОРГАНИЗАЦИЯ ПК

Динамическая оперативная память (Dynamic RAM - DRAM) используется в большинстве систем оперативной памяти современных персональных компьютеров. Основное преимущество этого типа памяти состоит в том, что ее ячейки упакованы очень плотно, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно построить память большой емкости.

Ячейки памяти в микросхеме DRAM - это крошечные конденсаторы, которые удерживают заряды. Именно так (наличием или отсутствием зарядов) и кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны. Регенерация происходит, когда контроллер памяти системы берет крошечный перерыв и обращается ко всем строкам данных в микросхемах памяти. Большинство систем имеет контроллер памяти (обычно встраиваемый в набор микросхем системной платы), который настроен на соответствующую промышленным стандартам частоту регенерации, равную 15 мкс. Ко всем строкам данных обращение осуществляется по прохождении 128 специальных циклов регенерации. Это означает, что каждые 1,92мс (128x15 мкс) прочитываются все строки в памяти для обеспечения регенерации данных.

Регенерация памяти, к сожалению, "отнимает время" у процессора: каждый цикл регенерации по длительности занимает несколько циклов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10% (или больше) процессорного времени, но в современных системах, работающих на частотах, равных сотням мегагерц, расходы на регенерацию составляют 1% (или меньше) процессорного времени. Некоторые системы позволяют изменить параметры регенерации с помощью программы установки параметров CMOS, но увеличение времени между циклами регенерации может привести к тому, что в некоторых ячейках памяти заряд "стечет", а это вызовет сбои памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации.

3.3. Кэш-память - SRAM

Существует тип памяти, совершенно отличный от других, - статическая оперативная память (Static RAM - SRAM). Она названа так потому, что, в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требуется периодической регенерации. Но это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем динамическая оперативная память, и может работать на той же частоте, что и современные процессоры.

Время доступа SRAM не более 2 нc, это означает, что такая память может работать синхронно с процессорами на частоте 500 МГц или выше! Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких-либо конденсаторов означает, что нет необходимости в регенерации. (Ведь если нет никаких конденсаторов, то и заряды не теряются.) Пока подается питание, SRAM будет помнить то, что сохранено. Почему же тогда микросхемы SRAM не используются для всей системной памяти? Ответ можно найти в следующей таблице.1

Плотность

Быстродейст-

Стоимость

Динамическая оперативная память - DRAM

Статическая оперативная память - SRAM

По сравнению с динамической оперативной памятью быстродействие SRAM намного выше, но плотность ее намного ниже, а цена довольно высокая. Более низкая плотность означает, что микросхемы SRAM имеют большие габариты, хотя их информационная емкость намного меньше. Большое число транзисторов и кластеризованное их размещение не только увеличивает габариты микросхем SRAM, но и значительно повышает стоимость технологического процесса по сравнению с аналогичными параметрами для микросхем DRAM. Например, емкость модуля DRAM может равняться 64 Мбайт или больше, в то время как емкость модуля SRAM приблизи­тельно того же размера составляет только 2 Мбайт, причем их стоимость будет одинаковой. Та­ким образом, габариты SRAM в среднем в 30 раз превышают размер динамической оператив­ной памяти, то же самое можно сказать и о стоимости. Все это не позволяет использовать па­мять типа SRAM в качестве оперативной памяти в персональных компьютерах.

Несмотря на это, разработчики все-таки применяют память типа SRAM для повышения эф­фективности PC. Но во избежание значительного увеличения стоимости устанавливается только небольшой объем высокоскоростной памяти SRAM, которая используется в качестве кэш-памяти. Кэш-память работает на тактовых частотах, близких или даже равных тактовым часто­там процессора, причем обычно именно эта память непосредственно используется процессором при чтении и записи. Во время операций чтения, данные в высокоскоростную кэш-память пред­варительно записываются из оперативной памяти с низким быстродействием, т.е. из DRAM.

Еще недавно время доступа динамической оперативной памяти было не менее 60 нc (что соответствует тактовой частоте 16 МГц). Когда процессор персонального компьютера рабо­тал на тактовой частоте 16 МГц и ниже, DRAM могла быть синхронизирована с системной платой и процессором, поэтому кэш был не нужен. Однако, как только тактовая частота про­цессора поднялась выше 16 МГц, синхронизировать DRAM с процессором стало невозмож­но, и именно тогда разработчики начали использовать SRAM в персональных компьютерах. Это произошло в 1986 и 1987 годах, когда появились PC с процессором 386, работающим на частотах 16 и 20 МГц. Именно в этих персональных компьютерах впервые нашла применение так называемая кэш-память, т.е. высокоскоростной буфер, построенный на микросхемах SRAM, который непосредственно обменивается данными с процессором. Поскольку быстро­действие кэша может быть сравнимо с быстродействием процессора, контроллер кэша может предугадывать потребности процессора в данных и предварительно загружать необходимые данные в высокоскоростную кэш-память. Тогда при выдаче процессором адреса памяти дан­ные могут быть переданы из высокоскоростного кэша, а не из оперативной памяти, быстро­действие которой намного ниже.

Эффективность кэш-памяти выражается коэффициентом совпадения , или коэффициентом успеха . Коэффициент совпадения равен отношению количества удачных обращений в кэш к общему количеству обращений. Попадание - это событие, состоящее в том, что необходимые процессору данные предварительно считываются в кэш из оперативной памяти; иначе говоря, в случае попадания процессор может считывать данные из кэш-памяти. Неудачным обращением в кэш считается такое, при котором контроллер кэша не предусмотрел потребности в данных, находящихся по указанному абсолютному адресу. В таком случае необходимые данные не были предварительно считаны в кэш-память, поэтому процессор должен отыскать их в более медлен­ной оперативной памяти, а не в быстродействующем кэше. Когда процессор считывает данные из оперативной памяти, ему приходится какое-то время "ждать", поскольку тактовая частота оперативной памяти значительно ниже, чем процессора. Если процессор работает на частоте 233 МГц, то продолжительность его цикла равна примерно 4 нс, в то время как продолжитель­ность цикла оперативной памяти может составлять 60 нс, что соответствует тактовой частоте 16 МГц. Таким образом, каждый раз, когда процессор считывает данные из оперативной памя­ти, его работа замедляется. Это настолько ощутимо, что кажется, будто он работает на тактовой частоте 16 МГц! Замедление обусловлено состоянием ожидания. Если процессор находится в состоянии ожидания, то на протяжении всего цикла (такта) никакие операции не выполняются; процессор, по существу, ждет, пока необходимые данные поступят из более медленной.опера­тивной памяти. Поэтому именно кэш-память позволяет сократить количество "простоев" и уве­личить быстродействие компьютера в целом.

Чтобы минимизировать время ожидания при считывании процессором данных из медленной оперативной памяти, в современных персональных компьютерах обычно предусмотрены два типа кэш-памяти: кэш-память первого уровня (L1) и кэш-память второго уровня (L2). Кэш-­память первого уровня также называется встроенным, или внутренним кэшем; он непосредст­венно встроен в процессор и фактически является частью микросхемы процессора. Во всех про­цессорах 486 и выше кэш-память первого уровня интегрирована в микросхему процессора.

Кэш-память второго уровня называется вторичным, или внешним кэшем; он устанавлива­ется вне микросхемы процессора. Первоначально она устанавливалась на системной плате. (Так было во всех компьютерах на основе процессоров 386, 486 и Pentium.) Если кэш-память второго уровня установлена на системной плате, то она работает на ее частоте. В этом случае кэш-память второго уровня обычно находится рядом с разъемом процессора.

Для повышения эффективности в более поздних компьютерах на основе процессоров фирмы Intel, в том числе в Pentium Pro и Pentium II/III, кэш-память второго уровня является частью про­цессора. Конечно же, он внешний по отношению к кристаллу центрального процессора, просто эта отдельная микросхема устанавливается внутри корпуса (картриджа) процессора. Поэтому на системных платах для процессоров Pentium Pro или Pentium II нет никакого кэша.

В табл.2 приведены параметры кэш-памяти первого (внутреннего) и второго уровней (внешнего) в современных компьютерах.

3.4. RDRAM

RDRAM, или Rambus DRAM, является радикально новым типом памяти, который исполь­зуется в высокопроизводительных персональных компьютерах с 1999 года. Такая память не­посредственно поддерживается в наборах микросхем системной логики. Аналогичный тип памяти уже использовался в игровых приставках - в популярной модели Nintendo 64.

Обычные типы памяти (FPM/RDO и SDRAM) иногда называют системами с широким каналом. Ширина канала памяти равна ширине шины данных процессора (в системах Pentium 64-бит). Максимальная производительность памяти SDRAM в исполнении DIMM составляет 100x8 (частота x количество передаваемых данных за один такт), или 800 Мбайт/с.

Микросхемы RDRAM увеличивают пропускную способность памяти - в них предусмот­рена "удвоенная" (16-разрядная) шина передачи данных, частота увеличена до 800 МГц, а пропускная способность равна 1,6 Гбайт/с. Для увеличения производительности можно ис­пользовать двух- и четырехканальные RDRAM, которые позволяют увеличить скорость пере­дачи данных до 3,2 или 6,4 Гбайт/с соответственно.

0дин канал памяти Rambus может поддерживать до 32 отдельных устройств RDRAM (микросхем RDRAM), которые устанавливаются в модули RIMM (Rambus Inline Memory Modules). Вся работа с памятью организуется между контроллером памяти и отдельным (а не всеми) устройством. Каждые 10нс (100МГц) одна микросхема RDRAM может передавать 16 байт.

Таблица 2 Параметры кэш-памяти первого (внутреннего) и второго уровней (внешнего) в современных компьютерах

Тип центрального процессора

Типичная тактовая частота центрального процессора, МГц

Быстродействие кэш-памяти первого уровня, нс (МГц)

Быстродействие кэш-второго уровня, нс (МГц)

Быстродействие системной платы, (МГц)

Быстродействие SIMM/DIMM, нс (МГц)

Pentium II (1997)

Pentium II (1998)

Pentium III Xeon

RDRAM работает быстрее SDRAM приблизительно в три раза.

Модули RIMM имеют посередине два ключа, которые, с одной стороны, предотвращают неправильную установку в разъем, а с другой - указывают рабочее напряжение. В настоящее время практически все модули RIMM имеют рабочее напряжение 2,5 В, однако вскоре долж­ны появиться устройства с пониженным энергопотреблением. Для новых типов модулей предназначены дополнительные ключи (рис. 4). Один из ключей в модуле имеет фиксиро­ванное положение (он называется DATUM А), а тип используемого модуля указывает другой ключ, который расположен на некотором расстоянии (с приращением 1 или 2 мм) от первого ключа DATUM А. В настоящее время используются модули типа А (2,5 В). Параметры клю­чей и их назначение приведены в табл. 3.

Рисунок 3

Рисунок 4

Таблица 3. Параметры ключей модулей RIMM и их назначение

Расстояние от DATUM A , мм

Описание

Зарезервирован

Зарезервирован

В каждом модуле RIMM устанавливается микросхема Serial Presence Detect (SPD), которая представляет собой перезаписываемое постоянное запоминающее устройство. В нем хранится информация о размере и типе RIMM, включая более детальные сведения для контрол­лера памяти. Контроллер считывает эту информацию и конфигурирует с ее помощью установленную память.

На рис. 5 показана схема установки модуля RIMM. Котроллер RDRAM и тактовый ге­нератор обычно устанавливаются на системной плате и являются частью компонента систем­ной логики North Bridge. Как видите, три модуля RIMM подключаются последовательно к контроллеру памяти. Каждый модуль содержит 4, 8 или 16 микросхем RDRAM, а также мик­росхему SPD. Каждый новый модуль RIMM необходимо подключать непосредственно за по­следним установленным. В каждый пустой разъем необходимо установить модуль согласова­ния (на рис. 5 он установлен в последний свободный разъем). Временные характеристики работы памяти накладывают ограничение на расстояние между первым модулем RIMM и контроллером памяти на системной плате - не более 6 дюймов (15,24мм). Общая длина шины не должна превышать расстояние, которое сигнал пройдет за четыре такта (около 5 нc).

Основной особенностью DRAM является динамическое хранение данных. Это даёт возможность многократно записывать информацию в оперативную память, но при этом возникает необходимость постоянно обновлять данные. Фактически перезапись происходит каждые 15 мкс. Существует также статическая оперативная (или кеш) память (S-RAM), не требующая постоянного обновления данных. И один и другой вид функционирует только при включённом компьютере. Оперативная память физически представляет собой набор микросхем, которые подключаются к системной плате. Поскольку характеристики этих микросхем весьма различны, то для нормальной работы они должны быть совместимы с системой.

В настоящее время используются запоминающие устройства трёх типов: ROM (read only memory), DRAM (Dynamic Random Access Memory), S-RAM (Static RAM).

В настоящее время DRAM используется в большинстве современных компьютеров. Главное преимущество этого типа памяти заключается в чрезвычайно плотной упаковке ячеек, что позволяет создавать память большой ёмкости, при этом само устройство занимает очень мало места. Каждая ячейка это микро конденсатор, который удерживает заряды (наличием или отсутствием зарядов и кодируются биты информации). Главная проблема такой памяти это необходимость постоянно регенерировать заряд иначе конденсатор «стечёт», что приведёт к потере данных. За обновление которых и, следовательно, сохранность отвечает встроенный контролёр с частотой регенерации 15 мкс. В современных компьютерах, работающих на сверхвысоких частотах, процесс регенерации отнимает не более 1 % времени работы процессора. Поэтому нет смысла увеличивать время между циклами - на работу процессора это существенно не повлияет, и к тому же может примести к разрядке конденсатора и, как следствие, к потере данных.

Особенности DRAM

Структура памяти напоминает таблицу, где сначала выбирают строку, а затем столбец. Эта таблица разбита на банки. Памяти плотностью меньше 64 Мбит (SDRAM) имеет 2 банка, выше - 4. В частности память DDR2 SDRAM предусматривает 4-битную предварительную систему выборки. Работает DDR2 на напряжении 1,8 В. Кстати первые DDR работали на напряжении 2,6 В. В последнее время всё большую популярность приобретает стандарт DDR3, который имеет 8-битовую систему выборки и работает на напряжнии 1,5 В. При этом обеспечивает ту же пропускную способность при вдвое меньшей тактовой частоте. На открытие строки в используемом банке уходит больше времени, нежели в другом (так как используемую строку нужно сначала закрыть). Очевидно, что лучше новую строку открывать в новом банке (на этом основан принцип чередования строк). Популярность DRAM объясняется её относительной дешевизной и чрезвычайно плотной упаковкой ячеек микросхем, что позволяет небольшому устройству иметь очень большую ёмкость. К недостаткам относится невысокое быстродействие, которое намного медленнее процессоров. Чтобы обойти этот недостаток существует несколько типов организации DRAM.

Тайминги

Обычно на микросхеме памяти или в документации к ней есть надпись из четырёх цифр вида 3-4-4-8 или 5-5-5-15. Это сокращенная запись основных таймингов памяти. Тайминг - это задержка, устанавливающая время, необходимое на выполнение какой-либо команды, то есть время от отправки команды до ее выполнения. А каждая цифра обозначает какое именно время необходимо. Схема таймингов включает в себя задержки CL-Trcd-Trp-Tras. Для работы с памятью необходимо для начала выбрать чип, с которым мы будем работать. Делается это командой CS# (Chip Select). Затем выбирается банк и строка. Перед началом работы с любой строкой необходимо ее активировать. Делается это командой выбора строки RAS# (при выборе строки она активируется). Затем нужно выбрать столбец командой CAS#, которая и инициирует чтение. Затем считать данные и закрыть строку, совершив предварительный заряд (precharge) банка.