Вопрос 2. Типы и возможности систем памяти
Для повышения быстродействия применяются различные архитектурно-логические решения, известно множество различных типов памяти, отличающихся друг от друга своими основными характеристиками.
Основная память соединяется с процессором через адресную шину и шину данных. Каждая шина состоит из множества электрических цепей или бит. Ширина (разрядность) адресной шины определяет, сколько адресов может быть в ОЗУ (адресное пространство), а шины данных — сколько данных может быть передано за 1 цикл. Например, в 1985 г. процессор Intel 386 имел 32-разрядную адресную шину, что дает возможность поддерживать адресное пространство в 4 Гбайт. В процессоре Pentium (1993 г.) ширина шины данных была увеличена до 64 бит, что позволило передавать 8 байт информации одновременно.
Каждая передача данных между процессором и памятью называется циклом шины. Количество бит, которое процессор может передать за один цикл шины, влияет на производительность компьютера и определяет, какой тип памяти требуется.
Рассмотрим основные типы систем памяти
Динамическая память.
Динамическая память (DRAM) используется обычно в качестве оперативной памяти общего назначения, а также как память для видеоадаптера. Из применяемых в современных и перспективных ПК типов динамической памяти наиболее известны DRAM и FPM DRAM, EDO DRAM и BEDO DRAM, EDRAM и CDRAM, Synchronous DRAM, DDR SDRAM и SLDRAM, видеопамять MDRAM, VRAM, WRAM и SGRAM, RDRAM и некоторые другие.
Микросхема памяти этого типа представляет собой прямоугольный массив ячеек, со вспомогательными логическими схемами, которые используются для чтения или записи данных, а также цепей регенерации, поддерживающих целостность данных. Массивы памяти организованы в строки (raw) и столбцы (column) ячеек памяти, именуемые соответственно линиями слов (wordlines) и линиями бит (bitlines). Каждая ячейка памяти имеет уникальное размещение, задаваемое пересечением строки и столбца. Цепи, поддерживающие работу памяти, включают:
усилители, считывающие сигнал из ячейки памяти;
схемы адресации для выбора строк и столбцов;
схемы выбора адреса строки (row adress select /RAS) и столбца (column adress select /CAS), чтобы открывать и закрывать адреса строк и столбцов, а также начинать и заканчивать операции чтения и записи;
цепи записи и чтения информации;
внутренние счетчики или регистры, следящие за циклами регенерации данных;
схемы разрешения выхода (Output enable — ОЕ).
Каждый бит такой памяти представляется в виде наличия (или отсутствия) заряда на конденсаторе, образованном в структуре полупроводникового кристалла. Конденсатор управляет транзистором. Если транзистор открыт и ток идет, это означает «1», если закрыт — «0». С течением времени конденсатор разряжается, и его заряд нужно периодически восстанавливать. Между периодами доступа к памяти посылается электрический ток, обновляющий заряд на конденсаторах для поддержания целостности данных (вот почему данный тип памяти называется динамическим ОЗУ). Этот процесс называется регенерацией памяти.
Интервал регенерации измеряется в наносекундах (не), и это число отражает «скорость» ОЗУ. Большинство ПК на основе процессоров Pentium характеризуются скоростью 60 или 70 не. Процесс регенерации снижает скорость доступа к данным, поэтому доступ к DRAM обычно осуществляется через кэш-память. Однако когда быстродействие процессоров превысило 200 МГц, кэширование перестало существенно влиять на присущую DRAM низкую скорость и возникла необходимость использования других технологий ОЗУ.
Цикл чтения включает следующие события (см. рис. 2.15, для EDO DRAM):
выбор строки. Активизация цепи /RAS используется для связывания со строкой памяти и инициации цикла памяти;
выбор столбца. Сигнал /CAS используется для связывания со столбцом памяти и инициации операции записи-чтения;
разрешение записи (Write enable /WE);
разрешение вывода (Output enable /ОЕ). Во время операций чтения из памяти этот сигнал предотвращает появление данных прежде времени;
ввод/вывод данных. Выводы DQ на чипе памяти предназначены для ввода и вывода. Во время операции записи высокое («1») или низкое («0») напряжение подается на DQ. При чтении данные считываются из выбранной ячейки и передаются на DQ, если доступ осуществлен и /ОЕ открыт.
Охарактеризуем вкратце системы динамической оперативной памяти.
FPM DRAM (Fast page mode DRAM) - представляет собой стандартный тип памяти, быстродействие которой составляет 60 или 70 нс. Система управления памятью в процессе считывания активирует адреса строк, столбцов, осуществляет проверку данных и пере дачу информации в систему. Столбцы после этого деактивируются, что приводит к нежелательному состоянию ожидания процессора в некоторых сочетаниях операций с памятью. В наилучшем случае данный режим реализует временную схему пакета вида 5-3-3-3.
EDO RAM (RAM с расширенным выходом). Обращение на чтение осуществляется таким же образом, как и в FPM, за исключением того, что высокий уровень /CAS не сбрасывает выходные данные, а использование триггера позволяет сохранять данные то тех пор, пока уровень CAS снова не станет низким. Тем самым не происходит сброса адреса столбцов перед началом следующей операции с памятью.
Упрощенная схема работы EDO показана на рис. 2.2. Выходная величина поддерживается последовательностью стробируюших импульсов до тех пор, пока она не будет считана ЦП. Эта память обеспечивает лучшие параметры для серии быстрых последовательных считываний, чем FPM RAM. Теоретически скорость памяти на 27 % выше, чем для FMP DRAM.
BEDO RAM (Burst extended data out DRAM — пакетная с расширенным выходом), как это видно из названия, читает данные в виде пакета, что означает, что после получения адреса каждая из следующих трех единиц информации читается за один цикл таймера, а ЦП считывает данные в виде пакета 5-1-1-1. Быстродействие системы на 100 % превосходит FPM и на 50 % — EDO DRAM.
SDRAM (Synchronous DRAM — Синхронная динамическая память). Этот тип памяти существенно отличается от других тем, что использует тот факт, что большинство обращений к памяти является последовательным и спроектировано так, чтобы передать все биты пакета данных как можно быстрее (когда начинается передача пакета, все последующие биты поступают с интервалом 10 нс).
Как видно из названия, эта память обеспечивает синхронизацию всех входных и выходных сигналов с системным таймером. Наибольшая скорость SDRAM в циклах ЦП — это 5-1-1-1 для пакета чтения четырех единиц информации (байт/слово/двойное слово), что делает ее такой же быстродействующей, как и BEDO RAM; однако самое большое достоинство SDRAM — то, что она легко поддерживает частоту шины до 100 МГц.
SDRAM PC100. Для материнских плат, поддерживающих внешние частоты 100 МГц и выше, необходима память (SDRAM), которая сможет нормально и без сбоев работать с такими частотами, обеспечивая оптимальную скорость. Такие модули памяти должны иметь время доступа не более 8 нс, но самого быстродействия как такового недостаточно. Память, способная устойчиво работать на внешних частотах 100 МГц и выше, должна удовлетворять специальному стандарту - PC 100.
SDRAM PC133 — память, соответствующая стандарту PC 133. Спецификация PC 133 SDRAM DIMM разработана группой компаний VIA Technologies, IBM Microelectronics, Micron Semiconductor Products, NEC Electronics, Samsung Semiconductor (Revision 0.4, 7 июня 1999 г.). Память PC 133 — это лучшие образцы памяти стандарта PC 100, «разогнанные» до 133 МГц.
Пиковая пропускная способность PC 133 SDRAM приблизительно равна 1 Гб/с и средняя пропускная способность около 250 Мбайт/с, что соответствует пропускной способности AGP 4-х (1 Гбайт/с — пиковая и 200 Мбайт/с — средняя).
DDR SDRAM (SDRAM II). В системах с синхронизацией данные обычно передаются по фронту импульса синхронизации (clock tick). Так как сигнал генератора импульсов изменяется между «1» и «0», данные могут передаваться или по переднему фронту импульса (изменение с «0» на «1»), или по заднему (с «1» на «0»).
Компанией Samsung предложена система DDR (Double Data Rate) SDRAM или SDRAM II, в которой передача данных осуществляется по обоим фронтам тактовых импульсов одновременно, чем достигается удвоение скорости передачи при той же тактовой частоте. Кроме того, DDR использует DLL (delay-locked loop — цикл с фиксированной задержкой) для выдачи сигнала DataStrobe, означающего доступность данных на выходных контактах. Используя один сигнал DataStrobe на каждые 16 выводов, контроллер может осуществлять доступ к данным более точно и синхронизировать входящие данные, поступающие из разных модулей, находящихся в одном банке. DDR фактически увеличивает скорость доступа вдвое по сравнению с SDRAM, используя при этом ту же частоту.
DDR II SDRAM. К числу основных отличий технологии DDR- II от предыдущего варианта (DDR-I) относится то, что в ней размер выборки данных увеличен вдвое — с 2 до 4 бит, а значит, во столько же раз возрастает скорость передачи. Память DDR-II отличается от DDR-I более низким напряжением питания — 1,8 вместо 2,5 В.
SLDRAM (Synchronous linked DRAM). Этот тип устройств разработан консорциумом крупнейших производителей модулей памяти — SLDRAM Consortium. Считается, что применение SLDRAM экономически выгодно при объеме ОЗУ не менее 256 Мбайт. Повышение производительности достигается за счет распространения пакетного протокола передачи данных на сигналы управления (отсюда название этого типа памяти — Linked SDRAM). В SLDRAM адреса, команды, а также сигналы управления передаются в пакетном режиме по однонаправленной шине Command Link.
Одновременно с ними по другой, двунаправленной шине Data Link, и тоже в пакетном режиме, передаются данные, причем передача происходит на обоих фронтах тактовых импульсов, как и в случае с DDR SDRAM.
Максимальная достижимая скорость передачи SLDRAM превышает 1 Гбайт/с на каждый разряд при частоте 400 МГц. Контроллер программирует все чипы модуля памяти так, чтобы они выдавали данные на шину одновременно, независимо от разброса их параметров и степени удаленности микросхем от контроллера. В результате самая удаленная микросхема выдает данные без задержки, а самая близкая — через промежуток времени, нужный, чтобы сигнал распространился от самой удаленной до самой близкой.
ESDRAM (Enhanced SDRAM — улучшенная SDRAM) — более быстрая версия SDRAM, соответствующая стандарту JEDEC компании Enhanced Memory Systems (EMS). С точки зрения времени доступа производительность ESDRAM в 2 раза выше по отношению к стандартной SDRAM.
Основные отличия от SDRAM:
более быстрое время доступа (27 нс вместо стандартных 60 нс);
производительность, повышенная почти до уровня статического ОЗУ;
кэш-память, связанная с каждым банком памяти;
скрытая регенерация;
гибкое использование кэш-памяти для обеспечения максимальной производительности при различных типах обращений.
Недостаток ESDRAM — усложнение контроллера: он должен учитывать возможность подготовки к чтению новой строки ядра. Кроме того, при произвольных адресах чтения кэш-память используется крайне неэффективно, поскольку чтение строки ядра целиком происходит очень редко. Этого недостатка нет у другого типа памяти — CDRAM.
CDRAM (Cached DRAM — DRAM с кэш-памятью). Этот тип ОЗУ разработан в корпорации Mitsubishi и представляет собой улучшенный вариант ESDRAM. Изменения коснулись кэш-памяти — ее объема, принципа размещения данных, средств доступа. Cached DRAM имеет раздельные адресные линии для статического кэша и динамического ядра. Необходимость управлять разнородными типами памяти усложняет контроллер, однако эффективность кэш-памяти, размешенной внутри микросхемы, выше, чем при традиционной архитектуре ПК, так как перенос в кэш осуществляется блоками, в восемь раз большими, чем при выдаче из микросхемы обычной DRAM.
Direct Rambus (DRDRAM). Одной из наиболее быстродействующих является память RDRAM (Rambus DRAM), разработанная компанией Rambus (США) и выпускаемая такими компаниями, как NEC, Toshiba и Fujitsu. Память RDRAM является 9-разрядной, тактируется частотой 250 МГц и достигает пиковой скорости передачи данных 500 Мбайт/с.
Подсистема памяти Rambus состоит из следующих компонентов: основной контроллер (RMC — Rambus Memory Controller), канал (RC — Rambus Channel), разъем для модулей (RRC — Rambus RIMM Connector), модуль памяти (R1MM — Rambus In-line Memory Module), генератор дифференциальных импульсов (DRCG — Direct Rambus Clock Generator) и сами микросхемы памяти (RDRAM — Rambus DRAM).
VCM (Virtual Channel Memory) — разработанная NEC и Siemens технология, позволяющая оптимизировать доступ к оперативной памяти нескольких процессов (запись данных центральным процессором, перенос содержимого оперативной памяти на жесткий диск, обращения графического процессора и т. п.) таким образом, что переключение между процессами не приводит к падению производительности. В отличие от традиционной схемы, когда все процессы делят одну и ту же шину ввода-вывода, в технологии VCM каждый из них использует виртуальную шину. Организованное на уровне чипа взаимодействие виртуальных шин и реальной шины позволяет достичь прироста производительности системы до 25 %.
Чтобы при одновременном обращении к памяти нескольких процессов не снизилась производительность, число каналов доведено до 16 по 1024 бита каждый (в модулях по 256 Мбайт каждый канал может передавать до 2048 бит). Работает VC SDRAM при частоте до 143 МГц. Тип корпуса — стандартный, совместимый по контактам и набору команд с SDRAM.
Active Link — разработка NEC, которая нагружает DRAM новыми функциями — архивация (сжатие информации) в основной памяти. Чтобы не загружать рутинной работой процессор, функция компрессии/декомпрессии возлагается на сам чип DRAM. В результате несколько расширилось обрамление кристалла, но налицо двойной выигрыш — нужна меньшая по количеству ячеек микросхема DRAM, и доступ к информации происходит быстрее, чем обычно. Поскольку все больше информации в компьютерах имеет мультимедийную природу, можно выбрать соответствующий алгоритм компрессии. По утверждению NEC, видеоданные сжимаются в чипе ActiveLink в 4 раза.
IRAM (Intellectual Random Access Memory). Главная идея IRAM — в размещении процессора и DRAM в одном чипе. Это дает возможность чтения и записи данных длинными словами (от 128 до 16 384 бит), обеспечивая повышение пропускной способности памяти. Раньше это было невозможно — все упиралось в неприемлемо большое число выводов микросхемы. Средняя скорость RAC/CAS равна приблизительно 10—30 не для модулей 64—256 Мбайт IRAM. При этом снижается энергопотребление и уменьшается площадь, занимаемая микросхемами памяти.
Магнитная оперативная память. Надо заметить, что первые образцы ОЗУ были выполнены на кольцевых магнитных ферритовых сердечниках, нанизанных на адресные и информационные шины (провода). Емкость таких ЗУ не превосходила 64 Кбайт. В последующем длительный период времени устройства ОЗУ выполнялись на кремниевых полупроводниковых элементах.
В 2000 г. IBM и Infineon Technologies AG (ФРГ) объявили программу разработки MRAM (Magnetic Random Access Memory).
Принцип организации элементов памяти — магнитная среда, заключенная между слоями металла.
Преимущества технологии — высокая емкость, скорость, низкая стоимость, возможность применения как в форме статической, так и динамической памяти, более низкое энергопотребление.