Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Организация ЭВМиС; Орлов С.А., Цилькер Б.Я

..pdf
Скачиваний:
422
Добавлен:
25.12.2020
Размер:
5.43 Mб
Скачать

Основная память

241

 

 

столбца — сигналом CAS (Column Address Strobe — строб столбца). Вторую букву в аббревиатурах RAS и CAS иногда расшифровывают как Access — «доступ», то есть имеется строб доступа к строке и строб доступа к столбцу. Чтобы стробирование было надежным, эти сигналы подаются с задержкой, достаточной для завершения переходных процессов на шине адреса и в адресных цепях микросхемы.

Рис. 6.6. Структура микросхемы памяти

Сигнал выбора микросхемы CS (Chip Select) разрешает работу ИМС и используется для выбора определенной микросхемы в системах, состоящих из нескольких ИМС. Вход WE (Write Enable — разрешение записи) определяет вид выполняемой операции (считывание или запись).

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

242

Глава 6. Память

 

 

данных. Управление переключением в третье состояние обеспечивается сигналом OE (Output Enable — разрешение выдачи выходных сигналов). Этот сигнал активизируется при выполнении операции чтения.

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

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

1.Указание типа операции (чтение или запись) и установка адреса строки.

2.Формирование сигнала RAS.

3.Установка адреса столбца.

4.Формирование сигнала CAS.

5.Возврат сигналов RAS и CAS в неактивное состояние.

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

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

Рис. 6.7. Временная диаграмма «классической» процедуры чтения

Основная память

243

 

 

Разработчики микросхем памяти тратят значительные усилия на повышение быстродействия ИМС, которое принято характеризовать четырьмя параметрами:

tRAS — минимальное время от перепада сигнала RAS (с высокого уровня к низкому) до момента появления и стабилизации считанных данных на выходе ИМС. Среди приводившихся в начале главы характеристик быстродействия это соответствует времени выборки данных;

tRC — минимальное время от начала доступа к одной строке микросхемы памяти до начала доступа к следующей строке. Этот параметр также упоминался в начале главы как цикл обращения к ЗУ ТЦ;

tCAS — минимальное время от перепада сигнала CAS с высокого уровня к низкому до момента появления и стабилизации считанных данных на выходе ИМС;

TPC — минимальное время от начала доступа к одному столбцу микросхемы памяти до начала доступа к следующему столбцу.

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

последовательный;регистровый;

быстрый постраничный;пакетный;конвейерный;

удвоенной скорости.

Последовательный режим

Последовательный режим (Flow through Mode) представляет собой вариант реали­ зации классического доступа к памяти в синхронных микросхемах. Адрес и управляющие сигналы подаются на микросхему до поступления синхроимпульса. В момент­ прихода синхроимпульса вся входная информация запоминается во внутренних регистрах — по его переднему фронту, и начинается цикл чтения. Через некоторое время, но в пределах того же цикла данные появляются на внешней шине, причем момент этот определяется только моментом прихода синхронизирующего импульса и скоростью внутренних цепей микросхемы.

Регистровый режим

Регистровый режим (Register to Latch) используется относительно редко и отличается от последовательного режима наличием регистра на выходе микросхемы. Считанные данные заносятся в промежуточный выходной регистр и хранятся там до появления отрицательного фронта (спада) синхроимпульса и в этот момент передаются на шину. Изменяя ширину импульса синхронизации, можно менять время появления данных на шине, что оказывается весьма полезным при проектировании специализированных ВМ. По быстродействию микросхемы с регистровым режимом идентичны ИМС с последовательным режимом.

244

Глава 6. Память

 

 

Быстрый постраничный режим

Под страницей понимается строка матрицы ЗЭ. Последовательность элементов страницы соответствует ячейкам памяти с последовательно возрастающими адресами. Это позволяет при доступе к ячейкам со смежными адресами (согласно принципу локальности такая ситуация наиболее вероятна) существенно ускорить доступ ко второй и последующим ячейкам. Для доступа к очередной ячейке достаточно подавать на ИМС лишь адрес нового столбца, сопровождая его сигналом CAS. Отметим, что обращение к первой ячейке в последовательности производится стандартным образом — поочередным заданием адреса строки и адреса столбца, то есть здесь время доступа уменьшить практически невозможно. Рассмотренный режим называется режимом постраничного доступа или просто постраничным режимом (Page Mode). В интегральных микросхемах DRAM распространена модификация режима, известная как быстрый постраничный режим (FPM — Fast Page Mode). Особенность модификации — в способе занесения новой информации в регистр адреса столбца. Полный адрес (строки и столбца) передается только при первом обращении к строке. Активизация регистра адреса столбца производится не по сигналу CAS, а по заднему фронту сигнала RAS. Сигнал RAS остается активным на протяжении всего страничного цикла и позволяет заносить в регистр адреса столбца новую информацию не по спадающему фронту CAS, а как только адрес на входе ИМС стабилизируется, то есть практически по переднему фронту сигнала CAS. Временная диаграмма операции чтения для рассматриваемого режима показана на рис. 6.8.

Рис. 6.8. Временная диаграмма операции чтения в быстром постраничном режиме

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

Микросхемы, где реализуется постраничный режим и его модификации, принято характеризовать формулой x-y-y-y. Первое число x представляет количество тактов системной шины, необходимое для доступа к первой ячейке последовательности, а числа y — количество тактов для доступа к каждой из последующих ячеек. Так, выражение 7-3-3-3 означает, что для обработки первого слова необходимо 7 тактовых периодов системной шины (в течение шести из которых шина простаивает

Основная память

245

 

 

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

Пакетный режим

Пакетный режим (Burst Mode) — режим, при котором на запрос по конкретному адресу память возвращает пакет данных, хранящихся не только по этому адресу, но и по нескольким последующим адресам.

Разрядность ячейки памяти современных ВМ обычно равна одному байту. Если ширина шины данных равна четырем байтам, то одно обращение к памяти требует последовательного доступа к четырем смежным ячейкам — пакету1. С учетом этого обстоятельства, в ИМС памяти часто используется модификация страничного режима, носящая название группового или пакетного режима. При его реализации адрес столбца заносится в ИМС только для первой ячейки пакета, а переход к очередному столбцу производится уже внутри микросхемы. Это позволяет для каждого пакета исключить три из четырех операций занесения в ИМС адреса столбца и тем самым еще более сократить среднее время доступа (рис. 6.9).

Рис. 6.9. Временная диаграмма операции чтения в пакетном режиме

Конвейерный режим

В конвейерном режиме (pipeline mode) процесс разбивается на два этапа. Пока данные из предыдущего цикла чтения передаются на внешнюю шину, происходит запрос на следующую операцию чтения. Таким образом, два цикла чтения перекрываются во времени. Из-за усложнения схемы передачи данных на внешнюю шину время считывания увеличивается на один такт, и данные поступают на выход только в следующем такте, но такое запаздывание наблюдается лишь при первом чтении в последовательности операций считывания из памяти. Все последующие данные поступают на выход друг за другом, хотя и с запаздыванием на один такт относительно запроса на чтение. Так как циклы чтения перекрываются, микросхемы с конвейерным режимом могут использоваться при частотах шины, вдвое превышающих допустимую для ИМС с последовательным режимом чтения. На рис. 6.10 показана временная диаграмма операции чтения, в которой конвейерный режим сочетается с пакетным.

1Строго говоря, количество ячеек, считываемое за один раз без дополнительного указания адреса и называемое длиной пакета (burst length), в большинстве случаев может программироваться. Помимо упомянутых четырех, это могут быть 1, 2 или 8 ячеек подряд.

246

Глава 6. Память

 

 

Рис. 6.10. Временная диаграмма операции чтения в пакетном режиме с конвейеризацией

Режим удвоенной скорости

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

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

Оперативные запоминающие устройства

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

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

Статические оперативные запоминающие устройства

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

1Оперативной называют память, в которой размещаются данные, над которыми непосредственно производятся операции процессора.

Основная память

247

 

 

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

Статические ОЗУ на настоящий момент — наиболее быстрый, правда, и наиболее дорогостоящий вид оперативной памяти. Известно достаточно много различных вариантов реализации SRAM, отличающихся по технологии и способам организации. Основная сфера применения статических ОЗУ — кэш-память. Несмотря на то что статические ОЗУ могут быть построены как по асинхронной, так и по синхронной схеме, в настоящее время предпочтение отдается синхронным ЗУ. В рамках группы синхронных статических ОЗУ выделяют ИМС типа SSRAM и более совершенные PB SRAM.

Как и в любой синхронной памяти, все события в SSRAM происходят с поступлением внешних тактовых импульсов. Отличительная особенность SSRAM — регистры, где фиксируется входная информация. Рассматриваемый вид памяти обеспечивает работу в пакетном режиме с формулой 3-1-1-1, но лишь до определенных значений тактовой частоты шины. При более высоких частотах формула изменяется на 3-2- 2-2. В варианте с пакетным конвейерным доступом (PB SRAM — Pipelined Burst SRAM) реализована внутренняя конвейеризация, за счет которой скорость обмена пакетами данных возрастает примерно вдвое. Память данного типа хорошо работает при повышенных частотах системной шины. Время доступа к PB SRAM составляет от 4,5 до 8 нс, при этом формула 3-1-1-1 сохраняется даже при более высоких частотах системной шины.

Важным моментом, характеризующим SRAM, является технология записи. Известны два варианта записи: стандартная и запаздывающая. В стандартном режиме адрес и данные выставляются на соответствующие шины в одном и том же такте.

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

Вразвитие идеи записи с запаздыванием компания IDT (Integrated Device Tech­ nology) предложила технологию, получившую название ZBT SRAM (Zero Bus Turnaround) — нулевое время переключения шины. Идея ее состоит в том, чтобы запись с запаздыванием производить с таким же интервалом, какой требуется для чтения. Так, если SRAM с конвейерным чтением требует три тактовых периода для чтения данных из ячейки, то данные для записи нужно передавать с таким же промедлением относительно адреса. В результате перекрывающиеся циклы чтения

248

Глава 6. Память

 

 

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

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

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

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

Наличие или отсутствие заряда в конденсаторе интерпретируется как 1 или 0 соответственно. Простота схемы позволяет достичь высокой плотности размещения ЗЭ и в итоге снизить стоимость. Плотность упаковки ЗЭ в микросхемах динамических ОЗУ по сравнению со статическими выше в 4–8 раз, а отношение стоимость/бит — ниже в 8–16 раз. С другой стороны, считать значение, хранящееся в ячейке DRAM, невозможно, не изменив эту информацию, поэтому после операции считывания заряд нужно восстановить. Такое восстановление производится путем занесения считанной информации в специальный буфер, с последующей перезаписью из буфера на то же место, благодаря чему происходит перезаряд конденсаторов. Кроме того, накапливаемый на конденсаторе заряд из-за паразитных утечек со временем теряется. Среднее время утечки заряда ЗЭ динамической памяти составляет сотни или даже десятки миллисекунд, поэтому заряд необходимо успеть восстановить в течение данного отрезка времени, иначе хранящаяся информация будет утеряна. Периодическое восстановление заряда путем перезаписи информации называется регенерацией и осуществляется каждые 2–8 мс. Операции разрядки-перезарядки могут занимать до 5% от общего времени работы с памятью, снижая скорость работы DRAM. В среднем быстродействие DRAM в 8–16 раз ниже, чем у статической памяти.

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

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

сигналом CAS, предваряющим сигнал RAS (CBR — CAS Before RAS);автоматическая регенерация (SR — Self Refresh).

1Сходную с ZBT SRAM технологию предложила также фирма Cypress Semiconductor. Эта технология получила название NoBL SRAM (No Bus Latency — дословно «нет задержек шины»).

Основная память

249

 

 

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

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

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

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

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

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

250

Глава 6. Память

 

 

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

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

Асинхронные динамические ОЗУ. Работа таких микросхем не привязана жестко

ктактовым импульсам. В течение достаточно длительного периода времени основная память ВМ строилась на базе микросхем ОЗУ асинхронного типа. На этом этапе микросхемы постоянно совершенствовались, главным образом, за счет перехода

кболее эффективным режимам чтения (рис. 6.13). На смену «классическим» DRAM с последовательным режимом чтения пришли микросхемы с быстрым постраничным режимом (FPM DRAM). Достаточно быстро их сменили микросхемы типа EDO DRAM с усовершенствованным страничным (гиперстраничным) режимом. Линия асинхронных динамических ОЗУ фактически завершилась микросхемами типа BEDO DRAM, в которых сочетались пакетный и конвейерный режим чтения. Несмотря на достаточно высокие скоростные характеристики BEDO (5-1-1-1) и этим микросхемам свойственен общий недостаток асинхронной схемы — дополнительные затраты времени на взаимодействие микросхем памяти и контроллера. Это обстоятельство, а также успехи в технологии синхронных DRAM (главным образом — DDR) обусловили практически повсеместный переход к построению основной памяти на базе синхронных динамических ОЗУ.

Рис. 6.13. Эволюция микросхем динамической оперативной памяти

Синхронные динамические ОЗУ. В синхронных DRAM обмен информацией синхронизируется внешними тактовыми сигналами и происходит в строго определенные