1.1.5 Устройства памяти

iDevice ikoon 1.1.5 Устройства памяти

Рисунок 16. Схема обмена данными памяти (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))

Функцией памяти является хранение данных и кодов программ. Существенным параметром памяти является ёмкость памяти, которая оценивается в битах и байтах. Более крупные единицы измерения данных образуются добавлением префиксов кило-, мега-, гига-, тера. При этом обычно берётся первая буква): K (kilo - 1024), M (mega - 1024×1024), G (giga - 1024× 1024× 1024), Т (tera - 1024× 1024× 1024× 1024), за чем следует слово «бит» или «байт». Другим важным параметром является скорость обмена данными (скорость записи и скорость считывания).Типы памяти подразделяются на оперативную (изменяемую) память (RAM - Random Access Memory) и постояную память (ROM - Read Only Memory). RAM не сохраняет записанные данные при отключении питания и её используют для сохранения работающих прогамм и данных. Оперативную память иногда называют памятью с произвольным доступом, что указывает на непосредственный, прямой доступ по всем возможным адресам.

Оперативная (изменяемая) память подразделяется на:

  • Статическая память (SRAM -Static Random Access Memory). Этот тип памяти обеспечивает наиболее высокое быстродействие, хотя технологически он сложнее (реализуется на триггерах) и, сответсвенно, дороже. Этот тип памяти используется в качестве промежуточной памяти (Cache memory) или процессорных регистров.

Рисунок 17. Модуль памяти

  • Динамическая память (DRAM - Dynamic Random Access Memory). Этот тип памяти можно представить в виде микроконденсаторов, способных накапливать заряд. Это наиболее распространённый и дешёвый тип памяти. Для запоминания одного бита информации достаточно одного транзистора. Недостатки этого типа свзанны , во-первых, с тем, что запись данных происходит сравнительно медленно и, во-вторых, требуется постоянная регенерация (освежение, подзарядка) ячеек памяти. Микросхемы динамической памяти используют в качестве основной оперативной памяти компьютера. DRAM память организована в виде матрицы. Обмен данными осуществляет контроллер управления памятью. В начале цикла обмена контроллер активирует соответствующую строку матрицы, на что уходит несколько тактов. Затем контроллер активирует соотвестующий столбец матрицы (на что опять-таки уходит несколько тактов) и производит запись или считывание данных. Считывание бита с одной строки не требует особой дополнительной задержки до того, как потребуется перейти на новую строку (для чего потребуется вновь деактивация новой строки).

Основными параметрами, характеризующими память являются следующие:

- tCL - задержка выбора столбца CAS latency (Column Address Strobe Latency) обозначает минимальное количество циклов шины от момента "фиксации" запроса данных до момента их устойчивого определения и считывания.

- tRCD - (RAS to CAS delay) задержка выбора адреса строки

- tRP -(RAS precharge) задержка деактивации строки для обращения к новой строке

- tRAS - (Row active time) минимальное время, которое необходимо для выбора строки и столбца вместе с обменом данных вплоть до деактивации строки.

Рисунок 18. Параметры памяти считанные программой CPU-Z

Рисунок 19. Модули памяти DDR SDRAM различных поколений физически не совместимы между собой (Источник: http://en.wikipedia.org/wiki/File:Desktop_DDR_Memory_Comparison.svg)

Обычно эти параметры указаны в спецификации модуля памяти в виде последовательности значений разделяемых через «чёрточку» (например, 4-4-4-12). Эти числа зафиксированы производителем в специальном чипе SPD (Serial Presence Detect), который имеется в любом модуле памяти, и считываются при конфигурации автоматически при запуске компьютера в ходе тестирования POST. Для распознования параметров памяти имеются различные приложения. Одним из них, например, является CPU-Z (http://www.cpuid.com/). Выборка параметров памяти приведена на данном рисунке.

В настоящее время в вычислительных системах используются синхронные DRAM, которые, в свою очередь, прошли следующие этапы развития:

  • SDR SDRAM (Single Data Rate Synchronous DRAM) или синхронная динамическая оперативная память. У SDR SDRAM тактовая частота синхронизована с тактовой частотой прцессора и обмен данными возможен один раз в течение одного такта. Поскольку ширина шины данных у одноканальной памяти равна 64 битам или 8 байтам, то для расчёта быстродействия надо умножить тактовую частоту на 8.
  • DDR SDRAM (Double Data Rate SDRAM) или синхронная динамическая память с двойной скоростью позволяет существенно увеличить скорость обмена данными (передача данных производится как по переднему, так и по заднему фронту тактого сигнала, используя 2-битный буфер).
  • DDR2 SDRAM - имеет 4-битный буфер и повышенную тактовую частоту, что позволило читать данные в 4 раза быстрее за один такт. В то же время было понижено напряжение питания до 1,8 V, что, в свою очередь, уменьшило потребляемую мощность.
  • DDR3 SDRAM - имеет ещё меньшее напряжение питания, 8-битный буфер, и в 8 раз выше быстродействие.
  • RDRAM (Rambus DRAM) -к настоящему времени это уже практически забытая технология памяти, хотя и получила своё развитие параллельно с DDR памятью. У неё по умолчанию встроенный 2-канальный обмен данными и повышенная тактовая частота. Однако высокая стоимость, большая потребляемая мощность и, соответсвенно, проблемы с охлаждением не позволили им конкурировать с DDR технологией.

Стандардами технологии памяти занимается организация JEDEC: http://www.jedec.org

С технической документацией у различных производителей можно ознакомиться через Интернет. Например: http://www.elpida.com/en/products/documents.html

Скорость обмена данными можно увеличить, если использовать многоканальность, что в настоящее время фактически стало стандартом.

Оперативная память компьютера является основным компонентом системы и её параметры должны хорошо согласовываться с контроллером управления памятью. В то же время в интересах стабильности работы важно инсталлировать в систему блоки памяти от одного производителя с одинаковыми параметрами. Любые неполадки с памятью приводят к ненормальной работе компьютера. Для тестирования памяти имеются различные средства. Тесты памяти имеются в операционной системе, а также их можно найти в интернете. Например, по адресу: http://www.memtest.org/


Постоянная память используется в различных компонентах аппаратного обеспечения (firmware). Например, на материнской плате любого компьютера имеется постоянная память содержащая BIOS (Basic Input Output System).

Бывают разные типы постоянной памяти:

  • ROM (Read-Only Memory) - постоянная память, которая программируется в ходе её изготовления и не может быть перепрограммирована в дальнейшем.
  • PROM (Programmable ROM) - однократно программируемый чип постоянной памяти.
  • EPROM (Erasable PROM) - перепрограммируемое ПЗУ, для перепрограммирования старая програма стирается при помощи ультрафиолетого луча.
  • EEPROM (Electrically Erasable PROM) - электрически стираемое перепрограммируемое ПЗУ. Память такого типа может стираться и заполняться данными несколько десятков тысяч раз. Использование такого типа ПЗУ позволяет модифицировать используемое оборудование.
Контроль исправности памяти необходим в критически важных контроллерах или серверах. Конроль может быть основан провере паритета данных, когда подсчитывается контрольная сумма и при чтении из памяти проводится проверка получена ли та же контрольная сумма. При такой проверке обнаруживается однократная ошибка (в одном бите). Другим методом контроля является ECC (Error detection and correction). В случае использования этого метода каждый модуль памяти есть отдельный контрольный бит и сам механизм контроля является встроенным. В случае ECC можно исправлять 1-битные ошибки памяти и обнаруживать 2-битные ошибки.