Регенерация динамической памяти. Оперативная память типа DRAM (динамическая оперативная память)

24.06.2019

Динамическая память любого типа, в отличие от статической, даже при подаче питающих напряжений не обладает способностью хранить свою информацию сколь угодно долго. Состояние элементарной ячейки динамической памяти определяется наличием или отсутствием заряда на конденсаторе, и этот заряд подвержен утечке. Поэтому для сохранения данных в динамической памяти ее ячейки необходимо периодически подзаряжать, что и составляет суть процесса регенерации. Как это происходит, чуть ниже.
При выполнении операции чтения регенерация выполняется автоматически. Полученные на усилителе сигнала данные тут же записываются обратно. Считается, что такой алгоритм позволяет уменьшить число требуемых регенераций и увеличить быстродействие. Но это совершенно не так! Считывается ли информация из памяти или нет, "частота" регенерации при этом не меняется. Она либо вообще не регулируется (нет соответствующих опций в "BIOS Setup"), либо является строго фиксированной после соответствующиих установок.

Возможны три различных метода регенерации данных.

Регенерация одним RAS (RAS Only Refresh - ROR). Этот метод использовался еще в первых микросхемах DRAM. Адрес регенерируемой строки передается на шину адреса и выдается сигнал RAS (точно так же, как при чтении или записи). При этом выбирается строка ячеек, и данные из них поступают на внутренние цепи микросхемы, после чего записываются обратно. Так как далее сигнал CAS не следует, цикл чтения/записи не начинается. Затем передается адрес следующей строки и так далее, пока не будет пройдена вся матрица памяти, после чего цикл регенерации повторяется. К недостаткам этого метода можно отнести то, что занимается шина адреса, и в момент регенерации блокируется доступ к другим подсистемам компьютера.
CAS перед RAS (CAS Before RAS - CBR) - стандартный метод регенерации. При нормальном цикле чтения/записи сигнал RAS всегда приходит первым, за ним следует CAS. Если же CAS приходит раньше RAS, то начинается специальный цикл регенерации - CBR. При этом адрес строки не передается, а микросхема использует свой внутренний счетчик, содержимое которого увеличивается на 1 при каждом CBR-цикле (т.н. инкрементирование адреса строки). Этот режим позволяет регенерировать память, не занимая шину адреса, что, безусловно, более экономично.
Автоматическая регенерация памяти (Self Refresh - SR, или саморегенерация). Этот метод обычно используется в режиме энергосбережения, когда система переходит в состояние "сна" ("suspend"), и тактовый генератор перестает работать. В таком состоянии обновление памяти по вышеописанным методам невозможно (попросту отсутствуют источники сигналов), и микросхема памяти выполняет регенерацию самостоятельно. В ней запускается свой собственный генератор, который тактирует внутренние цепи регенерации. Такая технология работы памяти была внедрена с появлением EDO DRAM. Необходимо отметить, что в режиме "сна" память потребляет очень малый ток.
В классической реализации PC AT запросы на регенерацию DRAM генерировал канал 1 системного таймера 8254. К его выходу подключен триггер, работающий в счетном режиме и меняющий свое состояние на противоположное при каждом запросе. Состояние этого триггера можно программно считывать через бит 4 порта 61h. Проверка Refresh Toggle заключалась в проверке того факта, что этот триггер переключается с заданной частотой. Но со временем стали применяться другие алгоритмы регенерации памяти (что и изложено выше), и несмотря на то, что Refresh Toggle сохраняется для совместимости, по нему уже нельзя проверить формирование запросов на регенерацию. Циклы регенерации выполняет входящий в состав чипсета контроллер регенерации, который для выполнения своей задачи должен получать управление магистралью каждые 15,6 мкс. Во время цикла регенерации производится чтение одной из N ячеек памяти.

Burst Refresh

- (пакетная регенерация). Как правило, трактовка этой опции в литературе носит ошибочный характер. При разрешении опции ("Enabled") в единый пакет собираются запросы на регенерацию, причем такое пакетирование может в некоторых случаях обеспечивать аккумулирование запросов по всему объему строк в памяти. Такой метод ведет к значительному повышению производительности, но есть и обратная сторона. На достаточно длительные промежутки времени и постоянно происходит захват шины памяти, что приводит к блокировке доступа к ней процессора или других устройств.
Опция может называться "DRAM Burst Refresh".

CAS Before RAS Refresh

Метод регенерации памяти, когда сигнал CAS устанавливается раньше сигнала RAS. В отличие от стандартного способа регенерации, этот метод не требует перебора адресов строк извне микросхем памяти - используется внутренний счетчик адресов. Однако, этот способ регенерации должен поддерживаться микросхемами памяти. Если раньше можно было встретить фразы, что большинство модулей памяти поддерживает такой метод регенерации, то сейчас это уже стандартное аппаратное решение. Использование этого метода позволяет заметно снизить потребляемую модулями памяти энергию. Может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.
Опция может называться "CAS Before RAS".

CAS-to-RAS Refresh Delay

Действие этой опции возможно при включенном состоянии предыдущей (или аналогичной), так как в данном случае устанавливается время задержки между стробирующими сигналами (в тактах системной шины). Естественно, что установка меньшего значения приводит к снижению времени, затрачиваемого на регенерацию. Большее же значение повышает надежность, т.е. достоверность данных, находящихся в памяти. Оптимальный вариант для данной системы выбирается опытным путем. Может принимать значения: "1T", "2T" (по умолчанию).

Concurrent Refresh

- (паpаллельная, или конкурирующая pегенеpация). При активизации этой опции как аппаратные средства регенерации, так и центральный процессор получают одновpеменный доступ к памяти. При этом процессору не нужно будет ожидать, пока произойдет регенерация. При установке опции в "Disabled" пpоцессоp должен будет ждать, пока схема pегенеpации не закончит pаботу. Естественно, что включение опции повышает производительность системы.

Decoupled Refresh

- (раздельная регенерация). Поскольку ISA-шина имеет невысокую скорость работы, то включение этой опции ("Enabled") позволит чипсету разделить регенерацию для основной памяти и ISA-шины. При этом процесс регенерации для ISA-шины может быть завершен во время выполнения процессором других инструкций. Использование этой опции заметно увеличивает производительность всей системы. Опция эта играла заметную роль во времена 486-х машин.
Но могла возникнуть и проблема, которая заключалась в том, что некоторые карты расширения (обычно, видеокарты) требовали к себе внимания процессора во время начального цикла регенерации шины. Естественно, что это могло привести к нежелательным сбойным ситуациям. Отключение опции могло потребоваться также, если при работе с графическими режимами высокого разрешения на экране монитора появлялись какие-то символы или "снег". При этом необходимо было отключать и такой метод работы с памятью, как "Memory Relocation" (см. выше). Сказанное выше было характерно, например, для видеокарт на чипе S3 801 (таких, как SPEA V7 Mirage), работающих совместно с некоторыми картами-контроллерами производства "Adaptec" с расширенной ROM-памятью, необходимой для обслуживания жестких дисков объемом свыше 1 ГБ.
Опция может называться "Decoupled Refresh Option".

Distributed Refresh

- (распределенная регенерация). Не совсем ясно, что "прячется" под этой опцией, хотя есть предположение, что это аналог "раздельной регенерации". В свое время данную опцию можно было встретить в системах на чипсетах от "VIA Technologies". Значения опции: "Disabled" и "Enabled".

DRAM Ahead Refresh

Опция, позволяющая включать ("Enabled") режим "предвидения" для цикла регенерации. Суть этого "предвидения" станет более понятна из следующей опции, которая становится активной при включении разрешения.
x DRAM Ahead Refresh Timing
- данная же опция по сути позволяет "отодвинуть" начало цикла регенации на 10 или 40 системных тактов. Небольшое, но все же повышение производительности. Столь уникальные опции были реализованы в системах на наборе SIS540 и более пока нигде не встречались.

DRAM Burst at 4 Refresh

Эта опция также связана с пакетной регенерацией, но суть ее иная. Разрешение опции ("Enabled") включает регенерацию по 4 строки в пакете. Такой метод заметно повышает производительность. При этом шина освобождается намного быстрее, чем в случае с опцией "Burst Refresh".

DRAM CAS# Precharge

- (время предварительного заряда CAS). Эта функция применяется при наличии в системе синхронной динамической памяти, и с ее помощью устанавливается (в тактах системной шины) время для формирования сигнала CAS (накопления заряда по CAS) до начала цикла регенерации памяти (см. ниже дополнительно "DRAM RAS# Precharge Time"). Уменьшение этого значения увеличивает быстродействие, но возможны проблемы со стабильностью системы, если в то же время установлены "пограничные" значения для RAS-строба. Если установлено слишком малое значение (время), также и регенерация может оказаться незавершенной, что в итоге приведет к потере данных, находящихся в памяти.
Опция может иметь наименования: "CAS# Precharge", "CAS# Precharge Time", "FPM CAS# Precharge", "FPM DRAM CAS Precharge", "EDO/FPM CAS Precharge Time", "EDO CAS# Precharge", "EDO DRAM CAS Precharge".
Большим разнообразием значений все перечисленные опции не отличаются. "1T", "2T" или такой ряд: "1T", "1T/2T", "2T". Некоторое разнообразие внесла опция "CAS Precharge Period": "1T", "2T", "3T", "4T".

DRAM RAS Only Refresh

Включение/отключение метода обновления DRAM, альтернативного методу "CAS-before-RAS". Если BIOS содержит другие возможности по регенерации памяти, то эту опцию необходимо отключить. В противном случае придется использовать этот устаревший метод обновления памяти.

DRAM RAS# Precharge Time

- (время предварительного заряда RAS). Эта функция применяется при наличии в системе синхронной динамической памяти и она позволяет устанавливать время (в тактах системной шины) для формирования сигнала RAS (иногда говорят о накоплении заряда по RAS) до начала цикла регенерации памяти. Фактически, тем самым устанавливается минимальный интервал между двумя последовательными циклами чтения или записи. Уменьшение этого значения увеличивает быстродействие. Но если установлено недостаточное время, регенерация может быть некомплектной, что в итоге приведет к потере данных, находящихся в памяти. Естественно, что за повышением частоты, на которой работает память, следует и выбор большего значения, что важно при разгоне памяти. Возможные значения могут быть представлены в различном виде: в виде цифровых значений - "3", "4" и т.д.; с указанием системных тактов - "3 Clocks" или "1T". А обобщенный ряд значений имеет следующий вид: 0T, 1T, 2T, 3T, 4T, 5T, 6T, хотя в каждом конкретном варианте может быть представлено 2-4 значения.
Опция может иметь множество названий: "DRAM RAS# Precharge Period", "RAS# Precharge Time", "RAS Precharge Timing", "RAS# Precharge Period", "FPM DRAM RAS# Precharge", "FPM RAS Precharge", "RAS# Precharge", "DRAM RAS Precharge", "EDO RAS Precharge", "EDO RAS# Precharge Time", "EDO RAS Precharge Timing", "FPM/EDO RAS# Precharge Time", "EDO/FPM RAS Precharge Time".
Как видим, опция не потеряла своей актуальности с появлением EDO-памяти и, что интересно, затем также BEDO- и SDRAM- модулей, поскольку данный параметр является одной из важнейших характеристик чипов памяти: "BEDO RAS Precharge", "SDRAM RAS Precharge Time".
Правда, кроме привычных параметров типа "3T" или "2 Clks" (эти значения и характерны для SDRAM-модулей) в различных версиях BIOS стали "встречаться" новые виды значений, таких как: "Same as FPM" и "FPM-1T", "Fast" и "Normal", "Fast" и "Slow". Для последней пары параметров "Slow" (медленно) равносильно увеличению количества тактов, что повышает стабильность работы системы, поэтому значение "Fast" следует устанавливать в случае уверенности в качестве модулей памяти. Что же касательно первой пары, то для опций вида "FPM DRAM RAS# Precharge" ряд значений мог иметь вид: 2T, 3T, 4T, 5T, 6T, а отсюда и возможный результат для SDRAM-памяти, хотя совершенно не очевидный.
Вполне возможна и ситуация, когда версия BIOS предоставляет возможность установки каких-либо параметров для каждого банка памяти в отдельности. Поскольку речь идет о "предзаряде" для RAS#-строба, то опция (опции!) может называться "Bank 0&1 (2&3)(4&5): EDO/SDRAM Precharge" со значениями: "3T/2T", "4T/3T".
"AMI BIOS" для "своей" опции "SDRAM RAS# Precharge" предложил дополнительное значение "Auto". Правда, один из вариантов опции "SDRAM RAS Precharge" представил и значения "Disabled"/"Enabled". Запрещать опцию можно только в случае абсолютной уверенности в модулях памяти, иначе неприятностей не избежать. Раз коснулись возможности запрещать/разрешать механизм предзаряда, то нужно отметить и возможность включать ("Enabled") оптимизацию предзаряда - "SDRAM: Optimal RAS# Prech.".
Для данной опции (опций!) необходимо отметить пару важных моментов. Нельзя путать данную опцию с опциями типа "Refresh RAS Active Time", которые отвечают за длительность сигнала RAS#. В нашем случае речь идет как бы о подготовительном процессе. И второе! Данную опцию совершенно правильно было бы разместить и в разделе, посвященном стандартной оптимизации памяти (см. ниже). Процедуры выставления сигнала RAS# и при регенерации, и при операциях чтения/записи идентичны.
В завершение вышесказанного опция "RAS# Precharge/Refresh" со значениями "3T/4T" и "4T/5T". Данной опцией устанавливаются одновременно и время подготовительной фазы, и общее время активности сигнала RAS# для цикла регенерации.

DRAM Refresh Method

Опция установки метода регенерации. Опция может называться также "Refresh Type", "DRAM Refresh Type", "DRAM Refresh Mode" или "Refresh Type Select". При любых вариациях опция, как правило, среди возможных параметров содержит только два параметра. Приводим весь возможный ряд: "CAS before RAS" (или "CAS-RAS"), "RAS only", "RAS# Before CAS#", "Normal", "Hidden".

DRAM Refresh Period

Установка периода (частоты повтора), требуемого для регенерации памяти, в соответствии со спецификацией модулей памяти. В новейших версиях BIOS такая опция может и не присутствовать, хотя ее наличие в современной системе по прежнему позволяет оптимизировать процесс регенерации. Ранее такая опция предлагала пользователю широкий простор для творчества: в зависимости от версии BIOS и его производителя, чипсета, модулей памяти. Опция могла также носить название "Refresh Cycle Time (us)", "DRAM Refresh Cycle Time", "Memory Refresh Rate", "DRAM Refresh Rate Select", "DRAM Refresh Rate","SDRAM Refresh Rate" или просто - "DRAM Refresh". Вот неполный перечень значений, с которыми мог встретиться пользователь:
"For 50 MHz Bus", "For 60 MHz Bus", "For 66 MHz Bus", "Disabled" (такой необычный вариант встретился в системе на i430FX),
"50/66 MHz", "60/60 MHz", "66/66 MHz",
"15 us", "30 us", "60 us", "120 us",
"Disabled" (или "No Refresh"), "15.6 us", "31.2 us", "62.4 us", "124.8 us", "249.6 us",
"15.6 us", "31.2 us", "62.4 us", "125 us", "250 us",
"15.6 us", "62.4 us", "124.8 us", "187.2 us",
"1040 Clocks", "1300 Clocks",
"15.6 us", "7.9 us", "FR 128 CLKs" (понятно, что речь идет о частоте - "frequency"),
"Disabled", "Normal",
"Fast", "Slow",
"Faster", "Slower",
"Disabled" (устанавливаются стандартные 15,6 мкс), "Enabled" (соответствует удвоению частоты).
Остается отметить, что чем реже производится регенерация памяти, тем эффективнее работает система. Но если явно наблюдаются нарушения в работе системы, то частоту обновления необходимо повысить. Значение "Disabled", появляющееся в некоторых версиях, не должно использоваться. В противном случае следует ожидать потери информации в памяти. И наконец, если пользователь видит на экране перед собой целый ряд значений для выбора, то это может означать, что в состав чипсета входит специальный конфигурационный регистр, в котором три разряда (или менее) "отданы" под возможные комбинации устанавливаемой частоты.
Как дополнение к изложенному рассмотрим еще некоторые опции и чипсеты, для которых они были реализованы:
"DRAM Refresh Ratery Time" (SIS530) - "15.6 us", "7.8 us", "3.9 us",
"Refresh Rate" (AMD751) - "20.4 us", "15.3 us", "10.2 us", "5.1 us".
Опция "Refresh Mode Select", несмотря на некоторое несоответствие в названии, предложила значения "7.8 ?sec", "15.6 ?sec", "64 ?sec", а опция "Refresh Interval" - "7.8 ?sec", "15.6 ?sec", "31.2 ?sec", "64 ?sec", "128 ?sec".
Вот тут и может возникнуть, с одной стороны, мнимое несоответствие, а с другой, некоторое непонимание сути представленных опций. Ведь в названиях опций упоминаются и "частота", и "период", и "интервал", и "время цикла". Поэтому требуется дополнительное разъяснение.
Понятно, что одновременно регенерировать всю динамическую память невозможно. Допустимо также говорить о построчной регенерации матрицы памяти (об этом см. выше). Тогда можно ввести сразу два понятия. Первое - временной интервал между регенерацией, например, соседних строк. Второе - время полного цикла регенерации, т.е. время, через которое необходимо будет снова регенерировать условную начальную строку. "Обычный" чип памяти содержит 4096 строк. Можно утверждать, что общее время цикла регенерации составляет 64 мсек (один из стандартов JEDEC). И тогда упомянутый интервал (период) регенерации составляет:
64000: 4096 = 15.6 ?sec.
Это означает, что каждые 15,6 мкс контроллер памяти инициирует цикл регенерации отдельной строки памяти. И это значение характерно для тех же модулей DIMM емкостью 128 Mbit или меньше. Если же речь идет о модулях емкостью 256 Mbit и более, то количество строк составит 8192 и интервал регенерации 7.8 ?sec, обусловленный сохранением времени общего цикла в 64 мсек. Если же в системе используются модули различной емкости, то временная характеристика регенерации устанавливается по модулю большей емкости, т.е. с более высокой частотой.
Необходимо отметить, что применявшиеся ранее модули памяти во многих случаях позволяли удлинить цикл регенерации, т.е. увеличить ее интервал, тем самым несколько повышая производительность системы.
И, конечно же, картина была бы неполной, если бы мы не вспомнили о RAMBUS DRAM . Мы не будем детально останавливаться на архитектуре этого типа памяти, напомним только, что структура и организация банков памяти носит многоканальный характер. Причем каждый канал данных представляет собой шину шириной всего в один (!) байт. Но за счет высокопроизводительного конвейера, высокоскоростной внутренней магистрали, синхронизируемой собственным тактовым генератором, пропускная способность шины памяти уже доведена до 3,2 ГБ/сек. Ну а теперь опция - "RDRAM Refresh Rate, Channel N", и ее значения: "No refresh", "1.95 us", "3.9 us", "7.8 us".

DRAM Refresh Queue

Этот параметр во включенном состоянии допускает использование более эффективного метода обновления памяти. Дело в том, что чипсет способен формировать последовательность нескольких запросов обновления памяти, пока шина процессора не будет готова к выполнению следующей операции. Речь здесь идет об использовании режима конвейеризации запросов на регенерацию памяти. "Enabled" разрешает постановку в очередь, как правило, 4 запросов регенерации памяти. Установка в "Disabled" означает отключение конвейеризации, что естественно снижает эффективность и приводит к проведению всех циклов регенерации либо по приоритету запросов, либо в соответствии с методами, изложенными в других опциях.
Данный режим должен быть всегда включен. "Enabled" устанавливается и по умолчанию. Одно условие! Установленные модули памяти должны поддерживать это свойство, большинство современных типов памяти поддерживают этот метод. Более того! Использование столь эффективного метода регенерации зависит и от реализации чипсетом таких функций, и от версии BIOS. В таком явном, "пользовательском", виде такая опция повстречалась в "AMI BIOS".
Опция может называться также "DRAM Refresh Queing".

DRAM Refresh Queue Depth

Данная опция позволяет установить степень ("глубину") конвейеризации, т.е. количество возможных ступенек конвейера. Чем выше это число, тем большее количество запросов на регенерацию в данное время находится в обработке. Возможные значения, что естественно зависит от указанных выше реализаций и возможностей, имеют вид:
"0" (равносильно "Disabled"), "4", "8", "12" (по умолчанию).
Опция может называться также "Refresh Queue Depth".

Extended Refresh

- (расширенная регенерация). Введение (в свое время) этой опции в BIOS предполагало использование специальных EDO-чипов. Регенерация содержимого ячеек EDO DRAM при этом стала производиться через 125 мкс, а не через каждые 15,6 мкс, как при стандартной регенерации. Это несколько повысило общее быстродействие памяти.

Fast DRAM Refresh

- (быстрая регенерация DRAM). Контроллер памяти предоставляет два режима регенерации памяти: стандартный (Normal) и скрытый (Hidden). В каждом из режимов CAS-строб выставляется перед RAS-сигналом, однако в режиме "Normal" для каждого строб-импульса выделяется дополнительный такт процессора. Это старый метод обновления памяти, и поэтому имеет смысл установить значение данного параметра в "Hidden", который обеспечивает и повышенное быстродействие, и большую эффективность (см. ниже), также и по причине того, что CAS-строб может и не выставляться - быть "скрытым".

Hidden Refresh

- (скpытая pегенеpация). Когда установлено значение "Disabled", память регенерируется по IBM AT методологии, используя циклы процессора для каждой регенерации. Когда опция "Hidden Refresh" установлена в "Enabled", контроллер памяти "ищет" наиболее удобный момент для регенерации, независимо от циклов CPU. При этом регенерация происходит одновременно с обычным обращением к памяти. Алгоритм регенерации памяти при этом многовариантен: разpешаются циклы pегенеpации в банках памяти, не используемых центральным процессором в данный момент, взамен или вместе с ноpмальными циклами регенерации, выполняемыми всякий pаз (каждые 15 мс) пpи опpеделенном пpеpывании (DRQ0), вызванном таймеpом и инициируемом схемой регенерации.
Для регенерации каждый pаз тpебуется до 4 мс. В течение этих 4 мс один цикл pегенеpации пpимеpно каждые 16 мкс pегенеpиpует по 256 стpок памяти (здесь и выше приведены характеристики для модулей памяти малой емкости). Каждый цикл pегенеpации занимает столько же или чуть меньше вpемени, чем один цикл чтения памяти, т.к. сигнал CAS для pегенеpации при этом не тpебуется.
"Hidden refresh" отличается максимальной скоростью и эффективностью, наименьшими нарушениями активности системы и наименьшими потерями производительности, также позволяя поддерживать состояние памяти во время нахождения системы в режиме "suspend". Этот режим более быстрый, чем "Burst Refresh". Но наличие в BIOS этой функции еще не означает ее реализации. После установки опции в "Enabled" стоит тщательно проверить работоспособность компьютера. Некотоpые модули памяти позволяют использовать "Hidden Refresh", некотоpые - нет. В большинстве случаев pекомендуется установить в "Enabled".

Hi-Speed Refresh

С помощью этой опции чипсет быстрее проведет регенерацию основной памяти. Правда, эффект от этой установки значительно меньше, чем от включения "Slow Refresh". Последний режим регенерации предпочтительнее. К тому же эта функция поддерживается не всеми чипами памяти.

ISA Refresh

Опция разрешения/запрещения проведения регенерации памяти для ISA-шины. В таком виде эта опция уже не встречалась даже в последние годы существования ISA-шины.

ISA Refresh Period

Установка периодичности для регенерации ISA-шины. Возможный ряд значений: "15 us", "30 us", "60 us", "120 us".

ISA Refresh Type

Опция с установкой метода регенерации памяти для ISA-шины. Возможные значения параметра: "Normal" и "Hidden". Аналогичная опция с названием "ISA Bus Refresh Mode" могла предложить другие значения: "Slow" и "Fast".

PCI-to-DRAM RAS# Precharge

Тема "предзаряда" уже достаточно нами освоена, поэтому стоит лишь сказать кратко о назначении данной опции - установка времени "предзаряда" строба RAS# при циклах записи PCI-шины в основную динамическую память. Значения опции: "2T", "3T".

RAS Precharge @Access End

Когда выбрано "Enabled", RAS#-строб остается в активном состоянии в конце процесса "предзаряда". Если же установлено "Disabled", RAS# переводится в пассивное состояние (высокий уровень).

RAS Timeout

Когда установлено значение "Disabled", цикл регенерации динамической памяти производится в стандартном режиме, т.е. каждые 15,6 мкс. Дополнительный цикл регенерации памяти вставляется при выборе значения "Enabled".

Ref/Act Command Delay

- (установка задержки для цикла чтения/записи). Параметром выбирается время задержки между окончанием цикла регенерации и началом цикла чтения или записи. Опция может принимать значения: "5T", "6T" (по умолчанию), "7T", "8T".
Система на наборе SIS530 предложила опцию под названием "DRAM Refresh/Active Delay" с чуть более консервативными значениями: "9T", "8T", "7T", "6T". Более развитый чипсет (SIS540) представил уже две опции: "DRAM REF/ACT Delay" ("10T", "9T") и "DRAM ACT/REF Delay" ("10T", "9T", "8T"). Понятно, что последняя опция предназначена для выбора задержки для режима регенерации после окончания цикла чтения/записи. Меньшие значения, конечно, более предпочтительны. Данная опция уже не встречается в современных системах.

Refresh During PCI Cycles

Опция, разрешающая/запрещающая проведение регенерации памяти во время циклов чтения/записи на шине PCI. Может принимать значения:
"Enabled" - разрешено,
"Disabled" - запрещено.

Refresh RAS# Assertion

- (установка периода активности сигнала RAS). Этим параметром устанавливается длительность сигнала RAS (в тактах системной шины) для цикла регенерации. Меньшее значение увеличивает производительность системы. Но поскольку принимаемые значения определяются качеством памяти и чипсетом, то к их установке необходимо подходить осмотрительно. Может принимать значения: "4T" (или "4 Clks"), "5T" (или "5 Clks"). Могут быть и другие значения.
Опция может называться также "Refresh Assertion", "Refresh RAS Active Time" или "RAS Pulse Width Refresh".

Refresh Value

Данной опцией устанавливался множитель частоты регенерации. Меньшее значение увеличивало производительность системы за счет снижения частоты регенерации. Но при этом также оптимальный вариант мог быть достигнут только опытной проверкой. Значения опции могли быть выбраны из ряда: 1, 2, 4, 8, 16. Иногда можно было встретить и значение 0,5. Опция эта давно уже не встречается.
Опция может называться "Refresh Divider".

Refresh When CPU Hold

Довольно устаревшая опция, предлагавшая производить регенерацию ("Enabled") или не делать этого ("Disabled") во время пауз процессора.

SDRAM Idle Limit

Данная опция устанавливает количество "пустых" тактов ожидания перед перезарядкой SDRAM-модулей. Оптимальная установка позволяет улучшить производительность циклов чтения/записи путем настройки интервала времени, в течение которого банк памяти может оставаться "пустым" перед перезарядкой (recharging), т.е. перед перезаписью содержимого памяти обратно в ячейки. При этом данная установка не может функционировать как задержка цикла регенерации.
Уменьшение количества тактов с 8 (по умолчанию) до 0 означает, что банк SDRAM-памяти будет немедленно регенерироваться как только контроллер памяти выставит достоверный запрос. При увеличении "SDRAM Idle Limit" от 8 тактов и более перезарядка банка будет задержана на большее время, тем самым возрастет время "хранения" информации из памяти во внутренних цепях. Пришедшая в это время команда чтения/записи будет исполнена мгновенно. Тогда приходится признать, что эффективность памяти возрастет, когда банк более длительное время будет оставаться "пустым". Но всегда есть свое НО! Во внутренних цепях перезарядки не хранятся все строки банка памяти, а только регенерируемой строки. Поэтому пришедший запрос, например, на чтение некоторой строки наверняка не "попадет в точку", и системе придется ожидать завершения регенерации, особенно в случае завышенного значения параметра.
В основном приходится выбирать между значениями в пределах между 0 и 8-ю тактами, правда, насколько позволит это версия BIOS. Конечно, подобная настройка требует серьезной опытной проверки. Поэтому, если есть возможность управлять частотой регенерации, то данную опцию лучше заблокировать. Опытным специалистам можно порекомендовать "поиграть" с двумя характеристиками.
Опция может называться "DRAM Idle Timer". Указанные опции предложили два ряда значений:
"Disabled", "0 Cycle", "8 Cycles", "12 Cycles", "16 Cycles", "24 Cycles", "32 Cycles", "48 Cycles",
"0 clocks", "2 clocks", "4 clocks", "8 clocks", "10 clocks", "12 clocks", "16 clocks", "32 clocks".
Подобные опции достаточно редки. Но вот система на достаточно современном чипсете AMD751 предложила сразу две:
"Idle Precharge Limit" с рядом "0 cycles", "8 cycles", "12 cycles", "16 cycles", "24 cycles", "32 cycles", "48 cycles" и "No idle precharge" и "Extra High Idle Limit" со значениями "Disabled"/"Enabled". Последняя опция разрешает или запрещает вставку дополнительного такта ожидания.

SDRAM Precharge Control

- (управление предварительным зарядом SDRAM). Данная опция определяет, чем управляется "предзаряд" SDRAM - центральным процессором или самой SDRAM-памятью. В некоторых версиях BIOS такая опция может называться (трактоваться) как "SDRAM Page Closing Policy" ("метод закрытия страниц SDRAM" - см. дополнительно в следующем разделе). Если эта опция отключена ("Disabled"), то все циклы процессора к SDRAM завершаются командой "All Banks Precharge Command" в интерфейсе SDRAM-памяти, что улучшает стабильность, но понижает производительность памяти. Если же эта опция включена ("Enabled"), то предварительный заряд контролируется самими чипами памяти. Это уменьшает количество предзарядов SDRAM, значительно возрастает число циклов CPU-to-SDRAM до того момента, когда требуется регенерация памяти. Это однозначно ведет к повышению общей производительности системы, но может влиять на ее стабильность.

SDRAM Refresh

Опция выбора метода регенерации для SDRAM-памяти. Возможные варианты: "Serial" (последовательный перебор строк при регенерации) и "Simultaneous" (одновременная регенерация). При рассмотрении опции "Burst Refresh" уже отмечались недостатки пакетной регенерации, при которой в единый пакет собираются запросы на регенерацию. "Перезарядка" строк происходит мгновенно, но пока не завершится полная регенерация, доступ к шине памяти будет невозможен. Поэтому об оптимальной установке для конкретной системы можно будет говорить после экспериментальных тестов.
Данная опция была замечена в системах, построенных на чипсетах SIS620, SIS600 и некоторых других.

Self-Refresh

Опция включения режима "саморегенерации" основной памяти (если установлено "Enabled"). Этот режим подробно описан выше, в вводной статье.
Опция может называться также "EDO/FPM DRAM Self-Refresh".

Slow Refresh (1:4)

- (медленная pегенеpация). При включении этой опции ("Enabled") схема регенерации будет в 4 раза реже регенерировать память (64 мкс против 16), чем в обычном pежиме. При такой установке пpоизводительность системы повышается благодаpя уменьшению конкуpенции между CPU и схемой pегенеpации, однако не все типы динамических ОЗУ могут поддеpживать такие циклы (в этом случае будет получено сообщение об ошибке четности или о сбое системы). Тогда необходимо установить значение "Disabled". Опция в свое время получила распространение с развитием такого типа ПК, как "laptop" (дорожный ПК), в качестве энергосберегающей функции. В современных системах эта опция встречается все реже.
В свое время считалось также, что применение "медленной регенерации" будет достаточно эффективным при использовании 16-битных ISA-карт расширения, работающих в режиме "bus master". Поскольку сама ISA-карта может быть инициатором запроса на регенерацию, то понятно, что "медленная регенерация" в меньшей степени бы нарушала передачу данных по DMA-каналам.
Опция может называться также "DRAM Slow Refresh", "Slow Refresh" или "Slow Refresh Enable".
Опция может называться и "Slow Memory Refresh Divider". Но этой опцией устанавливался делитель для медленной регенерации: 1, 4, 16 или даже 64. Устанавливать самые большие значения, т.е. в максимальной степени снижать частоту регенерации, позволяла только специальная память.

Staggered Refresh

Трудно переводимый тип регенерации, что-то наподобие "регенерации с перекатыванием". Но этим непонятным термином обозначают "шахматную" регенерацию. Как известно, регенерация выполняется на банках памяти последовательно, с последовательным перебором строк. Но при наличии нескольких банков памяти и включении данной опции банки памяти регенерируются одновременно, но со сдвигом по перебору строк.
Данный тип регенерации позволяет сгладить броски потребления модулями памяти, выравнивая токи в процессе различных переключений. Так как уменьшаются броски тока, то такая регенерация эффективна с точки зрения снижения помех.
С помощью этой несколько устаревшей опции есть возможность установки временного интервала между регенерируемыми строками, измеряемого в системных тактах (0T, 1T, 2T, 3T, 4T, 5T, 6T, 7T). Установка в "0" позволяет регенерировать все строки в банках одновременно. Но опция может предложить и обычный набор значений: "разрешить применение"/"отказать" ("Enabled" и "Disabled").
Опция может называться также "Refresh Stagger" или "DRAM Refresh Stagger By".

Михаил Тычков aka Hard

Доброго времени суток.

Написать эту статью меня побудил частенько задаваемый мне вопрос: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Не спешите с ответом! Давайте-ка разберемся, что из себя представляет оперативная память DRAM – Dynamic Random Access Memory (вообще следует отметить, что DRAM - это очень старый тип микросхем оперативной памяти, который сейчас уже давно не применяется, так что в данной статье понятие DRAM - просто оперативная память различного типа). По-русски это будет звучать так: динамическая память с произвольным порядком выборки. Что она из себя представляет?

Начнем из далека. Минимальной единицей информации при хранении или передаче данных в компьютере является бит. Каждый бит может быть в двух состояниях: включен (да, 1) или выключен (нет, 0). Любой объем информации в конечном итоге состоит из включенных и выключенных битов. Таким образом, что бы сохранить или передать какой либо объем данных, необходимо сохранить или передать каждый бит, не зависимо от его состояния, этих данных.

Для хранения битов информации в оперативной памяти есть ячейки. Ячейки состоят из конденсаторов и транзисторов. Вот примерная и упрощенная схема ячейки DRAM:

Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца.

Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать взяв из буфера.

Теперь запись. Подается сигнал WR (Write) и информация поступает на шину столбца не из регистра, а с информационного входа памяти через коммутатор, определенный адресом столбца. Таким образом, прохождение данных при записи определяется комбинацией сигналов адреса столбца и строки и разрешения записи данных в память. При записи данные из регистра строки на выход не поступают.

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

Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.
Говоря о работе DRAM необходимо учитывать один момент. Фишка заключается в том, что конденсаторы не могут бесконечно долго хранить заряд и он в конце концов «стекает»:(. Поэтому конденсаторы необходимо перезаряжать. Операция перезарядки называется Refresh или регенерацией. Происходит эта операция примерно каждые 2 мс и порой занимает до 10 % (а то и больше) рабочего времени процессора.

Важнейшей характеристикой DRAM является быстродействие, а проще говоря продолжительность цикла + время задержки + время доступа, где продолжительность цикла – время, затраченное на передачу данных, время задержки – начальная установка адреса строки и столбца, а время доступа – время поиска самой ячейки. Измеряется эта фигня в наносекундах (одна миллиардная доля секунды). Современные микросхемы памяти имеют быстродействие ниже 10 мс.

Оперативной памятью управляет контроллер, который находится в чипсете материнской платы, а точнее в той его части, которая называется North Bridge.

А теперь поняв как работает оперативная память, разберемся, зачем же она вообще нужна. После процессора, оперативную память можно считать самым быстродействующим устройством. Поэтому основной обмен данными и происходит между этими двумя девайсами. Вся информация в персональном компьютере хранится на жестком диске. При включении компа в ОЗУ (Оперативное Запоминающее Устройство) с винта записываются драйвера, специальные программы и элементы операционной системы. Затем туда будут записаны те программы – приложения, которые Вы будете запускать. При закрытии этих программ они будут стерты из ОЗУ. Данные, записанные в оперативной памяти, передаются в CPU (Central Processing Unit), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким то адресам, как то их там обработать и вернуть на место или записать на новое – он так и сделал.

Все это хорошо, до тех пор, пока ячеек ОЗУ хватает. А если нет? Тогда в работу вступает файл подкачки. Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ, то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска.

Вот теперь мы и подошли к главному вопросу: «Влияет ли на скорость работы системы увеличение объема оперативной памяти?». Есть одна аксиома: увеличение объема памяти не приводит к увеличению ее быстродействия . Для тех кто не понял – изменение объема памяти (не важно, увеличение это или уменьшение) ни как не повлияет на ее работу. А вот если рассматривать работу системы, то тут дело другое. В том случае, если Вам хватает объема оперативной памяти, то увеличение объема не приведет к увеличению скорости работы системы. Если же ячеек ОЗУ не хватает, то увеличение их количества (проще говоря добавление новой или замене старой на новую с большим объемом линейки памяти) приведет к ускорению работы системы.

Объясню вышесказанное на простом и понятном примере. Есть некий молодой человек у которого имеется пустой ящик из под пива. В нем 20 пустых ячеек. Каждый день он покупал по 15 бутылок пива. Для этого он брал свой ящик, шел в магазин, покупал пиво и раскладывал бутылки по ячейкам. Потом, как-то этот человек приобрел еще один пустой ящик из под пива и ходил в магазин уже с двумя, но все равно, как покупал раньше 15 бутылок, так и продолжал это делать. Как Вы думаете, увеличилось ли быстродействие в данной операции? Думаю нет. Теперь рассмотрим тот же случай, но молодой человек каждый день покупал не 15, а 25 бутылок пива. В этом случае ему приходилось ходить два раза и покупка второго ящика заметно бы увеличило быстродействие, так как отпала бы необходимость во втором походе в магазин.

Так же и с оперативной памятью, если Вам хватает ее ячеек для хранения информации, то добавление новых не приведет к увеличению быстродействия. Но с другой стороны, справедлив вопрос: «А сколько на сегодняшний день необходимо оперативной памяти?». Все зависит от того, чем Вы занимаетесь на своем компьютере. Если Вы только лишь рассматриваете голых теток в инете да читаете мои статьи:) и при этом используете Windows 98 SE, то 64 Мбайт хватит. А если Ваш любимый мастдай - Windows XP и Вы большой поклонник серьезных трехмерных игр, то боюсь тут и 256 «метров» маловато будет! Короче, каждый должен решить для себя сам.

Совокупность ячеек образует условный «прямоугольник», состоящий из определённого количества строк и столбцов . Один такой «прямоугольник» называется страницей , а совокупность страниц называется банком . Весь набор ячеек условно делится на несколько областей.

Как запоминающее устройство (ЗУ) DRAM представляет собой модуль памяти какого-либо конструктивного исполнения, состоящий из печатной платы , на которой расположены микросхемы памяти, и разъёма , необходимого для подключения модуля к материнской плате .

Энциклопедичный YouTube

    1 / 5

    ✪ ЧТО ЛУЧШЕ КУПИТЬ? НОУТБУК ИЛИ КОМПЬЮТЕР? ПК ИЛИ НОУТБУК? КУПИТЬ ПК 2018, КУПИТЬ НОУТБУК 2018

    ✪ РАБОЧЕЕ МЕСТО ПОДПИСЧИКОВ 13!!! ВЕЛИКОЛЕПНЫЙ ПК INTEL CORE i7 В КОРПУСЕ NZXT!

    ✪ $7500 Ultimate Wolverine Desk Setup | Time Lapse

    ✪ КАК РАЗОГНАТЬ ПРОЦЕССОР! Всё что знал, intel и AMD, как узнать о VRM и ОЕМ производителя БП

    ✪ ЦЕЛЬ: $1000 и ТЯНЕТ ИГРЫ 60+ FPS

    Субтитры

История

Впервые динамическая память была реализована в дешифровальной машине «Aquarius», использовавшейся во время второй мировой войны в правительственной школе кодов и шифров в Блетчли-парк . Считываемые с бумажной ленты символы «запоминались в динамическом хранилище. … Хранилище представляло собой блок конденсаторов , которые были либо заряжены, либо разряжены. Заряженный конденсатор соответствовал символу „X“ (логической единице), разряженный - символу „.“ (логическому нулю). Поскольку конденсаторы теряли заряд из-за утечки, на них периодически подавался импульс для подзарядки (отсюда термин динамическая )» .

Основными таймингами DRAM являются:

  • задержка между подачей номера строки и номера столбца, называемая временем полного доступа (англ. RAS to CAS delay );
  • задержка между подачей номера столбца и получением содержимого ячейки, называемая временем рабочего цикла (англ. CAS delay );
  • задержка между чтением последней ячейки и подачей номера новой строки (англ. RAS precharge ).

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

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

1. Устройство динамической оперативной памяти.

Динамическая оперативная память (DRAM – Dynamic Random Access Memory) – энергозависимая память с произвольным доступом, каждая ячейка которой состоит из одного конденсатора и нескольких транзисторов. Конденсатор хранит один бит данных, а транзисторы играют роль ключей, удерживающих заряд в конденсаторе и разрешающих доступ к конденсатору при чтении и записи данных.

Однако транзисторы и конденсатор – неидеальные, и на практике заряд с конденсатора достаточно быстро истекает. Поэтому периодически, несколько десятков раз в секунду, приходится дозаряжать конденсатор. К тому же процесс чтения данных из динамической памяти – деструктивен, то есть при чтении конденсатор разряжается, и необходимо его заново подзаряжать, чтобы не потерять навсегда данные, хранящиеся в ячейке памяти.

На практике существуют разные способы реализации динамической памяти. Упрощенная структурная схема одного из способов реализации приведена на рисунке 1.

Как видно из рисунка, основным блоком памяти является матрица памяти, состоящая из множества ячеек, каждая из которых хранит 1 бит информации.

Каждая ячейка состоит из одного конденсатора (С) и трех транзисторов. Транзистор VT1 разрешает или запрещает запись новых данных или регенерацию ячейки. Транзистор VT3 выполняет роль ключа, удерживающего конденсатор от разряда и разрешающего или запрещающего чтение данных из ячейки памяти. Транзистор VT2 используется для считывания данных с конденсатора. Если на конденсаторе есть заряд, то транзистор VT2 открыт, и ток пойдет по линии AB, соответственно, на выходе Q1 тока не будет, что означает – ячейка хранит бит информации с нулевым значением. Если заряда на конденсаторе нет, то конденсатор VT2 закрыт, а ток пойдет по линии AE, соответственно, на выходе Q1 ток будет, что означает – ячейка хранит бит информации со значением “единица”.

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

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

Также в состав памяти входит контроллер шины памяти, который получает команды, адрес и данные от внешних устройств и ретранслирует их во внутренние блоки памяти.

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

Адрес преобразуется в две составляющие – адрес строки и адрес столбца, и передается в соответствующие дешифраторы.

Дешифратор адреса строки определяет, с какой строки надо провести чтение или запись, и выдает на эту строку напряжение.

Дешифратор адреса столбца при чтении данных определяет, какие из считанных бит данных были запрошены и должны быть выданы в шину памяти. При записи данных дешифратор определяет, в какие столбцы надо подать команды записи.

Блок работы с данными определяет, какие данные, в какую ячейку памяти требуется записать, и выдает соответствующие биты данных для записи в эти ячейки.

Блоки регенерации определяют:

  • когда происходит чтение данных и надо провести регенерацию ячейки, из которой данные были считаны;
  • когда происходит запись данных, а, следовательно, регенерацию ячейки производить не надо.

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

Рассмотрим принцип работы динамической памяти на примере структурной схемы, приведенной на рисунке 1. Рассматривать будем работу с первой ячейкой (M11). Работа остальных ячеек памяти полностью идентична.

1.1. Работа динамической памяти в состоянии покоя.

И так, первое что мы рассмотрим – этот состояние покоя, когда к памяти отсутствуют обращения, и она не в стадии регенерации данных.

DRAM – память энергозависимая, поэтому работа с ней возможна только при подаче питания. На схеме подаваемое на плату питание обозначено, как Uп. Подаваемое питание распределяется между всеми столбцами матрицы памяти с помощью транзисторов R.

Если память бездействует (от контроллера шины памяти не приходит никаких команд), то от дешифратора адреса строки не выдается сигнал ни на одну линию строк (S1-Sn) матрицы памяти. Соответственно, транзисторы VT1 и VT3 ячейки памяти M11 закрыты, также как и аналогичные транзисторы всех остальных ячеек памяти.

Следовательно, ток от подаваемого питания проходит по линии AE для первого столбца и аналогично для всех остальных столбцов матрицы памяти. Далее попадает на выходы Q1-Qm, на которых устанавливается «высокий» уровень напряжения, соответствующий значению логической «1». Но так как никаких команд от блока управления нет, то «Буфер данных» игнорирует получаемые сигналы.

Тут становится понятно, зачем нужен транзистор VT3. Он защищает конденсатор от разряда, когда к данной ячейки памяти нет обращения.

Ток по линии AE также попадает на «Блок регенерации 1», а именно, на нижний вход элемента L3 (логическое «И»), то есть на нижний вход элемента L3 подается логическая единица.

Рассмотрим, как в этом случае будет работать блок регенерации.

Так как от контроллера памяти нет никаких сигналов, то на входе элемента L1 (логическое «НЕ») будет логический ноль, а, соответственно, на выходе – логическая «1». Таким образом, на верхнем входе элемента L3 (логическое «И») будет логическая единица.

Имея на входах элемента L3 (логическое «И») две логические единицы, на выходе получим так же логическую единицу.

На выходе элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет никаких команд и данных.

В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один конденсатор первого столбца матрицы памяти подзаряжен не будет. Хотя, даже если бы напряжение и присутствовало, все равно подзарядка была бы невозможна, так как транзисторы подзарядки (доля ячейки М11 – это VT1) были бы закрыты, ведь ни на одну строку матрицы памяти (S1-Sn) напряжение не подается.

Точно такая же ситуация будет со всеми столбцами матрицы памяти.

Таким образом, при бездействии памяти конденсаторы не подзаряжаются и хранят тот заряд (а, соответственно, и тот бит данных), который у них был с момента последней подзарядки. Однако долго это продолжаться не может, так как из-за саморазрядки конденсатор, через несколько десятков миллисекунд, разрядится, и данные будут утеряны. Поэтому необходимо постоянно проводить регенерацию памяти.

1.2. Работа динамической памяти при чтении данных и регенерации.

Будем рассматривать принцип чтения данных из динамической памяти на примере считывания данных из ячейки памяти М11:

1. Процессор запрашивает порцию данных (размер зависит от разрядности процессора, для 32-разрядного процессора минимальной единицей обмена, обычно, являются 32 бита) и выдает их адрес.

2. Контроллер шины памяти преобразует адрес в номер строки и номер столбца и выдает номер строки в дешифратор адреса строки. Дешифратор адреса строки выдает сигнал в соответствующую строку матриц памяти. Мы договорились, что в примере данные будем читать из первой ячейки памяти. Поэтому дешифратор адреса строки подаст напряжение на первую строку (S1).

3. Напряжение, поданное на строку S1, откроет транзисторы VT1 и VT3 первой ячейки памяти и соответствующие транзисторы всех остальных ячеек первой строки.

4. Дальнейшая работа памяти зависит от наличия или отсутствия заряда на конденсаторе. Рассмотрим отдельно два случая, когда на конденсаторе ячейки М11 есть заряд, и когда нет.

4.1 . В начале рассмотрим случай, когда заряд в конденсаторе есть (ячейка памяти содержит бит со значением ноль):

Так как на конденсаторе С ячейки памяти М11 есть заряд, то транзистор VT2 будет открыт, а, соответственно, ток, создаваемый входным напряжением Uп, пойдет по линии AB. В результате, на выходе Q1 первого столбца тока не будет. А это означает, что с ячейки памяти М11 считан ноль. Соответствующая информация о считанном бите с первого столбца будет записана в «Буфер данных».

Для поддержания транзистора VT2 в открытом состоянии и протекания тока по линии AB расходуется заряд конденсатора С. В результате, конденсатор очень быстро разрядится, если не провести его регенерацию.

Так как на выходе Q1 тока нет, то он не будет поступать и в «Блок регенерации 1», а, соответственно, на нижнем входе элемента L3 (логическое «И») будет логический ноль.

Так как мы рассматриваем случай чтения данных, то сигнал записи V1 и данные для записи D1 в «Блок регенерации 1» подаваться не будут. В остальные блоки регенерации соответствующие сигналы D1-Dm и V1-Vm также подаваться не будут.

В результате, на входе элемента L1 (логическое «НЕ») будет логический «0», а на выходе – логическая «1», поэтому на входах элемента L3 (логическое «И») будет логический «0» и логическая «1». Это значит, что на выходе этого элемента будет логический «0».

На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера шины памяти отсутствуют команды на запись и данные для записи.

Имея на обоих входах элемента L4 (логическое «ИЛИ-НЕ») логический «0», на его выходе будем иметь логическую «1», то есть с блока регенерации пойдет ток подзарядки конденсатора С. Так как транзистор подзарядки VT1 ячейки памяти М11 открыт, то ток подзарядки беспрепятственно пройдет в конденсатор С. Остальные ячейки памяти первого столбца имеют закрытый конденсатор подзарядки, а, следовательно, подзарядка их конденсаторов происходить не будет.

4.2 . Теперь рассмотрим случай, когда в конденсаторе нет заряда (ячейка памяти хранит бит со значением «1»):

Ток, создаваемый входным напряжением Uп, пойдет по линии AЕ, так как транзистор VT2 будет закрыт. Следовательно, на входе Q1 «Буфера данных» будет ток, что означает – с ячейки памяти считана единица. Информация о считанном бите с первого столбца будет записана в «Буфер данных».

Так как в конденсаторе заряда не было, то и подзаряжать его надобности нет. Следовательно, с блока регенерации ток пойти не должен.

Так как на выходе Q1 ток есть, то он поступает и в «Блок регенерации». Следовательно, на нижний вход элемента L3 (логическое «И») подается логическая единица.

Так как мы рассматриваем случай чтения данных, то сигнала записи V1 и данных для записи D1 в «Блок регенерации 1» подаваться не будет. Так же в остальные блоки регенерации, соответствующие сигналы D1-Dm и V1-Vm так же подаваться не будут.

Следовательно, на входе элемента L1 (логическое «НЕ») будет логический ноль, а на выходе – логическая «1». Таким образом, на входах элемента L3 (логическое «И») будут две логические единицы. В результате, на выходе получим так же логическую единицу.

На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет команд на запись и данных для записи.

В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один из конденсаторов первого столбца матрицы памяти подзаряжаться не будет.

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

6. С контроллера памяти на дешифратор адреса столбца выдаются номера столбцов для считывания. За один такт номера считываются сразу с нескольких столбцов. Количество столбцов для считывания определяется разрядностью процессора и способом его взаимодействия с памятью. Для 32-разрядных процессоров минимальной порцией является считывание данных с 32 столбцов.

7. С дешифратора адреса столбцов номера столбцов передаются в «Буфер данных», откуда соответствующие данные считываются и передаются в процессор.

На этом цикл чтения данных заканчивается. Как вы заметили, при чтении данных считываются значения сразу со всей строки памяти данных, а потом из нее в «Буфере данных» выбираются нужные данные. Поэтому минимальной порцией чтения данных с динамической оперативной памяти является строка.

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

Поэтому «Блок управления» с определенной частотой, в моменты простоя памяти или между обращением к памяти процессора (или других устройств), регенерирует данные во всех ячейках памяти.

1.3. Работа динамической памяти при записи данных.

Будем рассматривать принцип записи данных в динамическую память на примере записи данных в ячейку памяти М11:

1. Контроллер шины памяти получает команду на запись данных, данные и адрес, куда необходимо записать эти данные.

2. Контроллер шины памяти преобразует адрес на две составляющие – номер строки и номера столбцов, и передает полученные составляющие в «Дешифратор адреса строки» и в «Дешифратор адреса столбцов». А данные передает в «Блок работы с данными».

3. Дешифратор адреса строки выдает сигнал в соответствующую строку матрицы памяти. Мы договорились, что в примере данные будем записывать в первую ячейку памяти. Поэтому дешифратор адреса строки подаст напряжение на первую строку (S1).

4. Одновременно с «Дешифратора адреса столбцов» выдаются сигналы V в столбцы, соответствующие полученному адресу. В эти же столбцы подаются сигналы D с «Блока работы с данными», уровень которых определяется значением битов записываемого слова.

5. Напряжение, поданное на строку S1, откроет конденсаторы VT1 и VT3 первой ячейки памяти и соответствующие конденсаторы всех остальных ячеек первой строки.

6. Если в ячейке М11 хранится бит со значением «0» (в конденсаторе есть заряд), то ток, создаваемый входным напряжением Uп, пойдет по линии AB, иначе – по линии AE. Но нам это не важно, так как в ячейку М11 производится запись данных, а не их чтение, поэтому буфер данных будет игнорировать считанное с ячейки значение. А с выхода элемента L3 «Блока регенерации 1» будет всегда идти логический ноль, так как с дешифратора столбцов приходит сигнал (V1) на запись данных в первый столбец.

В результате, на входе элемента L1 будет логическая единица, а на выходе – логический ноль. Соответственно, на верхнем входе элемента L3 мы всегда имеем логический ноль, что означает – независимо от значений на нижнем входе, на выходе элемента L3 будет логический ноль.

На нижнем входе элемента L2 будет логическая единица, так как с дешифратора адреса столбцов выдается сигнал V1, а на верхнем входе будет либо ноль, либо единица, в зависимости от того, какое значение имеет бит записываемой информации.

Если бит имеет значение «1», то на верхнем входе элемента L2 будет «1». Имея две единицы на входе, мы получим на выходе так же логическую единицу. Соответственно, на входах элемента L4 будет получена логическая «1» и логический «0». В результате, на выходе будет логический «0», то есть ток будет отсутствовать, а, соответственно, зарядка конденсатора C идти не будет. Если до этого конденсатор С содержал заряд, то через несколько микросекунд он разрядится, пропуская ток по линии АВ. Таким образом в конденсатор С будет записан бит данных «1», соответствующий разряженному состоянию конденсатора.

Если бит имеет значение «0», то на верхнем входе элемента L2 будет «0». Имея на верхнем входе логический ноль, а на нижнем – логическую единицу, на выходе элемента L2 получим логический ноль. В результате, на верхнем и нижнем входах элемента L4 имеем логические нули, что означает – на выходе элемента L4 будет логическая единица, то есть пойдет ток зарядки конденсатора. Таким образом в конденсатор С будет записан бит данных «0», соответствующий заряженному состоянию конденсатора.

Аналогичным образом будут записаны данные в другие столбцы матрицы памяти. В тех столбцах, в которых запись данных не требуется, будет произведено чтение данных из ячейки памяти и ее регенерация. При этом данные в буфер памяти записаны не будут.

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

Приведенная на рисунке 1 структурная схема памяти и описанный принцип работы соответствуют одной из самых простых организаций динамической памяти. На практике такую память уже давно не используют. Со временем, она претерпела ряд изменений, позволивших ей работать гораздо быстрее. Давайте рассмотрим эти улучшения.

2. Этапы модернизации динамической оперативной памяти.

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

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

2.1. PM DRAM.

Один из первых видов оперативной памяти, используемой в персональных компьютерах, была простая динамическая оперативная память (PM DRAM – Page Mode DRAM), принцип работы которой описан выше. PM DRAM использовалась вплоть до середины 90-х годов.

Однако ее быстродействия катастрофически не хватало, поэтому на смену ей в 1995 году пришла память FPM DRAM.

2.2. FPM DRAM.

FPM DRAM (Fast Page Mode DRAM) – быстрая страничная память. Основное ее отличие от памяти FP DRAM заключалось в поддержке сохраненных адресов. То есть, если новое считываемое из памяти слово находилось в той же строке, что и предыдущее слово, то обращение к матрице памяти не требовалось, а выборка данных осуществлялась из «Буфера данных» (смотри рисунок 1) по номерам столбцов. Это позволяло в случае чтения из памяти массивов данных значительно сократить время чтения.

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

Следующий тип памяти, заменивший FPM DRAM, появился через год (в 1996 году) и назывался EDO-DRAM.

2.3. EDO-DRAM.

EDO-DRAM (Extended Data Out DRAM) – динамическая память с усовершенствованным выходом. В этом типе памяти адрес следующего считываемого слова передавался до завершения считывания линии данных памяти, то есть до того, как считанные данные из памяти были переданы процессору.

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

Сочетая в себе также новшества памяти FPM RAM, новый тип памяти давал прирост производительности в пике, достигавший 15-20%.

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

В результате, на смену EDO-DRAM пришла память SDRAM.

2.4. SDRAM.

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

Однако тут возникали проблемы с чередованием чтения и записи. Когда подряд считывалось несколько слов данных – проблем не было никаких, а вот если до окончания записи приходила команда на чтение слова, которое записывалось, то это могло привести к считыванию неверных данных. Поэтому контроллер синхронной памяти дополнительно усложнился, обеспечивая защиту от таких ситуаций.

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

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

Со временем, развитие технологии производства и возможность работы сразу с несколькими матрицами памяти позволили значительно поднять внутреннюю скорость работы микросхем оперативной динамической памяти. Внешняя шина памяти стала узким местом и замедляла работу. В результате, был разработан новый тип памяти DDR SDRAM. С появлением DDR SDRAM предшествующую память SDRAM стали называть SDR SDRAM (Single Data Rate DRAM).

2.5. DDR SDRAM.

DDR SDRAM (Double Data Rate SDRAM) – синхронная динамическая память с произвольным доступом и удвоенной частотой передачи данных.

В этом типе оперативной памяти обмен данными по внешней шине идет не только по фронту тактового импульса, но и по спаду. В результате, без увеличения тактовой частоты внешней шины удваивается объем передаваемой информации.

Но подъема скорости работы внешней шины данных недостаточно, необходимо, чтобы и сама память поддерживала такую скорость. Так как увеличить частоту работы оперативной памяти довольно сложно, трудоемко и дорого, то производители пошли на хитрость. Вместо увеличения тактовой частоты памяти, они увеличили разрядность внутренней шины данных (от ячеек матриц памяти до буферов ввода-вывода) и сделали ее в два раза большей, чем разрядность внешней шины памяти (от контроллера памяти, встраиваемого в северный мост, или процессора до микросхемы памяти). То есть за 1 такт считывалось столько данных, сколько могло передаваться по внешней шине только за два такта. При этом ширина внешней шины данных составляла 64 бита, а внутренней – 128 бит.

В результате, по фронту тактового импульса из чипа памяти передавалась первая часть данных, а по спаду – вторая. Аналогичная ситуация была и при записи данных в память. Сначала принималась первая часть данных, а затем – вторая, после чего они обрабатывались одновременно.

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

Латентность – это время между запросом данных из памяти и временем, когда оперативная память начнет выдавать требуемые данные.

В результате, реальная производительность DDR памяти, по сравнению с SDR, возросла всего лишь на 30-40 процентов.

Наиболее популярные модели памяти DDR работали на тактовой частоте 200 МГц, но имели маркировку DDR400. 400 означало количество транзакций (обменов) в секунду. Действительно, при тактовой частоте 200 МГц и передаче данных по фронту и спаду тактового импульса, в секунду будет совершаться 400 МТр. При этом внутренняя частота чипа памяти также будет 200 МГЦ.

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

Тайминги, обычно, задаются набором из четырех чисел, определяющих основные задержки памяти в тактах работы чипа памяти. В таблице 1 приведен пример расшифровки таймингов памяти DDR266 (тайминги: 2.5-3-3-7) в порядке их расположения в строке.

Тайминги Значение Расшифровка
Tcl 2.5 CAS Latency – задержка в тактах между выдачей в память адреса столбца, когда нужная строка уже открыта, и началом выдачи данных из памяти.
Trcd 3 Row to CAS Delay – задержка в тактах между открытием строки и разрешением доступа к столбцам или, другими словами, задержка между подачей номера строки и номера столбца.
Trp 3 Row Precharge Time – время в тактах, требуемое на закрытие одной строки и открытие другой, или, другими словами, задержка между чтением последней ячейки памяти и подачей номера новой строки.
Tras 7 Tras (Active to Precharge Delay) – минимальное время между подачей номера строки и подачей команды подзарядки ячеек строки (PRECHARGE), то есть количество тактов, затрачиваемое памятью на чтение данных.

Таблица 1. Расшифровка таймингов оперативной памяти.

С помощью таймингов можно определить:

  • время, требуемое на чтение первого бита из памяти, когда нужная строка уже открыта, – Tcl тактов;
  • время, требуемое на чтение первого бита из памяти, когда строка неактивна, – Trcd+ Tcl тактов;
  • время, требуемое на чтение первого бита из памяти, когда активна другая строка, – Trp+Trcd+Tcl тактов;

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

В таблице 2 приведены основные сертифицированные стандарты DDR SDRAM и их параметры.

Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Стандартные тайминги*
DDR200 100 100 200 2-2-2-5 1600
DDR266 133 133 266 2.5-3-3-7 2133
DDR300 166 166 333 2.5-3-3-7 2667
DDR400 200 200 400 2.5-3-3-8 3200

Таблица 2. Параметры стандартов памяти DDR SDRAM.

Поднять тактовую частоту чипа памяти выше 200 МГц на том этапе было крайне затруднительно. Естественно существовала память, работающая на тактовой частоте 233, 250 и даже 267 МГц, но это были несертифицированные стандарты, и стоили они дорого.

В результате, разработчики памяти продолжили развивать архитектуру памяти DDR SDRAM. Логическим результатом этого развития стала память DDR2 SDRAM.

2.6. DDR2 SDRAM.

В памяти DDR2 SDRAM ширина внутренней шины данных была увеличена еще в два раза и стала превосходить внешнюю шину данных в четыре раза. В результате, при одной и той же тактовой частоте внешней шины памяти у памяти DDR2 SDRAM внутренняя тактовая частота была в два раза меньше, по сравнению с памятью DDR SDRAM.

Для сравнения возьмем топовую память DDR (DDR400) и первую спецификацию памяти DDR2 (DDR2-400). Казалось бы, раз это новый тип памяти, то он должен работать быстрее, однако дело тут обстояло совсем не так. На практике память DDR2-400 была чуть ли не медленнее памяти DDR400.

Давайте разберемся почему. И так, первое – это тактовая частота внешней шины данных. Она была у обоих типов памяти одинаковая – 200 МГц, и ширина внешней шины данных тоже была одинаковая – 64 разряда. В результате, и быстродействие у памяти DDR2-400 заметно выше, чем у памяти DDR400, быть не могло.

К тому же в памяти DDR400 ширина внутренней шины была всего в 2 раза больше внешней, тогда как у DDR2-400 – в четыре. В результате, устройство мультиплексора и демультиплексора памяти DDR2-400 – сложнее. К тому же далеко не всегда считываемые/записываемые данные находятся в одной строке матрицы памяти, в результате, считать/записать все слова данных одновременно невозможно, эта особенность тем негативнее сказывается, чем больше ширина внутренней шины данных, а она, естественно, больше у памяти DDR2.

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

В результате, очень быстро появилась память с внешней шиной, работающей на тактовой частоте 400 МГц. А позже у топовых моделей памяти DDR2 тактовая частота внешней шины достигла 533 МГц, при тактовой частоте чипа памяти – 266 МГц, и пиковой теоретической пропускной способности – 9.6 Гб/с, что, несмотря на увеличившуюся латентность, значительно превосходило возможности памяти DDR.

В таблице 3 приведены основные стандарты DDR2 SDRAM и их параметры.

Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Количество транзакций в секунду, МТр Стандартные тайминги* Теоретическая пропускная способность, Мб/с
DDR2-400 100 200 400 3-3-3-12 3200
DDR2-533 133 266 533 5-5-5-15 5300
DDR2-667 166 333 667 2.5-3-3-7 2667
DDR2-800 200 400 800 5-5-5-15 7100
DDR2-1066 266 533 1066 5-5-5-15 8500
DDR2-1200 300 600 1200 5-5-5-15 9600

* У различных производителей стандартные тайминги могут варьироваться и сильно зависят от качества элементной базы.

Таблица 3. Параметры стандартов памяти DDR2 SDRAM.

На этом был практически достигнут предел возможности усовершенствования DDR2 памяти по частоте и латентности. Дальнейшее увеличение производительности приводило к значительному росту энергопотребления и тепловыделений, и снижения стабильности и надежности работы памяти.

В результате, разработчики в 2005 году представили прототипы нового поколения DDR SDRAM памяти – DDR3 SDRAM. Однако массовое производство этой памяти и экспансия рынка начались только в 2009 году.

2.7. DDR3 SDRAM.

Основное направление развития памяти DDR3 SDRAM сохранилось таким же, как у DDR2 SDRAM. То есть снова была увеличена вдвое ширина внутренней шины данных памяти, что привело к снижению внутренней тактовой частоты памяти в два раза. К тому же при производстве памяти применялся новый технологический процесс, в начале – до 90 нм, затем – до 65 нм, 50 нм, 40 нм, и видимо это еще не предел.

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

Однако вместе с увеличением ширины внутренней шины данных увеличилась латентность памяти, усложнилось устройство мультиплексора/демультиплексора. В общем, все проблемы DDR и DDR2 памяти перешли в DDR3 память.

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

В таблице 3 приведены существующие стандарты DDR3 SDRAM и их основные параметры.

Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Количество транзакций в секунду, МТр Стандартные тайминги* Теоретическая пропускная способность, Мб/с
DDR3-800 100 400 800 6-6-6-18 6400
DDR3-1066 133 533 1066 7-7-7-21 8533
DDR3-1333 166 667 1333 8-8-8-24 10667
DDR3-1600 200 800 1600 8-8-8-24 12800
DDR3-1866 233 933 1866 9-9-9-27 14930
DDR3-2000 250 1000 2000 9-9-9-27 16000
DDR3-2133 266 1066 2133 9-11-9-28 17066
DDR3-2200 275 1100 2200 10-10-10-30 17600
DDR3-2400 300 1200 2400 9-11-9-28 19200

* У различных производителей стандартные тайминги могут варьироваться и сильно зависят от технологического процесса производства и качества элементной базы.

Таблица 4. Параметры стандартов DDR3 SDRAM.

Память DDR3 сегодня (начало 2012 года) занимает главенствующие позиции на рынке, однако ей уже грядет замена в лице нового поколения памяти DDR – DDR4 SDRAM.

2.8. DDR4 SDRAM.

Стандарты нового поколения памяти были представлены еще в 2008 году в Сан-Франциско на форуме, организованном компанией Intel. В 2011 году компания Sumsung продемонстрировала свои первые прототипы памяти DDR4.Однако начало производства этого типа памяти планируется на 2012 год, а окончательное завоевание рынка закончится не ранее 2015 года. Такие поздние сроки начала массового производства, в основном, связаны с тем, что возможности памяти DDR3 еще полностью не исчерпаны и позволяют удовлетворить требования большинства пользователей. А, следовательно, выход на рынок с новым типом памяти будет коммерчески неоправдан.

Память DDR4 продолжит тенденции DDR памяти. Будет увеличена ширина внутренней шины, улучшена технология производства до 32-36 нм, подняты тактовые частоты внешней и внутренней шины, а также будет снижено напряжение.

Но поговорим о ней более подробно, когда появятся первые массово выпускаемые образцы памяти, а сейчас подведем итоги обзора динамической памяти и сформулируем ее основные достоинства и недостатки.

3. Достоинства и недостатки динамической памяти.

Преимущества динамической памяти:

  • низкая себестоимость;
  • высокая степень упаковки, позволяющая создавать чипы памяти большого объема.

Недостатки динамической памяти:

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

Совокупность ячеек такой памяти образуют условный «прямоугольник», состоящий из определённого количества строк и столбцов . Один такой «прямоугольник» называется страницей , а совокупность страниц называется банком . Весь набор ячеек условно делится на несколько областей.

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

Принцип действия

Принцип действия чтения DRAM для простого массива 4×4

Принцип действия записи DRAM для простого массива 4×4

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

Первоначально микросхемы памяти выпускались в корпусах типа DIP (к примеру, серия К565РУхх), далее они стали производиться в более технологичных для применения в модулях корпусах.

На многих модулях SIMM и подавляющем числе DIMM устанавливалась SPD (Serial Presence Detect) - небольшая микросхема памяти EEPROM, хранящяя параметры модуля (ёмкость, тип, рабочее напряжение, число банков, время доступа и т. п.), которые программно были доступны как оборудованию, в котором модуль был установлен (применялось для автонастройки параметров), так и пользователям и производителям.

Модули SIPP

Модули типа SIPP (Single In-line Pin Package) представляют собой прямоугольные платы с контактами в виде ряда маленьких штырьков. Этот тип конструктивного исполнения уже практически не используется, так как он далее был вытеснен модулями типа SIMM.

Модули SIMM

Модули типа SIMM (Single In-line Memory Module) представляют собой длинные прямоугольные платы с рядом контактных площадок вдоль одной из её сторон. Модули фиксируются в разъёме (сокете) подключения с помощью защёлок, путём установки платы под некоторым углом и нажатия на неё до приведения в вертикальное положение. Выпускались модули на 4, 8, 16, 32, 64, 128 Мбайт.

Наиболее распространены 30- и 72-контактные модули SIMM.

Модули DIMM

Модули типа DIMM (Dual In-line Memory Module) представляют собой длинные прямоугольные платы с рядами контактных площадок вдоль обеих её сторон, устанавливаемые в разъём подключения вертикально и фиксируемые по обоим торцам защёлками. Микросхемы памяти на них могут быть размещены как с одной, так и с обеих сторон платы.

Модули памяти типа SDRAM наиболее распространены в виде 168-контактных DIMM-модулей, памяти типа DDR SDRAM - в виде 184-контактных, а модули типа DDR2, DDR3 и FB-DIMM SDRAM - 240-контактных модулей.

Модули SO-DIMM

Для портативных и компактных устройств (материнских плат форм-фактора Mini-ITX , лэптопов , ноутбуков , таблетов и т. п.), а также принтеров, сетевой и телекоммуникационной техники и пр. широко применяются конструктивно уменьшенные модули DRAM (как SDRAM, так и DDR SDRAM) - SO-DIMM (Small outline DIMM) - аналоги модулей DIMM в компактном исполнении для экономии места.

Похожие статьи