Оперативная память

  1. Введение

   2. Физические  виды ОЗУ

   2.1. Память  динамического типа

   2.2. Память  статического типа

   3. Логическая  структура памяти.

   4. Форм-факторы  модулей памяти.

   4.1. SIMM

   4.2. DIMM

   5. Основные виды динамической памяти

   5.1 DDR SDRAM

   5.2 DDR2 SDRAM

   5.3 DDR3 SDRAM

   5.4 DDR4 SDRAM

   6. Трехканальный режим работы памяти

   7. Итог. Как выбрать оперативную память? 
1. Введение

Операти́вная  па́мять (англ. Random Access Memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения им операции. Обязательным условием является адресуемость (каждое машинное слово имеет индивидуальный адрес) памяти. Передача данных в оперативную память процессором производится непосредственно, либо через сверхбыструю память. Содержащиеся в оперативной памяти данные доступны только тогда, когда компьютер включен. При выключении компьютера содержимое стирается из оперативной памяти, поэтому перед выключением компьютера все данные нужно сохранить. Так же от объема оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер. 

2.Физические  виды ОЗУ 

ОЗУ большинства современных компьютеров представляет собой модули динамической памяти, содержащие полупроводниковые БИС ЗУ, организованные по принципу устройств с произвольным доступом. Память динамического типа дешевле, чем статического, и её плотность выше, что позволяет на том же пространстве кремниевой подложки размещать больше ячеек памяти, но при этом её быстродействие ниже. Статическая, наоборот, более быстрая память, но она и дороже. В связи с этим массовую оперативную память строят на модулях динамической памяти, а память статического типа используется для построения кеш-памяти внутри микропроцессора.

2.1 Память динамического типа (англ. DRAM (Dynamic Random Access Memory))

 

Экономичный вид памяти. Для хранения разряда (бита или трита) используется схема, состоящая из одного конденсатора и одного транзистора (в некоторых вариациях конденсаторов два). Такой вид памяти решает, во-первых, проблему дороговизны (один конденсатор и один транзистор дешевле нескольких транзисторов) и во-вторых, компактности (там, где в SRAM размещается один триггер, то есть один бит, можно уместить восемь конденсаторов и транзисторов). Есть и свои минусы. Во-первых, память на основе конденсаторов работает медленнее, поскольку если в SRAM изменение напряжения на входе триггера сразу же приводит к изменению его состояния, то для того чтобы установить в единицу один разряд (один бит) памяти на основе конденсатора, этот конденсатор нужно зарядить, а для того чтобы разряд установить в ноль, соответственно, разрядить. А это гораздо более длительные операции (в 10 и более раз), чем переключение триггера, даже если конденсатор имеет весьма небольшие размеры. Второй существенный минус — конденсаторы склонны к «стеканию» заряда; проще говоря, со временем конденсаторы разряжаются. Причём разряжаются они тем быстрее, чем меньше их ёмкость. За то, что разряды в ней хранятся не статически, а «стекают» динамически во времени, память на конденсаторах получила своё название динамическая память. В связи с этим обстоятельством, дабы не потерять содержимое памяти, заряд конденсаторов для восстановления необходимо «регенерировать» через определённый интервал времени. Регенерация выполняется центральным микропроцессором или контроллером памяти, за определённое количество тактов считывания при адресации по строкам. Так как для регенерации памяти периодически приостанавливаются все операции с памятью, это значительно снижает производительность данного вида ОЗУ.

2.2Память статического типа (англ. SRAM (Static Random Access Memory))

ОЗУ, которое  не надо регенерировать (и обычно схемотехнически  собранное на триггерах), называется статической памятью с произвольным доступом или просто статической памятью. Достоинство этого вида памяти — скорость. Поскольку триггеры собраны на вентилях, а время задержки вентиля очень мало, то и переключение состояния триггера происходит очень быстро. Данный вид памяти не лишён недостатков. Во-первых, группа транзисторов, входящих в состав триггера, обходится дороже, даже если они вытравляются миллионами на одной кремниевой подложке. Кроме того, группа транзисторов занимает гораздо больше места, поскольку между транзисторами, которые образуют триггер, должны быть вытравлены линии связи. Используется для организации сверхбыстрого ОЗУ, критичного к скорости работы. 

ЛОГИЧЕСКАЯ  СТРУКТУРА ПАМЯТИ 

В реальном режиме память делится на следующие участки:

  • Основная область памяти (англ. conventional memory).
  • Расширенная память (EMS)
  • Дополнительная память (XMS)
  • Upper Memory Area (UMA)
  • High Memory Area (HMA)

Классический  режим адресации, использованный в  первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1 MiB разбивается на 16-байтовые блоки, называемые параграфами . Всего параграфов в 1 MiB — 65536, что позволяет пронумеровать их 16-разрядными числами. Сегменты памяти имеют размер 65536 байт, и всегда начинаются на границе параграфа. Адрес ячейки памяти состоит из двух частей: номера параграфа, с которого начинается сегмент и смещения внутри сегмента и обычно записывается как SSSS:OOOO, где S и O — шестнадцатеричные цифры. SSSS называется сегментной компонентой адреса, а OOOO — смещением. Адрес ячейки, выдаваемый на шину, представляет собой сегментную компоненту умноженную на 16 плюс смещение. Сегментная компонента помещается в специальный регистр, называемый сегментным, а смещение в регистр IP(регистр инструкций). Микропроцессоры 8086/8088, 80186/80188 и 80286 имели четыре сегментных регистра, т.е могли работать одновременно с четырьмя сегментами памяти, имеющими определенное назначение. В 80386 добавили еще два, не имеющих специального назначения.

  • Сегментные регистры и их назначение:
    • CS — Сегмент кода. Используется для выборки команд программы;
    • DS — Сегмент данных. Используется по умолчанию для доступа к данным;
    • ES — Дополнительный сегмент. Является получателем данных в командах обработки строк;
    • SS — Сегмент стека. Используется для размещения  программного стека;
    • FS — Дополнительный сегментный регистр. Специального назначения не имеет. Появился в процессоре 80386;
    • GS — Аналогично предыдущему, но в новых процессорах с 64-битной архитектурой имеет особый статус: может использоваться для быстрого переключения контекстов.

Несмотря на то, что сегментные регистры имеют  специальные назначения, архитектура  допускает при обращении к  данным заменить один сегмент на любой  другой. Сегменты кода, стека и получателя строк всегда используют регистры CS, SS и ES и не могут быть изменены. Общий объем памяти, адресуемый в реальном режиме составляет 1048576 байт (0000:0000-F000:FFFF(00000-FFFFF)-логический адрес (физический адрес) в шестнадцатеричной системе счисления). Сегментный подход позволяет разделить всю память на 16 сегментов, начинающихся с адресов, кратных 64 Кбайт. Эти 16 сегментов называют страницами памяти. Обычно деление на страницы используется для совместного функционирования устройств, интерфейсы которых отображены на адресное пространство памяти; тогда каждое такое устройство использует одну страницу памяти, и адрес ячейки в адресном пространстве устройства будет совпадать со смещением в сегменте памяти компьютера. Так в компьютерах IBM PC страницы c 11 по 15 используются как «видеопамять»(адресное пространство видеоадаптера), а шестнадцатая страница(размещающаяся в адресах FFFF:0000 — FFFF:FFFF) получила название «области верхней памяти» (High Memory Area), которую впоследствии MS-DOS использовала для размещения своего ядра и буферов ввода-вывода, оставив больше «обычной» памяти прикладным программам. Таким образом реально доступная пользователю память составляет 640 Кбайт(первые 10 страниц).

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

4.ФОРМ-ФАКТОРЫ модулей памяти. 

4.1. SIMM 

SIMM (англ. Single In-line Memory Moduleодносторонний модуль памяти) — модули памяти с однорядным расположением контактов, широко применявшиеся в компьютерных системах в 1990-е годы. Стандарты SIMM описаны в сборнике JEDEC (англ.) JESD-21C. Имели несколько модификаций. 

Большинство ранних материнских плат IBM PC-совместимых компьютеров использовали чипы DRAM, упакованные в DIP-корпуса и установленные в сокеты. Однако системы, использовавшие процессоры 80286, использовали большее количество памяти, и для экономии места на материнской плате и упрощения процесса модернизации, отдельные чипы стали объединять в модули. Некоторые системы использовали SIPP-модули, но их оказалось слишком легко сломать при установке.

Модули SIMM были разработаны и запатентованы  в 1983 году компанией Wang Laboratories. Первоначально модули были керамическими и имели пины.

Ранние SIMM использовали обычные слоты без механизмов фиксации, однако достаточно быстро стали применяться ZIF-слоты с защёлками.

  • Первыми появились 30-контактные модули, имевший объем от 64 КБайт[1] до 16 МБайт и восьмиразрядную шину данных, дополняемую (иногда) девятой линией контроля четности памяти. Применялся в компьютерах с ЦП Intel 8088[2]286386. На материнских платах с процессорами 8088, модули ставились по одному, в случае процессоров 286, 386SX модули ставились парами, на 386DX — по четыре модуля одинаковой емкости.
  • С распространением в массовых компьютерах процессоров Intel 80486 и аналогичных, для которых 30-контактные модули надо было ставить, как минимум, по четыре, был вытеснен 72-контактным модулем SIMM, который, по существу, объединил на себе четыре 30-контактных модуля с общими линиями адреса и раздельными линиями данных. Таким образом, модуль становится 32-разрядным и достаточно всего одного модуля. Объём от 1 МБайт до 128 МБайт. 72-контактные модули появились вначале на брэндовых (Compaq, HP, Acer и другие) PC в эпоху процессоров 486, и на практически всех материнских платах всех производителей с переходом на Pentium.

Так как на материнских  платах для процессора Pentium с 64-разрядной  шиной данных 72-контактные модули уже  потребовалось ставить парами, постепенно и их физически попарно «объединили» путём расположения микросхем на обеих сторонах печатной платы модуля памяти, результатом чего стало появлением первых модулей DIMM.

Существовали  так же 64-контактные (применявшиеся  например в Macintosh IIfx) и 68-контактные (VRAM в Macintosh LC) варианты. 

4.2. DIMM

DIMM (англ. Dual In-line MemorModule, двухсторонний модуль памяти) — форм-фактор модулей памяти DRAM. Данный форм-фактор пришёл на смену форм-фактору SIMM. Основным отличием DIMM от предшественника является то, что контакты, расположенные на разных сторонах модуля являются независимыми, в отличие от SIMM, где симметричные контакты, расположенные на разных сторонах модуля, замкнуты между собой и передают одни и те же сигналы. Кроме того, DIMM реализует функцию обнаружения и исправления ошибок в 64 (без контроля чётности) или 72 (с контролем по чётности или коду ECC) линиях передачи данных, в отличие от SIMM c 32 линиями.

Конструктивно представляет собой модуль памяти в виде длинной прямоугольной платы с рядами контактных площадок с обоих сторон вдоль её длинной стороны, устанавливаемую в разъём подключения и фиксируемую по обоим её торцам защёлками. Микросхемы памяти могут быть размещены как с одной, так и с обеих сторон платы.

В отличие от форм-фактора SIMM, используемого для  асинхронной памяти FPM и EDO, форм-фактор DIMM предназначен для памяти типа SDRAM. Изготавливались модули рассчитанные на напряжение питания 3,3 В и (реже) 5 В. Однако, впервые в форм-факторе DIMM появились модули с памятю типа FPM, а затем и EDO. Ими комплектовались серверы и брендовые компьютеры.

Модуль SO-DIMM предназначен для использования в ноутбуках  или в качестве расширения памяти на плате, поэтому отличается уменьшенным габаритом.

Модули SO-DIMM

В дальнейшем, в  модули DIMM стали упаковывать память типа DDRDDR II и DDR III, отличающуюся повышенным быстродействием.

Появлению форм-фактора DIMM способствовало появление процессора Pentium, который имел 64-разрядную шину данных. В профессиональных рабочих станциях, таких, как SPARCstation, такой тип памяти использовался с начала 1990-х годов. В компьютерах общего назначения широкий переход на этот тип памяти произошёл в конце 1990-х, примерно во времена процессора Pentium II. 

Существуют следующие  типы DIMM:

  • 72-pin SO-DIMM (не совместима с 72-pin SIMM) — используется для FPM DRAM и EDO DRAM
  • 100-pin DIMM — используется для принтеров SDRAM
  • 144-pin SO-DIMM — используется для SDR SDRAM (иногда также для EDO RAM) в портативных компьютерах
  • 168-pin DIMM — используется для SDR SDRAM (реже для FPM/EDO DRAM в рабочих станциях/серверах)
  • 172-pin MicroDIMM — используется для DDR SDRAM
  • 184-pin DIMM — используется для DDR SDRAM
  • 200-pin SO-DIMM — используется для DDR SDRAM и DDR2 SDRAM
  • 214-pin MicroDIMM — используется для DDR2 SDRAM
  • 204-pin SO-DIMM — используется для DDR3 SDRAM
  • 240-pin DIMM — используется для DDR2 SDRAM, DDR3 SDRAM и FB-DIMM DRAM
 
 

5.Основные виды динамической памяти: 

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

При использовании DDR SDRAM достигается удвоенная скорость работы, нежели в SDRAM, за счёт считывания команд и данных не только по фронту, как в SDRAM, но и по спаду тактового сигнала. За счёт этого удваивается скорость передачи данных без увеличения частоты тактового сигнала шины памяти. Таким образом, при работе DDR на частоте 100 МГц мы получим эффективную частоту 200 МГц (при сравнении с аналогом SDR SDRAM). В спецификации JEDEC есть замечание, что использовать термин «МГц» в DDR некорректно, правильно указывать скорость «миллионов передач в секунду через один вывод данных». 

Специфическим режимом работы модулей памяти является двухканальный. 

Двухканальный режим — режим работы оперативной  памяти компьютера (RAM), при котором работа с каждым вторым модулем памяти осуществляется параллельно работе с каждым первым (то есть 1 (и 3) модуль(и) работают параллельно с 2 (и 4), причем каждая пара на своем канале — в то время как на одноканальном контроллере памяти все модули обслуживаются одновременно одним контроллером (упрощенно можно сказать — каналом). Общий объём доступной памяти в двухканальном режиме (как и в одноканальном) равен суммарному объёму установленных модулей памяти.

Двухканальный режим поддерживается, если на обоих  каналах DIMM установлено одинаковое количество памяти. Технология и скорость устройств на разных каналах могут отличаться друг от друга, однако общий объем памяти для каждого канала должен быть одинаковым. При использовании на разных каналах модулей DIMM с различной скоростью память будет работать на более медленной, поддерживаемой всеми модулями, скорости.

При теоретическом  увеличении пропускной способности  памяти в 2 раза, тесты, на практике прирост составляет порядка 5-10% в играх, и от 20% до 70% (график) в тяжёлых графических приложениях, которые по максимуму используют оперативную память и обрабатывают графику в больших разрешениях (Photoshop, CorelDraw и другие инженерные приложения). По мере выхода специализированного софта, под многопоточные вычисления, будет увеличиваться прирост от двухканального режима.

Двухканальный режим может быть получен при  использовании чётного числа  модулей DIMM.

Для включения  двухканального режима необходимо выполнить  следующие условия:

  • Одинаковая конфигурация модулей DIMM на каждом канале
  • Одинаковая плотность (128 МБ, 256 МБ, 512 МБ, и т.п.)
  • Каналы памяти A и B должны быть идентичны
  • На большинстве материнских плат (за редким исключением) должны быть заполнены симметричные разъемы памяти (разъем 0 или разъем 1)

Т.е. в двух-канальном  режиме будет работать память одного объёма, одной частоты, одного производителя, одного типа.

Прирост производительности от двухканального режима работы памяти зависит от:

- типа памяти;

тайминговзадержек памяти;

- типа чипсета  мат. платы или типа контроллера  памяти;

- частоты работы  памяти 
 

Микросхемы памяти DDR SDRAM выпускаются в корпусах TSOP и (освоено позднее) корпусах типа BGA (FBGA), производятся по нормам 0,13 и 0,09-микронного техпроцесса 
Напряжение питания микросхем: 2,6 В +/- 0,1 В 
Потребляемая мощность: 527 мВт 
Интерфейс ввода-вывода: SSTL_2

Ширина шины памяти составляет 64 бита, то есть по шине за один такт одновременно передаётся 8 байт. В результате получаем следующую формулу для расчёта максимальной скорости передачи для заданного типа памяти: тактовая частота шины памяти (передача данных дважды за такт) x (число байтов передающихся за один такт). Например, чтобы обеспечить передачу данных дважды за такт, используется специальная архитектура «2n Prefetch». Внутренняя шина данных имеет ширину в два раза больше внешней. При передаче данных сначала передаётся первая половина шины данных по фронту тактового сигнала, а затем вторая половина шины данных по спаду.

Помимо удвоенной передачи данных, DDR SDRAM имеет несколько других принципиальных отличий от простой памяти SDRAM. В основном они являются технологическими. Например, был добавлен сигнал QDS, который располагается на печатной плате вместе с линиями данных. По нему происходит синхронизация при передаче данных. Если используется два модуля памяти, то данные от них приходят к контроллеру памяти с небольшой разницей из-за разного расстояния. Возникает проблема в выборе синхросигнала для их считывания и использование QDS успешно это решает.

JEDEC устанавливает  стандарты для скоростей DDR SDRAM, разделённых на две части: первая  для чипов памяти, а вторая  для модулей памяти, на которых,  собственно, и размещаются чипы памяти.

Спецификация чипов памяти

  • DDR200: память  типа DDR SDRAM, работающая на частоте 100 МГц
  • DDR266: память типа DDR SDRAM, работающая на частоте 133 МГц
  • DDR333: память типа DDR SDRAM, работающая на частоте 166 МГц
  • DDR400: память типа DDR SDRAM, работающая на частоте 200 МГц

Характеристики чипов

  • Ёмкость чипа (DRAM density). Записывается в мегабитах, например 256 Мбит — чип ёмкостью 32 мегабайта.
  • Организация (DRAM organization). Записывается в виде 64M x 4, где 64M — это количество элементарных ячеек хранения (64 миллиона), а x4 (произносится «by four») — разрядность чипа, то есть разрядность каждой ячейки. Чипы DDR бывают x4 и x8, последние стоят дешевле в пересчёте на мегабайт ёмкости, но не позволяют использовать функции Chipkill, memory scrubbing и Intel SDDC.

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

Характеристики модулей

  • Объём. Указывается  в мегабайтах или гигабайтах.
  • Количество чипов (# of DRAM Devices). Кратно 8 для модулей без ECC, для модулей с ECC — кратно 9. Чипы могут располагаться на одной или обеих сторонах модуля. Максимальное умещающееся на DIMM количество — 36 (9x4).
  • Количество строк (рангов) (# of DRAM rows (ranks)).

Чипы, как видно  из их характеристики, имеют 4- или 8-ми битную шину данных. Чтобы обеспечить более широкую полосу (например DIMM требует 64 бита и 72 бита для памяти с ECC), чипы связываются в ранги. Ранг памяти имеет общую шину адреса и дополняющие друг-друга линии данных. На одном модуле может размещаться несколько рангов. Но если нужно больше памяти, то добавлять ранги можно и дальше, установкой нескольких модулей на одной плате и используя тот же принцип: все ранги сидят на одной шине, только чип селекты разные - у каждого свой. Большое количество рангов электически нагружает шину, точнее контроллер и чипы памяти, и замедляет их работу. Отсюда начали применятьмногоканальную архитектуру, которая позволяет также независимо обращатся к несколькольким модулям.

  • Задержки (тайминги): CAS Latency (CL), Clock Cycle Time (tCK), Row Cycle Time (tRC), Refresh Row Cycle Time (tRFC), Row Active Time (tRAS).

Характеристики  модулей и чипов, из которых они  состоят, связаны. 

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

Как и DDR SDRAM, DDR2 SDRAM использует передачу данных по обоим срезам тактового сигнала, за счёт чего при такой же частоте шины памяти, как и в обычной SDRAM, можно фактически удвоить скорость передачи данных (например, при работе DDR2 на частоте 100 МГц эквивалентная эффективная частота для SDRAM получается 200 МГц). Основное отличие DDR2 от DDR — вдвое большая частота работы шины, по которой данные передаются в буфер микросхемы памяти. При этом, чтобы обеспечить необходимый поток данных, передача на шину осуществляется из четырёх мест одновременно. Итоговые задержки оказываются выше, чем для DDR.

Оперативная память