Синхронные динамические озу. Динамические оперативные запоминающие устройства (ОЗУ)

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

(См. оригинал)

Рис. 11.29. 12-разрядные двухканальвые ЦАП (с любезного разрешения Analog Devices), а - микросхема 7537 с шириной загрузки 1 байт; б - микросхема 7547 с шириной загрузки 12 бит.

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

Статические и динамические ОЗУ.

В статических ОЗУ биты хранятся в матрицах триггеров, в то время как в динамических ОЗУ - в заряженных конденсаторах. Бит, записанный в статическое ОЗУ, остается в нем до тех пор, пока не будет перезаписан, или пока не выключится источник питания. В динамическом ОЗУ данные, если их не «регенерировать», исчезнут менее чем через секунду. Другими словами, динамическое ОЗУ непрерывно забывает данные, и чтобы их сохранить, приходится периодически опрашивать «строки» двумерной матрицы битов в микросхеме памяти. Например, в ОЗУ объемом 256 кбит к каждому из 256 рядов приходится обращаться каждые 4 мс.

Вы можете задаться вопросом, кому же придет в голову выбирать динамическое ОЗУ? Дело в том, что обходясь без триггеров, динамическое ОЗУ занимает меньше места, в результате чего микросхема большей емкости оказывается дешевле. Например, популярное сегодня статическое ОЗУ емкостью кбит) стоит около 10 долл., в два раза больше нынешней цены динамического ОЗУ емкостью 1 Мбит. В результате, используя динамические ОЗУ, вы за половину стоимости будете иметь в 4 раза больше памяти.

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

Статические ОЗУ. Мы уже столкнулись со статическим ОЗУ в нашей микропроцессорной разработке, где одно такое ОЗУ емкостью использовалось для размещения данных, стека и рабочей области (программа была записана в РПЗУ). Организовать обмен данными со статическим ОЗУ проще простого: в цикле чтения вы устанавливаете сигналы адреса, выбора микросхемы (CS) и разрешения выхода (ОЕ); запрошенные данные появляются на тристабильных линиях данных спустя максимум (адресное время доступа). В цикле записи вы устанавливаете сигналы адреса, данных и CS, а затем (спустя время упреждения адреса ) импульс разрешения записи (WE); достоверные данные записываются в конце импульса WE. Действующие временные ограничения для 120 не статического ОЗУ показаны на рис. 11.30, из которого видно, что «быстродействие» памяти - это время от установки достоверного адреса до достоверных данных (при чтении) или до завершения цикла записи (при записи).

Рис. 11.30. Синхронизация статического ОЗУ с быстродействием 120 нс. а - цикл чтения, б - цикл записи.

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

Микросхемы статических ОЗУ могут иметь емкость от 1 Кбит (или меньше) до 1 Мбит при ширине 1, 4 или 8 бит. Быстродействие (время доступа) колеблется от 150 до 10 не или около того. В настоящее время широко используются недорогие статические КМОП ОЗУ емкостью с временем доступа 80 не, а также меньше по емкости, но более быстродействующие не) статические КМОП ОЗУ для кеш-памяти. Варианты микросхем могут иметь отдельные выводы для входов и выходов, два порта доступа и то или иное внешнее оформление (например, однорядный корпус ).

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

Упражнение 11.18. А почему?

Динамические ОЗУ. По сравнению со статическими ОЗУ динамические ОЗУ - это сплошная мигрень. На рис. 11.31 показан нормальный цикл. Адрес (содержащий, например, для ОЗУ объемом 1 Мбайт 20 бит) расщепляется на две группы и мультиплексируется на вдвое меньшее число выводов, сначала «адрес строки», стробируемый сигналом Address Strobe - строб адреса строки), а затем «адрес колонки», стробируемый сигналом CAS (Column Address -строб адреса колонки). Данные записываются (или читаются в соответствии с состоянием входа направления ) вслед за установкой CAS. Перед началом следующего цикла памяти должно пройти некоторое время «выдержки RAS», поэтому длительность цикла больше времени доступа; например, динамическое ОЗУ может иметь время доступа 100 не и длительность цикла 200 не. Цикл регенерации выглядит так же, но без сигнала CAS. Вообще-то обычные обращения к памяти отлично ее регенерируют, если только вы можете гарантировать обращения со всеми возможными адресами строк!

Динамические ОЗУ, как и статические, выпускаются с шириной данных 1, 4 и 8 бит, емкостью от 64 Кбит до 4 Мбит и с быстродействием приблизительно от 70 до 150 не. Наиболее популярны большие -битовые микросхемы, что вполне объяснимо: если вам нужна большая матрица памяти, скажем объемом 4 Мбайт и шириной 16 бит, и имеются в наличии ОЗУ емкостью 1 Мбит с организацией , имеет смысл использовать -битовые микросхемы, потому что (а) каждая линия данных будет подключена только к двум микросхемам (а не к 16), что существенно уменьшит емкостную нагрузку, и (б) эти микросхемы занимают меньше места, потому что меньшее число выводов данных более чем компенсирует дополнительные адресные выводы.

Рис. 11.31. Циклы чтения и записи динамического ОЗУ (Motorola, 120 нс).

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

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

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

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

Впрочем, почти полностью! Основные неприятности с динамическими ОЗУ начинаются, когда вы пытаетесь освободиться от наводок на всех этих стробирующих и адресных магистральных линиях. Суть проблемы заключается в том, что несколько десятков корпусов МОП-схем оказываются разбросанными на большой площади системной платы, причем ко всем корпусам подходят управляющие и адресные шины. Для подключения к ним нескольких десятков микросхем требуются мощные выходные каскады Шоттки; однако большая длина линий и распределенная входная емкость в сочетании с крутыми фронтами выходных каскадов приводят к появлению «звона» большой амплитуды. Часто можно увидеть на адресных линиях ОЗУ отрицательные выбросы до -2 В! Типичным средством борьбы (не всегда полностью успешной) является включение на выходе каждого драйвера последовательных демпфирующих резисторов с сопротивлением около 33 Ом. Другая проблема заключается в огромных переходных токах, часто достигающих величины на линию. Представьте себе микросхему -разрядного драйвера, у которого большинство выходов случайно переключаются в одном направлении, например, с высокого уровня на низкий. Это приводит к переходному току величиной около 1 А, который на некоторое время повышает потенциал нулевого вывода, а вместе с ним и всех выходов, которые должны были иметь низкий уровень. Отмеченная проблема отнюдь не носит академического характера - однажды мы наблюдали сбои в работе памяти как раз из-за таких переходных токов на нулевом выводе, образующихся из-за выбросов токов -драйвера. При этом наводки, проходящие в -драйверы той же микросхемы, оказывались достаточными для завершения цикла памяти!

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

Мы пришли к выводу, что логические драйверы с внешними резисторами хорошо работают с динамическим ОЗУ, как и специальные драйверы типа , которые включают интегральные демпфирующие резисторы. Контроллер динамического ОЗУ , упоминавшийся выше, по заверениям разработчиков может обслуживать до 88 микросхем памяти без внешних компонент, давая при этом отрицательные выбросы не более -0,5 В.

Рис. 11.32. Переходные токи динамического ОЗУ.

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

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

Постоянные запоминающие устройства (ПЗУ).

ПЗУ относятся к памяти, неразрушаемой при выключении питания (энергонезависимой), и нужда в них возникает практически в любой компьютерной системе. К примеру, в микрокомпьютерах необходимо иметь по крайней мере небольшое ПЗУ для хранения последовательности команд начальной загрузки, которая включает не только строки выделения стека и инициализации портов и прерываний, но также и команды, обеспечивающие чтение операционной системы с диска. Когда ваш персональный компьютер выполняет тестирование памяти и затем загружает DOS, он выполняет приказы некоторого ПЗУ. Кроме того, для микрокомпьютера типично хранение в ПЗУ некоторой части операционной системы (обычно наиболее аппаратно-зависимых модулей); эта часть называется «базовой системой ввода-вывода» (basic I/O system, BIOS) и обеспечивает стандартный механизм для обращения операционной системы к конкретным портам. ПЗУ широко используются для хранения различных таблиц, например, для генератора символов, отображаемых на экране дисплея. В предельном случае вообще вся операционная система, включая даже компиляторы и графические программы, может размещаться в ПЗУ. Например, в микрокомпьютере Macintosh значительная часть системного программного обеспечения записана в ПЗУ, и почти все 256 Кбайт ОЗУ отдаются пользователю. Однако такой «ПЗУ-ориентированный» подход используется в микрокомпьютерах относительно редко ввиду его негибкости; заметьте, однако, что исправление ошибок и умеренные усовершенствования программного обеспечения могут осуществляться с помощью заплат, размещаемых в ОЗУ.

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

РПЗУ. Стираемые программируемые постоянные запоминающие устройства выполняются в виде больших микросхем с кварцевым окном. Это, несомненно, самый популярный тип энергонезависимой памяти для компьютеров. РПЗУ используют КМОП- и МОП-технологию и состоят из больших матриц полевых и МОП-транзисторов с плавающим затвором, которые можно зарядить с помощью «лавинной -процесса пробоя слоя, изолирующего затвор, при приложении напряжения свыше 20 В. Данные хранятся в РПЗУ неограниченно долго в виде ничтожного заряда (около 106 электронов) изолированных «погребенных» затворов, которые можно рассматривать как конденсаторы с постоянной времени порядка столетий. Чтобы прочитать состояние отдельного конденсатора, ему надо выступить в качестве затвора канала полевого МОП-транзистора. Поскольку затвор электрически недоступен, стереть заряд можно лишь облучая микросхему интенсивным потоком ультрафиолетовых лучей в течение 10-30 мин, отчего запасенный заряд стекает за счет явления фотопроводимости. В результате отдельные байты РПЗУ выборочно стереть нельзя.

В первом издании этой книги мы упоминали «классическую» микросхему 2716, РПЗУ стоившую 25 долл. Теперь она стала такой классической, что ее уже нигде не достанешь! Типичные РПЗУ нашего времени имеют емкость от до и цену несколько долларов. Время доступа обычно составляет 150- 300 не, хотя такие компании, как Cypress, предлагают ПЗУ небольшого объема с быстродействием 25 не. Чтобы запрограммировать РПЗУ, к нему надо просто приложить повышенное напряжение (обычно 12,5 или 21 В), устанавливая при этом требуемые значения байтов. Исходные алгоритмы требовали на программирование каждого байта (что дает 100 с для микросхемы 2716, но для РПЗУ умеренного объема превращается в полчаса). Выпуск больших ПЗУ потребовал от разработчиков изобретения более совершенных алгоритмов, в которых каждый байт программируется последовательностью импульсов длительностью , причем после каждой записи делается попытка чтения; когда байт считывается правильно, выполняется окончательная запись, равная по длительности утроенной сумме всех предыдущих. Большая часть байтов программируется первым же импульсом, в результате на каждый байт тратится около , а на все ПЗУ объемом - 2 мин.

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

Для РПЗУ характерно ограниченное число циклов репрограммирования, т. е. стирания и программирования заново. Производители неохотно называют это число, хотя вы можете считать, что микросхема заметно ухудшит свои характеристики лишь после 100 или около того циклов стирания / программирования.

Рис. 11.33. Микроконтроллер с РПЗУ. а - 8-разрядный микроконтроллер с контактами для установки РПЗУ; б - 8-разрядный микроконтроллер со встроенным РПЗУ.

Масочные ПЗУ и ПЗУ с плавкими перемычками. Масочно-программируемые ПЗУ относятся к категории заказных микросхем, которые рождаются с указанным вами расположением бит. Фирма-производитель преобразует вашу спецификацию бит в маску металлизации, используемую далее при изготовлении ПЗУ. Такая процедура хороша для больших партий микросхем, и вам, надеемся, не придет в голову заказывать ПЗУ с масочным программированием для макетного образца. Типичная стоимость составляет от 1 до 3 тыс. долл. за производственный цикл, и фирмы неохотно берут заказы на партии ПЗУ менее тысячи штук. При таких количествах микросхема может обойтись в несколько долларов.

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

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

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

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

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

Рис. 11.34. ЭРПЗУ.

Протокол -опроса удобен тем, что ЭРПЗУ можно вставить в стандартный разъем для ОЗУ без каких-либо схемных изменений (разумеется, в ваши программы придется включить строки анализа считываемых назад данных и ожидания их совпадения с тем, что вы записываете). Поскольку запись в ЭРПЗУ выполняется относительно редко, фактически в прерываниях по линии RDY/BUSY необходимости не возникает.

КМОП ЭРПЗУ выпускаются в виде микросхем с емкостью по цене примерно 10-50 долл. Время доступа (200-300 не) и время программирования при использовании внутреннего усовершенствования алгоритма) сравнимы с показателями стандартного РПЗУ. ЭРПЗУ, как и РПЗУ, допускают ограниченное число циклов чтения записи. Хотя производители избегают называть конкретные цифры, можно встретить упоминание о 100000 циклах чтения записи при .

Замечание. Хотя ЭРПЗУ уникальны в том отношении, что допускают репрограммирование в рабочей схеме, их также можно запрограммировать и отдельно от места использования, в программаторе для РПЗУ. Это делает их очень удобными для разработки встроенного программного обеспечения, так как вам не надо ждать полчаса, пока РПЗУ со старой программой прожарится под ультрафиолетовым облучателем.

Имеются два любопытных варианта ЭРПЗУ. Фирмы National, Xicor и др. выпускают маленькие микросхемы ЭРПЗУ в с 8 выводами. Емкость этих схем может составлять от до бит; они работают в режиме последовательного доступа и оснащаются тактовым входом и единственной линией данных. Эти микросхемы трудно использовать без микропроцессора; однако в приборах с микропроцессорным управлением они очень удобны для хранения небольшого количества установочных параметров и проч. Та же фирма Xicor выпускает «электрически стираемый потенциометр , остроумное применение электрически стираемой памяти, в которой хранится положение «цифрового контакта». В эту микросхему встроена цепочка из 99 равных по величине резисторов, причем положение отвода от них, устанавливаемое программно, сохраняется в энергонезависимой памяти, входящей в ту же микросхему. Нетрудно представить себе прикладные задачи, в которых желательна автоматическая или дистанционная калибровка некоторого инструмента без механической настройки ручек управления.

Недавно появившаяся модификация ЭРПЗУ, называемая моментальной (flash), сочетает высокую плотность РПЗУ с репрограммированием в рабочей схеме, присущим ЭРПЗУ. Однако моментальные РПЗУ, как правило, не позволяют стирать отдельные байты, как это можно делать с обычными ЭРПЗУ. Так, моментальное ЭРПЗУ Intel допускает только полное стирание (как и РПЗУ), в то время как в микросхеме фирмы Seeq предусмотрено стирание либо посекторное (512 байт), либо целиком. Далее, большинство доступных сейчас моментальных ЭРПЗУ требуют дополнительного отключаемого источника питания +12 В на время стирания/записи, что является слишком дорогой ценой, если вспомнить, что обычные ЭРПЗУ питаются от единственного источника + 5 В.

Моментальные ЭРПЗУ могут выдерживать от 100 до 10000 программных циклов.

Технология производства ППЗУ продолжает развиваться, и мы с любопытством ожидаем, что она нам еще преподнесет; ждите и вы!

Энергонезависимые ОЗУ.

РПЗУ удобны для применения в качестве энергонезависимых ПЗУ, однако часто возникает необходимость иметь энергонезависимую оперативную память. Для этого можно использовать ЭРПЗУ, однако для них характерен очень длинный ) цикл записи (и ограниченное число циклов чтения/записи). Имеются две возможности достичь характерного для ОЗУ времени чтения записи ) при неограниченном числе циклов чтения записи: использовать либо статическое КМОП ОЗУ с резервным батарейным питанием, либо необычную микросхему фирмы Xicor, в которой объединены статическое ОЗУ и ЭРПЗУ.

Ранее уже обсуждался вопрос о резервном батарейном питании ОЗУ, которое убивает двух зайцев разом: низкая цена и высокая скорость чтения записи ОЗУ сочетаются с энергонезависимостью ПЗУ. Разумеется, в этом случае следует использовать КМОП ОЗУ с известным значением критического тока. Некоторые фирмы выпускают «энергонезависимые ОЗУ», размещая в обычном -корпусе вместе с микросхемой КМОП ПЗУ литиевую батарейку и логические схемы переключения питания. В качестве примера можно указать микросхемы фирмы Dallas Semiconductor эта фирма также выпускает линейку «интеллектуальных разъемов», содержащих батарейку и логические схемы, с помощью которых обычные ОЗУ как по мановению волшебной палочки становятся энергонезависимыми. Учтите, что образованное таким образом энергонезависимое ОЗУ, строго говоря, не бессмертно; срок службы батарейки, а следовательно, и данных, около 10 лет. Как и для обычного статического ОЗУ, здесь нет ограничений на выдерживаемое памятью число циклов чтения записи. в ОЗУ.

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

Запоминающие устройства: общая сводка.

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

Рис. 11.35. Типы запоминающих устройств.

Динамической памяти в вычислительной машине значительно больше, чем стати­ческой, поскольку именно 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 явно выигрывает. Необходимо, однако, отметить, что вышеперечисленные изменения привели к еще большему усложнению контроллера памяти.

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

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

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

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

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

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

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

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

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

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

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

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

Микросхемы 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 с двумя банками при тактовой частоте шины 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 (DRDRAM) весьма значительны.

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

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

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

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

Как уже отмечалось, информация в ячейке динамического ОЗУ представлена в виде наличия или отсутствия заряда на конденсаторе. Схема ячейки памяти ЯП динамического ЗУ на одном МОП–транзисторе с индуцируемым p-каналом представлена на рис. 6.6 (выделена пунктирной линией). На схеме также показаны общие элементы для n -ячеек одного столбца. Главное достоинство этой схемы — малая занимаемая площадь. Накопительный конденсатор C 1 имеет МДП-структуру и изготавливается в едином технологическом цикле. Величина его емкости составляет сотые доли пикоФарад. Конденсатор C 1 хранит информационный заряд. Транзистор VT 1 выполняет роль переключателя, передающего заряд конденсатора в разрядную шину данных ШД при считывании, либо заряжающего конденсатор при записи. В режиме хранения на адресной линии должен присутствовать потенциал логической единицы, под действием которого транзистор VT 1 будет закрыт (U зи VT 1 ?0) и конденсатор C 1 отключен от шины данных ШД . Включение конденсатора в шину данных осуществляется логическим нулем на линии . При этом на транзистор VT 1 подается напряжение U зи. VT 1 <0, что приводит к его открыванию.

Рис. 6.6. Принципиальная схема ячейки ОЗУ динамического типа с элементами записи и усилителя считывания.

Поскольку шина данных ШД объединяет все ячейки памяти данного столбца, то она характеризуется большой длиной и ее собственная емкость имеет существенное значение. Поэтому при открывании транзистора VT 1 потенциал шины данных изменяется незначительно. Чтобы установившийся потенциал на ШД однозначно идентифицировать с уровнем напряжения логического нуля или логической единицы, используется усилитель на базе транзистора VT 2 и резистора R . Непосредственно перед считыванием емкость шины данных подзаряжают подключением ее к источнику питания через транзистор VT 4. Делается это для фиксации потенциала шины данных. При считывании информации происходит перераспределение заряда конденсатора и заряда шины данных, в результате чего информация, хранимая на конденсаторе С 1, разрушается. Поэтому в цикле считывания необходимо произвести восстановление (регенерацию) заряда конденсатора. Для этих целей, а также для записи в ячейку памяти новых значений, используются транзисторы VT 3 и VT 4, которые подключают шину данных либо к источнику питания, либо к нулевому общему потенциалу. Для записи в ячейку памяти логической единицы необходимо открыть транзистор VT4 нулевым значением управляющего сигнала «» и подключить к шине данных источник питания. Для записи логического нуля необходимо нулевым потенциалом на входе «» открыть транзистор VT3. Одновременная подача логических нулей на входы «» и «» не допускается, так как это вызовет короткое замыкание источника питания на общий провод заземления.

На рис. 6.7 показан пример структуры микросхемы динамического ОЗУ емкостью 64кбит. Данные в этой микросхеме памяти представлены как 64к отдельных бит, т.е. формат памяти 64к?1. Ввод и вывод осуществляется раздельно, для чего предусмотрена пара выводов DI (вход) и (выход). Для ввода адреса имеется восемь контактов A 0 — A 7. Адресация к 64к ячейкам памяти осуществляется шестнадцатиразрядными адресами A 0 — A 15 . Причем сначала на входы A 0-A 7 подаются восемь младших разрядов А 0 – А 7 адреса, а затем – восемь старших разрядов А 8 – А 15 . Восемь младших разрядов адреса фиксируются в регистре адреса строки подачей сигнала (сигнал выборки строки). Восемь старших разрядов адреса фиксируются в регистре адреса столбца подачей сигнала (сигнал выборки столбца). Такой режим передачи кода адреса называется мультиплексированным по времени. Мультиплексирование позволяет сократить количество выводов микросхемы. Ячейки памяти расположены в виде матрицы из 128 строк и 512 столбцов. Дешифратором строк вырабатывается адресный сигнал выборки ячеек памяти i -ой строки, т.е. выбирается одна из 128 строк. Обращение к строке вызывает подключение 512 ячеек памяти через соответствующие разрядные шины данных ШД этой строки к усилителям считывания (по одному на столбец). При этом автоматически происходит подзаряд запоминающих конденсаторов всех ячеек памяти выбранной строки до исходного уровня за счет передачи усиленного сигнала по цепи обратной связи. Этот процесс называется регенерацией памяти . Дешифратор столбцов выбирает один из 512 усилителей считывания. Бит, выбранный в режиме считывания, выдается на линию . Если одновременно с сигналом при предварительно установленном сигнале действует сигнал записи , то бит с входа DI будет записан в выбранную ячейку памяти, при этом выход микросхемы остается в отключенном состоянии в течение всего цикла записи.

Рис. 6.7. Структура микросхемы ОЗУ динамического типа.

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

Рис. 6.8.Временная диаграмма работы ОЗУ динамического типа.

В режиме записи (рис. 6.8,б ) за время цикла записи t цз принимается интервал времени между появлением сигнала и окончанием сигнала . В момент появления сигнала записываемые данные уже должны поступать на вход DI . Сигнал обычно вырабатывается раньше сигнала .

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

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

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

Лидером в производстве микросхем динамического ОЗУ на сегодняшний день является фирма Samsung. Емкость одной микросхемы DRAM достигает значения 128 Мбайт и более. Кроме того, этой фирмой предлагается ряд передовых идей по обеспечению наибольшего быстродействия. Например, операции чтения и записи выполняются дважды за один такт – по переднему и заднему фронтам тактового импульса. Фирмой Mitsubishi предложена концепция встраивания в микросхемы динамической памяти статической кэш-памяти небольшого объема (Cashed DRAM), в которой хранятся наиболее часто запрашиваемые данные.

Статические оперативные запоминающие устройства позволяют обеспечивать хранение записанной информации до тех пор, пока на микросхему подаётся питание. Однако запоминающая ячейка статического ОЗУ занимает относительно большую площадь, поэтому для ОЗУ большого объема в качестве запоминающей ячейки применяют конденсатор. Заряд на этой ёмкости естественно с течением времени уменьшается, поэтому его необходимо подзаряжать с периодом приблизительно 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

Литература:

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