Модификации и типы озу. Устройство динамической оперативной памяти

Большинство из применяемых в настоящее время типов микросхем оперативной памяти не в состоянии сохранять данные без внешнего источника энергии, т.е. являются энергозависимыми (volatile memory). Широкое распространение таких устройств связано с рядом их достоинств по сравнению с энергонезависимыми типами ОЗУ (non-volatile memory): большей емкостью, низким энергопотреблением, более высоким быстродействием и невысокой себестоимостью хранения единицы информации.

Энергозависимые ОЗУ можно подразделить на две основные подгруппы: динамическую память (DRAM - Dynamic Random Access Memory) и статическую память (SRAM - Static Random Access Memory).

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

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

Роль запоминающего элемента в статическом ОЗУ исполняет триггер. Такой триггер представляет собой схему с двумя устойчивыми состояниями, обычно состоящую из четырех или шести транзисторов (рис. 5.7). Схема с четырьмя транзисторами обеспечивает большую емкость микросхемы, а следовательно, меньшую стоимость, однако у такой схемы большой ток утечки, когда информация просто хранится. Также триггер на четырех транзисторах более чувствителен к воздействию внешних источников излучения, которые могут стать причиной потери информации. Наличие двух дополнительных транзисторов позволяет в какой-то мере компенсировать упомянутые недостатки схемы на четырех транзисторах, но, главное - увеличить быстродействие памяти.

Рис. 5.7. Запоминающий элемент статического ОЗУ

Запоминающий элемент динамической памяти значительно проще. Он состоит из одного конденсатора и запирающего транзистора (рис. 5.8).

Рис. 5.8. Запоминающий элемент динамического ОЗУ

Наличие или отсутствие заряда в конденсаторе интерпретируются как 1 или 0 соответственно. Простота схемы позволяет достичь высокой плотности размещения ЗЭ и, в итоге, снизить стоимость. Главный недостаток подобной технологии связан с тем, что накапливаемый на конденсаторе заряд со временем теряется. Даже при хорошем диэлектрике с электрическим сопротивлением в несколько тераом (10 12 Ом) используемом при изготовлении элементарных конденсаторов ЗЭ, заряд теряется достаточно быстро. Размеры у такого конденсатора микроскопические, а емкость имеет порядок 1СГ 15 Ф. При такой емкости на одном конденсаторе накапливается всего около 40 000 электронов. Среднее время утечки заряда ЗЭ динамической памяти составляет сотни или даже десятки миллисекунд, поэтому заряд необходимо успеть восстановить в течение данного отрезка времени, иначе хранящаяся информация будет утеряна. Периодическое восстановление заряда ЗЭ называется регенерацией и осуществляется каждые 2-8 мс,

В различных типах ИМС динамической памяти нашли применение три основных метода регенерации:

Одним сигналом RAS (ROR - RAS Only Refresh);

Сигналом CAS, предваряющим сигнал RAS (CBR - CAS Before RAS);

Автоматическая регенерация (SR - Self Refresh).

Регенерация одним RAS использовалась еще в первых микросхемах DRAM. На шину адреса выдается адрес регенерируемой строки, сопровождаемый сигналом RAS. При этом выбирается строка ячеек и хранящиеся там данные поступают на внутренние цепи микросхемы, после чего записываются обратно. Так как сигнал CAS не появляется, цикл чтения/записи не начинается. В следующий раз на шину адреса подается адрес следующей строки и т. д., пока не восстановятся все ячейки, после чего цикл повторяется. К недостаткам метода можно отнести занятость шины адреса в момент регенерации, когда доступ к другим устройствам ВМ блокирован.

Особенность метода CBR в том, что если в обычном цикле чтения/записи сигнал RAS всегда предшествует сигналу CAS, то при появлении сигнала CAS первым начинается специальный цикл регенерации. В этом случае адрес строки не передается, а микросхема использует свой внутренний счетчик, содержимое которого увеличивается на единицу при каждом очередном CBR-цикле. Режим позволяет регенерировать память, не занимая шину адреса, то есть более эффективен.

Автоматическая регенерация памяти связана с энергосбережением, когда система переходит в режим «сна» и тактовый генератор перестает работать. При отсутствии внешних сигналов RAS и CAS обновление содержимого памяти методами ROR или CBR невозможно, и микросхема производит регенерацию самостоятельно, запуская собственный генератор, который тактирует внутренние цепи регенерации.

Область применения статической и динамической памяти определяется скоростью и стоимостью. Главным преимуществом SRAM является более высокое быстродействие (примерно на порядок выше, чем у DRAM). Быстрая синхронная SRAM может работать со временем доступа к информации, равным времени одного тактового импульса процессора. Однако из-за малой емкости микросхем и высокой стоимости применение статической памяти, как правило, ограничено относительно небольшой по емкости кэш-памятью первого (L1), второго (L2) или третьего (L3) уровней. В то же время самые быстрые микросхемы динамической памяти на чтение первого байта пакета все еще требуют от пяти до десяти тактов процессора, что замедляет работу всей ВМ. Тем не менее благодаря высокой плотности упаковки ЗЭ и низкой стоимости именно DRAM используется при построении основной памяти ВМ.

Динамической памяти в вычислительной машине значительно больше, чем статической, поскольку именно DRAM используется в качестве основной памяти ВМ. Как и SRAM, динамическая память состоит из ядра (массива ЗЭ) и интерфейсной логики (буферных регистров, усилителей чтения данных, схемы регенерации и др.). Хотя количество видов DRAM уже превысило два десятка, ядро у них организовано практически одинаково. Главные различия связаны с интерфейсной логикой, причем различия эти обусловлены также и областью применения микросхем -помимо основной памяти ВМ, ИМС динамической памяти входят, например, в состав видеоадаптеров. Классификация микросхем динамической памяти показана на рис. 5.10.

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

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

Рис. 5.10. Классификация динамических ОЗУ: а - микросхемы для основной памяти; б - микросхемы для видеоадаптеров

памяти. Затем на шину адреса выставляется адрес столбца и выдается сигнал CAS. В зависимости от состояния линии WE производится чтение данных из ячейки или их запись в ячейку (перед записью данные должны быть помещены на шину данных). Интервал между установкой адреса и выдачей сигнала RAS (или CAS) оговаривается техническими характеристиками микросхемы, но обычно адрес выставляется в одном такте системной шины, а управляющий сигнал - в следующем. Таким образом, для чтения или записи одной ячейки динамического ОЗУ требуется пять тактов, в которых происходит соответственно: выдача адреса строки, выдача сигнала RAS, выдача адреса столбца, выдача сигнала CAS, выполнение операции чтения/записи (в статической памяти процедура занимает лишь от двух до трех тактов).

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

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

Асинхронные динамические ОЗУ. Микросхемы асинхронных динамических ОЗУ управляются сигналами RAS и CAS, и их работа в принципе не связана непосредственно тактовыми импульсами шины. Асинхронной памяти свойственны дополнительные затраты времени на взаимодействие микросхем памяти и контроллера, Так, в асинхронной схеме сигнал RAS будет сформирован только после поступления в контроллер тактирующего импульса и будет воспринят микросхемой памяти через некоторое время. После этого память выдаст данные, но контроллер сможет их считать только по приходу следующего тактирующего импульса, так какой должен работать синхронно с остальными устройствами ВМ. Таким образом, на протяжении цикла чтения/записи происходят небольшие задержки из-за ожидания памятью контроллера и контроллером памяти.

Микросхемы DRAM . В первых микросхемах динамической памяти применялся наиболее простой способ обмена данными, часто называемый традиционным (conventional). Он позволял считывать и записывать строку памяти только на каждый пятый такт (рис. 5.11, а). Этапы такой процедуры были описаны ранее. Традиционной DRAM соответствует формула 5-5-5-5. Микросхемы данного типа могли работать на частотах до 40 МГц и из-за своей медлительности (время доступа составляло около 120 не) просуществовали недолго.

Микросхемы FPM DRAM . Микросхемы динамического ОЗУ, реализующие режим FPM, также относятся к ранним типам DRAM. Сущность режима была показана ранее. Схема чтения для FPM DRAM (рис. 5.11, б) описывается формулой 5-3-3-3 (всего 14 тактов). Применение схемы быстрого страничного доступа позволило сократить время доступа до 60 не, что, с учетом возможности работать на более высоких частотах шины, привело к увеличению производительности памяти по сравнению с традиционной DRAM приблизительно на 70%. Данный тип микросхем применялся в персональных компьютерах примерно до 1994 года.

Микросхемы EDO DRAM . Следующим этапом в развитии динамических ОЗУ стали ИМС с гиперстраничным режимом, доступа (НРМ, Hyper Page Mode), более известные как EDO (Extended Data Output - расширенное время удержания данных на выходе). Главная особенность технологии - увеличенное по сравнению с FPM DRAM время доступности данных на выходе микросхемы. В микросхемах FPM DRAM выходные данные остаются действительными только при активном сигнале СAS, из-за чего во втором и последующих доступах к строке нужно три такта: такт переключения CAS в активное состояние, такт считывания данных и такт переключения CAS в неактивное состояние. В EDO DRAM по активному (спадающему) фронту сигнала С AS данные запоминаются во внутреннем регистре, где хранятся еще некоторое время после того, как поступит следующий активный фронт сигнала. Это позволяет использовать хранимые данные, когда CAS уже переведен в неактивное состояние (рис. 5.11, в)

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

Схема чтения у EDO DRAM уже 5-2-2-2, что на 20% быстрее, чем у FPM. Время доступа составляет порядка 30-40 нс. Следует отметить, что максимальная частота системной шины для микросхем EDO DRAM не должна была превышать 66МГц.

Микросхемы BEDO DRAM . Технология EDO была усовершенствована компанией VIA Technologies. Новая модификация EDO известна как BEDO (Burst EDO - пакетная EDO). Новизна метода в том, что при первом обращении считывается вся строка микросхемы, в которую входят последовательные слова пакета. За последовательной пересылкой слов (переключением столбцов) автоматически следит внутренний счетчик микросхемы. Это исключает необходимость выдавать адреса для всех ячеек пакета, но требует поддержки со стороны внешней логики. Способ позволяет сократить время считывания второго и последующих слов еще на один такт (рис. 5.11, г), благодаря чему формула приобретает вид 5-1-1-1.

5.11. Временные диаграммы различных типов асинхронной динамической памяти при длине пакета в четыре слова: а - традиционная DRAM; б - FPM FRAM; в - EDO DRAM;

г - BEDO DRAM

Микросхемы EDRAM. Более быстрая версия DRAM была разработана подразделением фирмы Ramtron - компанией Enhanced Memory Systems. Технология реализована в вариантах FPM, EDO и BEDO. У микросхемы более быстрое ядро и внутренняя кэш-память. Наличие последней - главная особенность технологии. В роли кэш-памяти выступает статическая память (SRAM) емкостью 2048 бит. Ядро EDRAM имеет 2048 столбцов, каждый из которых соединен с внутренней кэш-памятью. При обращении к какой-либо ячейке одновременно считывается целая строка (2048 бит). Считанная строка заносится в SRAM, причем перенос информации в кэш-память практически не сказывается на быстродействии поскольку происходит за один такт. При дальнейших обращениях к ячейкам, относящимся к той же строке, данные берутся из более быстрой кэш-памяти. Следующее обращение к ядру происходит при доступе к ячейке, не расположенной в строке хранимой в кэш-памяти микросхемы.

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

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

Микросхемы SDRAM . Аббревиатура SDRAM (Synchronous DRAM - синхронная DRAM) используется для обозначения микросхем «обычных» синхронных динамических ОЗУ. Кардинальные отличия SDRAM от рассмотренных выше асинхронных динамических ОЗУ можно свести к четырем положениям:

Синхронный метод передачи данных на шину;

Конвейерный механизм пересылки пакета;

Применение нескольких (двух или четырех) внутренних банков памяти;

Передача части функций контроллера памяти логике самой микросхемы.

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

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

Значительный эффект дает разбиение всей совокупности ячеек на независимые внутренние массивы (банки). Это позволяет совмещать доступ к ячейке одного банка с подготовкой к следующей операции в остальных банках (перезарядкой управляющих цепей и восстановлением информации). Возможность держать открытыми одновременно несколько строк памяти (из разных банков) также спо-собствует повышению быстродействия памяти. При поочередном доступе к банкам частота обращения к каждому из них в отдельности уменьшается пропорционально числу банков и SDRAM может работать на более высоких частотах. Благодаря встроенному счетчику адресов SDRAM, как и BEDO DRAM, позволяет производить чтение и запись в пакетном режиме, причем в SDRAM длина пакета варьируется и в пакетном режиме есть возможность чтения целой строки памяти. ИМС может быть охарактеризована формулой 5-1-1-1. Несмотря на то, что формула для этого типа динамической памяти такая же, что и у BEDO, способность работать на более высоких частотах приводит к тому, что SDRAM с двумя 6анками при тактовой частоте шины 100 МГц по производительности может почти вдвое превосходить память типа BEDO.

Микросхемы DDR SDRAM . Важным этапом в дальнейшем развитии технологии SDRAM стала DDR SDRAM (Double Data Rate SDRAM - SDRAM с удвоенной скоростью передачи данных). В отличие от SDRAM новая модификация выдает данные в пакетном режиме по обоим фронтам импульса синхронизации, за счет чего пропускная способность возрастает вдвое. Существует несколько спецификаций DDR SDRAM, в зависимости от тактовой частоты системной шины: DDR266, DDR333, DDR400, DDR533. Так, пиковая пропускная способность микросхемы памяти спецификации DDR333 составляет 2,7 Гбайт/с, а для DDR400 -3,2 Гбайт/с. DDR SDRAM в настоящее время является наиболее распространенным типом динамической памяти персональных ВМ.

Микросхемы RDRAM , DRDRAM . Наиболее очевидные способы повышения эффективности работы процессора с памятью - увеличение тактовой частоты шины либо ширины выборки (количества одновременно пересылаемых разрядов). К сожалению, попытки совмещения обоих вариантов наталкиваются на существенные технические трудности (с повышением частоты усугубляются проблемы электромагнитной совместимости, труднее становится обеспечить одновременность поступления потребителю всех параллельно пересылаемых битов информации). В большинстве синхронных DRAM (SDRAM, DDR) применяется широкая выборка (64 бита) при ограниченной частоте шины.

Принципиально отличный подход к построению DRAM был предложен компанией Rambus в 1997 году. В нем упор сделан на повышение тактовой частоты до 400 МГц при одновременном уменьшении ширины выборки до 16 бит. Новая память известна как RDRAM (Rambus Direct RAM). Существует несколько разновидностей этой технологии: Base, Concurrent и Direct. Во всех тактирование ведется по обоим фронтам синхросигналов (как в DDR), благодаря чему результирующая частота составляет соответственно 500-600, 600-700 и 800 МГц. Два первых варианта практически идентичны, а вот изменения в технологии Direct Rambus весьма значительны.

Сначала остановимся на принципиальных моментах технологии RDRAM, ориентируясь в основном на более современный вариант - DRDRAM. Главным отличием от других типов DRAM является оригинальная система обмена данными ядром и контроллером памяти, в основе которой лежит так называемый «канал Rambus», применяющий асинхронный блочно-ориентированный протокол. На логическом уровне информация между контроллером и памятью передается пакетами.

Различают три вида пакетов: пакеты данных, пакеты строк и пакеты столбцов. Пакеты строк и столбцов служат для передачи от контроллера памяти команд управления соответственно линиями строк и столбцов массива запоминающих элементов. Эти команды заменяют обычную систему управления микросхемой с помощью сигналов RAS, CAS, WE и CS.

Массив ЗЭ разбит на банки. Их число в кристалле емкостью 64 Мбит составляет 8 независимых или 16 сдвоенных банков. В сдвоенных банках пара банков использует общие усилители чтения/записи. Внутреннее ядро микросхемы имеет 128-разрядную шину данных, что позволяет по каждому адресу столбца передавать 16 байт. При записи можно использовать маску, в которой каждый бит соответствует одному байту пакета. С помощью маски можно указать, сколько байтов пакета и какие именно должны быть записаны в память.

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

Операция записи может следовать сразу за чтением - нужна лишь задержка на время прохождения сигнала по каналу (от 2,5 до 30 не в зависимости от длины канала). Чтобы выровнять задержки в передаче отдельных битов передаваемого кода, проводники на плате должны располагаться строго параллельно, иметь одинаковую длину (длина линий не должна превышать 12 см) и отвечать строгим требованиям, определенным разработчиком.

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

В имеющихся публикациях упоминается работа Intel и Rambus над новой версией RDRAM, названной nDRAM, которая будет поддерживать передачу данных с частотами до 1600 МГц.

Микросхемы SLDRAM . Потенциальным конкурентом RDRAM на роль стандарта архитектуры памяти для будущих персональных ВМ выступает новый вид динамического ОЗУ, разработанный консорциумом производителей ВМ SyncLm Consortium и известный под аббревиатурой SLDRAM. В отличие от RDRAM, технология которой является собственностью компаний Rambus и Intel, данный стандарт - открытый. На системном уровне технологии очень похожи. Данные и команды от контроллера к памяти и обратно в SLDRAM передаются пакетами п или 8 посылок. Команды, адрес и управляющие сигналы посылаются по однонаправленной 10-разрядной командной шине. Считываемые и записываемые данные подаются по двунаправленной 18-разрядной шине данных. Обе шины работают на одинаковой частоте. Пока что еще эта частота равна 200 МГц, что, благодаря технике DDR, эквивалентно 400 МГц. Следующие поколения SLDRAM должны работать на частотах 400 МГц и выше, то есть обеспечивать эффективную частоту более 800 МГц.

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

Микросхемы ESDRAM . Это синхронная версия EDRAM, в которой используются те же приемы сокращения времени доступа. Операция записи в отличие от ения происходит в обход кэш-памяти, что увеличивает производительность FSDRAM при возобновлении чтения из строки, уже находящейся в кэш-памяти. Благодаря наличию в микросхеме двух банков простои из-за подготовки к операциям чтения/записи сводятся к минимуму. Недостатки у рассматриваемой микросхемы те же, что и у EDRAM - усложнение контроллера, так как он должен учитывать возможность подготовки к чтению в кэш-память новой строки ядра. Кроме того, при произвольной последовательности адресов кэш-память задейству-ется неэффективно.

Микросхемы CDRAM . Данный тип ОЗУ разработан в корпорации Mitsubishi, и его можно рассматривать как пересмотренный вариант ESDRAM, свободный от некоторых ее несовершенств. Изменены емкость кэш-памяти и принцип размещения в ней данных. Емкость одного блока, помещаемого в кэш-память, уменьшена до 128 бит, таким образом, в 16-килобитовом кэше можно одновременно хранить копии из 128 участков памяти, что позволяет эффективнее использовать кэш-память. Замена первого помещенного в кэш участка памяти начинается только после заполнения последнего (128-го) блока. Изменению подверглись и средства доступа. Так, в микросхеме используются раздельные адресные шины для статического кэша и динамического ядра. Перенос данных из динамического ядра в кэш-память совмещен с выдачей данных на шину, поэтому частые, но короткие пересылки не снижают производительности ИМС при считывании из памяти больших объемов информации и уравнивают CDRAM с ESDRAM, а при чтении по выборочным адресам CDRAM явно выигрывает. Необходимо, однако, отметить, что вышеперечисленные изменения привели к еще большему усложнению контроллера памяти.

(Тема)

Запоминающая ячейка динамического типа хранит информацию в виде заряда емкости. Ток утечки обратно смещенного p-n перехода составляет не более 10-10 A (0,1 нA ), а емкость - 0,1..0,2 пФ, следовательно постоянная времени разряда - более 1 мС . Поэтому через каждые 1..2 мС требуется производить подзаряд емкостей запоминающих элементов - регенерацию динамической памяти.

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

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

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

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

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

Различают несколько способов организации регенерации динамических ОЗУ в МПС.

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

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

"Прозрачная" регенерация . Главным достоинством метода прозрачной регенерации является отсутствие простоев МП при регенерации ОЗУ, поскольку для регенерации выбираются такие моменты времени, когда МП не занимает системную шину. Однажды начав регенерацию, совсем не обязательно проводить ее полностью. Циклы регенерации могут чередоваться с процессорными циклами, главное, чтобы процесс регенерации накопителя завершился за время, не превышающее 2 мС . Многие МП формируют специальные сигналы, отмечающие занятость шины. Эти сигналы можно использовать для управления триггером регенерации. Если МП (например, i8080) не формирует сигнала занятости магистрали, то такой сигнал можно сформировать специальной внешней схемой.

Так, в машинном цикле МП i8080 могут появляться такты T4, T5, в которых МП не занимает системную шину. Эти моменты времени можно выделять специальной схемой и использовать для регенерации.

Микропроцессор Z80 имеет встроенный счетчик регенерации и обеспечивает этот процесс самостоятельно параллельно с внутренней обработкой информации на кристалле.

В большинстве МП не предусмотрены средства обеспечения регенерации, т.к. в МПС может и отсутствовать динамическая память. Однако, в составе микропроцессорных комплектов выпускаются специальные БИС контроллеров регенерации. В качестве примера кратко рассмотрим структуру и функционирование БИС К1818ВТ03 - "Контроллер динамической памяти". Ниже показана структура БИС 565РУ5 (64К´ 1), а на рис.3 временная диаграмма ее работы.


Рис. 2 . Структура БИС динамического ОЗУ

БИС динамических ЗУ имеют объемы от 16К´ 1 (565РУ3) до 1М´ 1 (..РУ9 ), но имеют одинаковую структуру и линии управления (за исключением числа адресных).


Рис. 3 . Временная диаграмма работы БИС динамического ОЗУ

Из рисунков следует, что адрес ячейки подается в ОЗУ последовательно двумя порциями по одним и тем же линиям в сопровождении управляющих сигналов RAS\ (строб адреса строки) и CAS\ (строб адреса столбца). Поэтому адрес на системной шине, формируемый МП, должен мультиплексироваться, одновременно вырабатываться управляющие сигналы RAS и CAS.

Кристалл ОЗУ бывает выбран только при условии RAS = CAS = 0, что позволяет осуществлять селекцию блоков по двум координатам.

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

Структурная схема контроллеравключает в себя :

· буферные схемы Буф.1,2,3 для подключения системной шины адреса и управления;

· счетчик адреса регенерации;

· мультиплексоры MUX1,2;

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

КДП обеспечивает преобразование сигналов системной шины МПС в сигналы управления динамическим ОЗУ, причем может работать в двух режимах : "16/64" (на память 16K или 64K соответственно). В режиме "16" две старшие линии адреса используются для формирования одного из сигналов RAS\, в режиме "64" КДП может управлять двумя банками по 64K, причем сигнал RAS появляется на одном из выходов RAS0 или RAS1 - в зависимости от состояния линии RAS3\/B0, которая в режиме "64" становится входом, определяющим номер банка ОЗУ.

Регенерация может осуществляться в двух режимах - внутреннем и внешнем. Если вход REFR остается неактивным 10..16 мкС , то формируется запрос на цикл регенерации от внутреннего таймера, причем в случае конфликта арбитр отдает предпочтение циклу памяти. Таким образом, и при регенерации по таймеру используются свободные такты шины. При внешней регенерации запрос должен быть сформирован на входе REFR.

Сигнал PCS - "Защищенный выбор кристалла" отличается от традиционного CS тем, что если PCS сформирован, то цикл ЗУ аннулировать нельзя.

Рис. 4 . Контроллер динамического ОЗУ

RD, WR - запросы на циклы чтения и записи соответственно.

X0, X1 - выводы для подключения кварцевого резонатора при работе с внутренним генератором. При работе с внешним генератором на вход X0 подается высокий потенциал, а на X1 - частота CLK внешнего генератора.

Выходной сигнал SACK\ вырабатывается КДП в начале цикла обращения к памяти. Если запрос от МП приходится на цикл регенерации, то SACK\ задерживается до начала цикла чтения/записи.

Выходной сигнал XACK\ ("Готовность данных") вырабатывается в конце цикла чтения/записи.

Сигналы SACK\ и XACK\ можно использовать для управления потенциалом на входе READY микропроцессора.

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

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

Типы микросхем динамического ОЗУ

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

Микросхемы DRAM . В первых микросхемах динамической памяти применялся наиболее простой способ обмена данными. Он позволял считывать и записывать строку памяти только на каждый пятый такт (см. рисунок ниже "a"). Этапы такой процедуры были описаны ранее. Традиционной DRAM соответствует формула 5-5-5-5. Микросхемы данного типа могли работать на частотах до 40 МГц и из-за своей медлительности (время доступа составляло около 120 нс) просуществовали недолго.

Микросхемы FРМ DRAM . Микросхемы динамического ОЗУ, реализующие режим FPM (Fast Page Mode), также относятся к ранним типам DRAM. В основе лежит следующая идея. Доступ к ячейкам, лежащим в одной строке матрицы, можно проводить быстрее. Для доступа к очередной ячейке достаточно подавать на микросхему лишь адрес нового столбца, сопровождая его сигналом CAS. Полный же адрес (строки и столбца) передается только при первом обращении к строке. Сигнал RAS остается активным на протяжении всего страничного цикла и позволяет заносить в регистр адреса столбца новую информацию не по спадающему фронту CAS, а как только адрес на входе стабилизируется, то есть практически по переднему фронту сигнала CAS. Схема чтения для FPM DRAM (см. рисунок ниже "b") описывается формулой 5-3-3-3 (всего 14 тактов). Применение схемы быстрого страничного доступа позволило сократить время доступа до 60 нс.

Микросхемы EDO DRAM . Следующим этапом в развитии динамических ОЗУ стали микросхемы с гuперстраничным режимом доступа (НРМ, Нурег Page Mode), более известные как EDO (Extended Data Output - расширенное время удержания данных на выходе). Главная особенность технологии - увеличенное по cpaвнению с FPM DRAM время доступности данных на выходе микросхемы. В микросхемах FPM DRAM выходные данные остаются действительными только при активном сигнале CAS, за счет чего во втором и последующих доступах к строке нужно три такта: такт переключения CAS в активное состояние, такт считывания данных и такт переключения CAS в неактивное состояние. В EDO DRAM по активному (спадающему) фронту сигнала CAS данные запоминаются во внутреннем регистре, где хранятся еще некоторое время после того, как поступит следующий активный фронт сигнала. Это позволяет использовать хранимые данные, когда CAS уже переведен в неактивное состояние. Схема чтения у EDO DRAM уже 5-2- 2-2 (см. рисунок ниже "c"), что на 20% быстрее, чем у FPM. Время доступа составляет порядка 30-40 нс.

Временные диаграммы DRAM, FPM DRAM, EDO DRAM

Микросхемы BEDO DRAM . Технология EDO была усовершенствована компанией VIА Technologies. Новая модификация EDO известна как BEDO (Burst EDO - пакетная EDO). Новизна метода в том, что при первом обращении считывается вся строка микросхемы, в которую входят последовательные слова пакета. За последовательной пересылкой слов (переключением столбцов) автоматически следит внутренний счетчик микросхемы. Это исключает необходимость выдавать адреса для всех ячеек пакета, но требует поддержки со стороны внешней логики. Способ позволяет сократить время считывания второго и последующих слов еще на один такт (см. рисунок ниже), благодаря чему формула приобретает вид 5-1-1-1.

Микросхемы SDRAM . Аббревиатура SDRAM (Sуnchrоnous DRAM - Синхронная DRAM) используется для обозначения микросхем "обычных" синхронных динамических ОЗУ. Кардинальные отличия SDRAM от рассмотренных выше асинхронных динамических ОЗУ можно свести к четырем положениям:

Синхронный метод передачи данных на шину;

Применение нескольких (двух или четырех) внутренних банков памяти;

Конвейерный механизм пересылки пакета;

Передача части функций контроллера памяти логике самой микросхемы.

Синхронность памяти позволяет контроллеру памяти "знать" моменты готовности данных, за счет чего снижаются издержки циклов ожидания и поиска данных. Так как данные появляются на выходе микросхемы одновременно с тактовыми импульсами, упрощается взаимодействие памяти с другими устройствами ЭВМ.В отличие от ВЕDО конвейер позволяет передавать данные пакета по тактам, благодаря чему ОЗУ может работать бесперебойно на более высоких частотах, чем асинхронные ОЗУ.

Временные диаграммы BEDO DRAM, SDRAM

Микросхемы DDR SDRAM . Важным этапом в дальнейшем развитии технологии SDRAM стала DDR SDRAM (Double Data Rate SDRAM - SDRAM с удвоенной скоростью передачи данных). В отличие от SDRAM, новая модификация выдает данные в пакетном режиме по обоим фронтам импульса синхронизации, из-за чего пропускная способность возрастает вдвое.

Микросхемы RDRAM, DRDRAM . Принципиально отличный подход к построению DRAM был предложен компанией Rambus в 1997 году. В нем используется оригинальная система обмена данными между ядром и контроллером памяти. В таблице (см. таблица ниже) приведены сравнительные характеристики перечисленных выше микросхем памяти. Ведутся работы по повышению быстродействия, в частности, связанные с применением КЭШ в микросхемах (CDRAM).

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

Схема запоминающего элемента динамического ОЗУ и его конструкция приведена на рисунке 1.


Рисунок 1. Схема запоминающего элемента динамического ОЗУ и его конструкция

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


Рисунок 2. Графики изменения напряжения на линии считывания при считывании информации с запоминающей ячейки

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

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


Рисунок 3. Схема регенерирующего каскада динамического ОЗУ

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

Особенностью динамических ОЗУ является мультиплексирование шины адреса. Адрес строки и адрес столбца передаются поочередно. Адрес строки синхронизируется стробирующим сигналом RAS# (Row Address strobe), а адрес столбца - CAS# (Column Adress Strobe). Мультиплексирование адресов позволяет уменьшить количество ножек микросхем ОЗУ. Изображение микросхемы динамического ОЗУ приведено на рисунке 4, а временные диаграммы обращения к динамическому ОЗУ на рисунке 5.


Рисунок 4. Изображение динамического ОЗУ на принципиальных схемах


Рисунок 5. Временная диаграмма обращения к динамическому ОЗУ

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

Такой режим обращения к динамическому ОЗУ называется быстрым страничным режимом доступа FPM (Fast Page Mode). Длина считываемого блока данных равна четырем словам. Для того, чтобы оценить время такого режима доступа к памяти время измеряют в тактах системной шины процессора. В обычном режиме доступа к памяти время доступа одинаково для всех слов. Поэтому цикл обращения к динамической памяти можно записать как 5-5-5-5. При режиме быстрого страничного доступа цикл обращения к динамической памяти можно записать как 5-3-3-3, то есть время обращения к первой ячейке не изменяется по сравнению с предыдущим случаем, а считывание последующих ячеек сокращается до трех тактов. При этом среднее время доступа к памяти сокращается почти в полтора раза. Временная диаграмма режима FPM приведена на рисунке 6.



Рисунок 6. Временная диаграмма обращения к динамическому ОЗУ в режиме FPM

Еще одним способом увеличения быстродействия ОЗУ является применение микросхем EDO (Extended Data Out — ОЗУ с расширенным выходом данных). В EDO ОЗУ усилители-регенераторы не сбрасываются по окончанию строба CAS#, поэтому времени для считывания данных в таком режиме больше. Теперь для того чтобы сохранить время считывания на прежнем уровне можно увеличить тактовую частоту системной шины и тем самым увеличить быстродействие компьютера. Для EDO ОЗУ цикл обращения к динамической памяти можно записать как 5-2-2-2.

Следующим шагом в развитии схем динамического ОЗУ было применение в составе ОЗУ счетчика столбцов. То есть при переходе адреса ячейки к следующему столбцу запоминающей матрицы адрес столбца инкрементируется (увеличивается) автоматически. Такое ОЗУ получило название BEDO (ОЗУ с пакетным доступом). В этом типе ОЗУ удалось достигнуть режима обращения к динамической памяти 5-1-1-1.

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



Рисунок 7. Структурная схема конвейерной обработки данных

Из приведенного рисунка видно что, несмотря на то, что при считывании одной ячейки памяти время доступа к ОЗУ увеличивается, при считывании нескольких соседних ячеек памяти общее быстродействие микросхем синхронного динамического ОЗУ увеличивается. http://www.epos.kiev.ua/pubs/pm/pc133.htm

Литература:

Вместе со статьей "Динамические оперативные запоминающие устройства" читают: