2 0 4 . Глава 5. Память
Основная память может включать в себя два типа устройств: оперативные за­поминающие устройства (ОЗУ) и постоянные запоминающие устройства (ПЗУ)
Преимущественную долю основной памяти образует ОЗУ, называемое опера­тивным, потому что оно допускает как запись, так и считывание информации, причем обе операции выполняются однотипно, практически с одной и той же ско­ростью, и производятся с помощью электрических сигналов. В англоязычной литературе ОЗУ соответствует аббревиатура RAM — Random Access Memory, то есть «память с произвольным доступом», что не совсем корректно, поскольку па­мятью с произвольным доступом являются также ПЗУ и регистры процессора. Для большинства типов полупроводниковых ОЗУ характерна энергозависимость — даже при кратковременном прерывании питания хранимая информация теряется. Микросхема ОЗУ должна быть постоянно подключена к источнику питания и по­этому может использоваться только как временная память.
Вторую группу полупроводниковых ЗУ основной памяти образуют энергоне­зависимые микросхемы ПЗУ (ROM — Read-Only Memory). ПЗУ обеспечивает счи­тывание информации, но не допускает ее изменения (в ряде случаев информация в ПЗУ может быть изменена, но этот процесс сильно отличается от считывания и требует значительно большего времени).
Блочная организация основной памяти
Емкость основной.памяти современных ВМ слишком велика, чтобы ее можно бьшо реализовать на базе единственной интегральной микросхемы (ИМС). Необходи­мость объединения нескольких ИМС ЗУ возникает также, когда разрядность ячеек в микросхеме ЗУ меньше разрядности слов ВМ.
Увеличение разрядности ЗУ реализуется за счет объединения.адресных вхо­дов объединяемых ИМС ЗУ. Информационные входы и выходы микросхем явля­ются входами и выходами модуля ЗУ увеличенной разрядности (рис. 5.2). Полу­ченную совокупность микросхем называют модулем памяти Модулем можно считать и единственную микросхему, если она уже имеет нужную разрядность. Один или несколько модулей образуют банк памяти.
Для получения требуемой емкости ЗУ нужно определенным образом объеди­нить несколько банков памяти меньшей емкости. В общем случае основная па-
Основная память 2 0 5
мять ВМ практически всегда имеет блочную структуру, то есть содержит несколько банков.
При использовании блочной памяти, состоящей из В банков, адрес ячейки А преобразуется в пару (Ъ, w), где Ъ — номер банка, w — адрес ячейки внутри банка. Известны три схемы распределения разрядов адреса А между Ьиж
•   блочная (номер банка Ъ определяет старшие разряды адреса);
•   циклическая (Ъ = А тосШ: w = A div В);
•   блочно-циклическая (комбинациядвух предыдущих схем).
Рассмотрение основных структур блочной ОП будем проводить на примере памяти емкостью 512 слов (29), построенной из четырех банков по 128 слов в каж­дом. Типовая структура памяти, организованная в соответствии с блочной струк­турой, показана на рис. 5.3.
Адресное пространство памяти разбито на группы последовательных адресов, и каждая такая группа обеспечивается отдельным банком памяти. Для обращения к ОП используется 9-разрядный адрес, семь младших разрядов которого 6-А) поступают параллельно на все банки памяти и выбирают в каждом из них одну ячейку. Два старших разряда адреса , А7) содержат номер банка. Выбор банка обеспечивается либо с помощью дешифратора номера банка памяти, либо путем мультиплексирования информации (на рис. 5.3 показаны оба варианта). В функ­циональном отношении такая ОП может рассматриваться как единое ЗУ, емкость которого равна суммарной емкости составляющих, а быстродействие — быстро­действию отдельного банка.
Расслоение памяти
Помимо податливости к наращиванию емкости, блочное построение памяти обла-. дает еще одним достоинством — позволяет сократить время доступа к информа­ции. Это возможно благодаря потенциальному параллелизму, присущему блоч­ной организации. Большей скорости доступа можно достичь за счет одновременного Доступа ко многим банкам памяти. Одна из используемых для этого методик на-
206 Глава5. Память
зываетсярасслоением памяти. В ее основе лежит так называемое чередование ад­ресов (address interleaving), заключающееся в изменении системы распределения адресов между банками памяти.
Прием чередования адресов базируется на ранее рассмотренном свойстве ло­кальности по обращению, согласно которому последовательный доступ в память обычно производится к ячейкам, имеющим смежные адреса. Иными словами, если в данный момент выполняется обращение к ячейке с адресом 5, то следующее об­ращение, вероятнее всего, будет к ячейке с адресом 6, затем 7 и т. д. Чередование адресов обеспечивается за счет циклического разбиения адреса. В нашем примере (рис. 5.4) для выбора банка используются два младших разряда адреса (Л„ А0), а для выбора ячейки в банке — 7 старших разрядов 82).
Рис. 5.4. Блочная память с чередованием адресов по циклической схеме Поскольку в каждом такте на шине адреса может присутствовать адрес только одной ячейки, параллельное обращение к нескольким банкам невозможно, однако оно может быть организовано со сдвигом на один такт. Адрес ячейки запоминает­ся в индивидуальном регистре адреса, и дальнейшие операции по доступу к ячей­ке в каждом банке протекают независимо. При большом количестве банков сред­нее время доступа к ОП сокращается почти в В раз (В — количество банков), но при условии, что ячейки, к которым производится последовательное обращение, относятся к разным банкам. Если же запросы к одному и тому же банку следуют друг за другом, каждый следующий запрос должен ожидать завершения обслужи­вания предыдущего. Такая ситуация называется конфликтом по доступу. При ча­стом возникновении конфликтов по доступу метод становится неэффективным. В блочно-циклической схеме расслоения памяти каждый банк состоит из не­скольких модулей, адресуемых по круговой схеме. Адреса между банками распре-
Основная память 2 0 7
делены по блочной схеме. Таким образом, адрес ячейки разбивается натри части. Старшие биты определяют номер банка, следующая группа разрядов адреса ука­зывает на ячейку в модуле, а младшие биты адреса выбирают модуль в банке. Схе­му иллюстрирует рис. 5.5.
Рис. 5.5. Блочно-циклическая схема расслоения памяти
Традиционные способы расслоения памяти хорошо работают в рамках одной задачи, для которой характерно свойство локальности. В многопроцессорных сис­темах с общей памятью, где запросы на доступ к памяти достаточно независимы, не исключен иной подход, который можно рассматривать как развитие идеи рас­слоения памяти. Для этого в систему включают несколько контроллеров памяти, что позволяет отдельным банкам работать совершенно автономно. Эффективность Данного приема зависит от частоты независимых обращений к разным банкам. Лучшего результата можно ожидать при большом числе банков, что уменьшает вероятность последовательных обращений к одному и тому же банку памяти. Так, в суперкомпьютере NEC SX/3 основная память состоит из 128 банков.
Организация микросхем памяти
Интегральные микросхемы (ИМС) памяти организованы в виде матрицы ячеек, каждая из которых, в зависимости от разрядности ИМС, состоит из одного или более запоминающих элементов (ЗЭ) и имеет свой адрес. Каждый ЗЭ способен хранить один бит информации. Для ЗЭ любой полупроводниковой памяти харак­терны следующие свойства:
•  два стабильных состояния, представляющие двоичные 0 и 1;
•   в ЗЭ (хотя бы однажды) может быть произведена запись информации, посред­ством перевода его в одно из двух возможных состояний;
•   для определения текущего состояния ЗЭ его содержимое может быть считано.
При матричной организации ИМС памяти (рис. 5.6) реализуется координат­ный принцип адресации ячеек. Адрес ячейки, поступающий по шине адреса ВМ, пропускается через логику выбора, где он разделяется на две составляющие: адрес строки и адрес столбца. Адреса строки и столбца запоминаются соответственно в регистре адреса строки и регистре адреса столбца микросхемы. Регистры соеди­нены каждый со своим дешифратором. Выходы дешифраторов образуют систему горизонтальных и вертикальных линий, к которым подсоединены запоминающие элементы матрицы, при этом каждый ЗЭ расположен на пересечении одной гори­зонтальной и одной вертикальной линии.
208
Глава 5. Память
ЗЭ, объединенные общим «горизонтальным» проводом, принято называть стро­кой (row). Запоминающие элементы, подключенные к общему «вертикальному» проводу, называют столбцом (column). Фактически «вертикальных» проводов в микросхеме должно быть, по крайней мере, вдвое больше, чем это требуется для адресации, поскольку к каждому ЗЭ необходимо подключить линию, по которой будет передаваться считанная и записываемая информация.
Совокупность запоминающих элементов и логических схем, связанных с выбо­ром строк и столбцов, называют ядром микросхемы памяти. Помимо ядра в ИМС имеется еще интерфейсная логика, обеспечивающая взаимодействие ядра с внеш­ним миром. В ее задачи, в частности, входят коммутация нужного столбца на вы­ход при считывании и на вход — при записи.
На физическую организацию ядра, как матрицы однобитовых ЗЭ, накладывает­ся логическая организация памяти, под которой понимается разрядность микросхе­мы, то есть количество линий ввода/вывода. Разрядность микросхемы определяет количество ЗЭ, имеющих один и тот же адрес (такая совокупность запоминающих элементов называется ячейкой), то есть каждый столбец содержит столько разря­дов, сколько есть линий ввода/вывода данных.
Для уменьшения числа контактов ИМС адреса строки и столбца в большин­стве микросхем подаются в микросхему через одни и те же контакты последова­тельно во времени (мультиплексируются) и запоминаются соответственно в реги­стре адреса строки и регистре адреса столбца микросхемы. Мультиплексирование обычно реализуется внешней по отношению к ИМС схемой.
Основная память 2 09
• ■ Для синхронизации процессов фиксации и обработки адресной информации внутри ИМС адрес строки (RA) сопровождается сигналом RAS (Row Address Strobe — строб строки), а адрес столбца (СА) — сигналом CAS (Column Address Strobe — строб столбца). Вторую букву в аббревиатурах RAS и CAS иногда рас­шифровывают как Access — «доступ», то есть имеется строб доступа к строке и строб доступа к столбцу. Чтобы стробирование было надежным, эти сигналы подаются
• с задержкой, достаточной для завершения переходных процессов на шине адреса ■;: и в адресных цепях микросхемы.
' , . Сигнал выбора микросхемы CS (Crystal Select) разрешает работу ИМС и ис-■'; пользуется для выбора определенной микросхемы в системах, состоящих из не-■ скольких ИМС. Вход WE (Write Enable — разрешение записи) определяет вид I выполняемой операции (считывание или запись).
i, Записываемая информация, поступающая по шине данных, первоначально sa­il носится во входной регистр данных, а затем — в выбранную ячейку. При выполне-' нии операции чтения информация из ячейки до ее выдачи на шину данных буфе-ризируется в выходном регистре данных. Обычно роль входного и выходного выполняет один и тот же регистр. Усилители считывания/записи (УСЗ) служат .для электрического согласования сигналов на линиях данных и внутренних сиг­налов ИМС. Обычно число УСЗ равно числу запоминающих элементов в строке [ матрицы, и все они при обращении к памяти подключаются к выбранной горизон-|! тальной линии. Каждая группа УСЗ, образующая ячейку, подключена к одному из j; столбцов матрицы, то есть выбор нужной ячейки в строке обеспечивается активи--, зацией одной из вертикальных линий. На все время пока ИМС памяти не исполь-: зует шину данных, информационные выходы микросхемы переводятся в третье (высокоимпедансное) состояние. Управление переключением в третье состояние ; обеспечивается сигналом ОЕ (Output Enable — разрешение выдачи выходных сиг­налов). Этот сигнал активизируется при выполнении операции чтения.
Для большинства перечисленных выше управляющих сигналов активным обыч-;■ но считается их низкий уровень, что и показано на рис. 5!б.
Управление операциями с основной памятью осуществляется контроллером . памяти. Обычно этот контроллер входит в состав центрального процессора либо реализуется в виде внешнего по отношению к памяти устройства. В последних типах ИМС памяти часть функций контроллера возлагается на микросхему памяти. ; Хотя работа ИМС памяти может быть организована как по синхронной, так и по асинхронной схеме, контроллер памяти — устройство синхронное, то есть сраба­тывающее исключительно по тактовым импульсам. По этой причине операции с
• памятью принято описывать с привязкой к тактам. В общем случае на каждую та-;кую операцию требуется как минимум пять тактов, которые используются следу-!~жхцим образом:
(■ 1. Указание типа операции (чтение или запись) и установка адреса строки.
*. 2. Формирование сигнала RAS.
3. Установка адреса столбца.
■  4. Формирование сигнала CAS.
■ 5. Возврат сигналов RAS и CAS в неактивное состояние.
2 10 Глава 5. Память
Данный перечень учитывает,далеко не все необходимые действия, например регенерацию содержимого памяти в динамических ОЗУ.
Типовую процедуру доступа к памяти рассмотрим на примере чтения из ИМС с мультиплексированием адресов строк и столбцов. Сначала на входе WE уста­навливается уровень, соответствующий операции чтения, а на адресные контакты ИМС подается адрес строки, сопровождаемый сигналом RAS. По заднему фронту этого сигнала адрес запоминается в регистре адреса строки микросхемы, после чего дешифрируется. После стабилизации процессов, вызванных сигналом RAS, вы­бранная строка подключается к УСЗ. Далее на вход ИМС подается адрес столбца, который по заднему фронту сигнала CAS заносится в регистр адреса столбца. Од­новременно подготавливается выходной регистр данных, куда после стабилиза­ции сигнала CAS загружается информация с выбранных УСЗ.
Разработчики микросхем памяти тратят значительные усилия на повышение быстродействия ИМС, которое принято характеризовать четырьмя параметрами (численные значения приводятся для типовой микросхемы динамической памяти емкостью 4 Мбит):
•  tRASминимальное время от перепада сигнала RAS с высокого уровня к низко-
му до момента появления и стабилизации считанных данных на выходе ИМС. Среди приводившихся в начале главы характеристик быстродействия это со­ответствует времени доступа Гд ίκΑ5= 60 не);
•  iRC — минимальное время от начала доступа к одной строке микросхемы памя-
ти до Начала доступа к следующей строке. Этот параметр также упоминался в начале главы как длительность цикла памяти Tn(tRC= 110 не при ^5= 60 не);
•  iCAS — минимальное время от перепада сигнала CAS с высокого уровня к низко-
му до момента появления и стабилизации считанных данных на выходе ИМС (*сл5= 15 не при ί^ 60 нс);
•  ГРС — минимальное время от начала доступа к одному столбцу микросхемы па-
мяти до начала доступа к следующему столбцу (iPC= 35 не при ^5= 60 не).
Возможности «ускорения ядра» микросхемы ЗУ весьма ограничены и связаны в основном с миниатюризацией запоминающих элементов. Наибольшие успехи достигнуты в интерфейсной части ИМС, касаются они, главным образом, операции чтения, то есть способов доставки содержимого ячейки на шину данных. Наиболь­шее распространение получили следующие шесть фундаментальных подходов:
•    последовательный;
•    конвейерный;
•    регистровый;
•    страничный;
•    пакетный;
•   удвоенной скорости.
Последовательный режим
При использовании последовательного режима (Flow through Mode) адрес и уп­равляющие сигналы подаются на микросхему до поступления синхроимпульса ■
;.                                                                                                .          Основная память 211
к
ί В момент прихода синхроимпульса вся входная информация запоминается во внут-
\ ренних регистрах — по его переднему фронту, и начинается цикл чтения. Через
1 некоторое время, но в пределах того же цикла данные появляются на внешней шине,
;' причем момент этот определяется только моментом прихода синхронизирующего
[ импульса и скоростью внутренних цепей микросхемы.
Конвейерный режим
^Конвейерный режим (pipelined mode) — это такой метод доступа к данным, при , котором можно продолжать операцию чтения по предыдущему адресу в процессе ΐ запроса по следующему. -
:■ ■ ■ - При чтении из памяти время, требуемое для извлечения данных из ячейки, мож-< но условно разбить на два интервала. Первый из них — непосредственно доступ к массиву запоминающих элементов и извлечение данных из ячейки. Второй — -передача данных на выход (при этом происходит детектирование состояния ячейки, ^усиление сигнала и другие операции, необходимые для считывания информации). '■■ В отличие от последовательного режима, где следующий цикл чтения начинается : только по окончании предыдущего, в конвейерном режиме процесс разбивается ■; на два этапа. Пока данные из предыдущего цикла чтения передаются на внешнюю шину, происходит запрос на следующую операцию чтения. Таким образом, два t цикла чтения перекрываются во времени. Из-за усложнения схемы передачи дан­ных на внешнюю шину время считывания увеличивается на один такт, и данные поступают на выход только в следующем такте, но такое запаздывание наблюдается : лишь при первом чтении в последовательности операций считывания из памяти. ' Все последующие данные поступают на выход друг за другом, хотя и с запаздыва­нием на один такт относительно запроса на чтение. Так как циклы чтения пе­рекрываются, микросхемы с конвейерным режимом могут использоваться при ча­стотах шины, вдвое превышающих допустимую для ИМС с последовательным режимом чтения.
Регистровый режим
^Регистровый режим (Register to Latch) используется относительно редко и отли-■ чается наличием регистра на выходе микросхемы. Адрес и управляющие сигналы выдаются на шину до поступления синхронизирующего импульса. С приходом положительного фронта синхроимпульса адрес записывается во внутренний ре­гистр микросхемы, и начинается цикл чтения. Считанные данные заносятся в про­межуточный выходной регистр и хранятся там до появления отрицательного фрон­та (спада) синхроимпульса, а с его поступлением передаются на шину. Метод юднозначно определяет момент появления данных на выходе ИМС, причем изме­няя ширину импульса синхронизации можно менять время появления данных на шине. Данное свойство часто оказывается весьма полезным при проектировании специализированных ВМ. По быстродействию микросхемы с регистровым режи-! мом идентичны И М С с последовательным режимом.
Страничный режим
В основе идеи лежит тот факт, что при доступе к ячейкам со смежными адресами (согласно принципу локальности такая ситуация наиболее вероятна), причем
212 Глава 5. Память
к таким, где все ЗЭ расположены в одной строке матрицы, доступ ко второй и по­следующим ячейкам можно производить существенно быстрее. Действительно, если адрес строки при очередном обращении остался прежним, то все временные затраты, связанные с повторным занесением адреса строки в регистр ИМС, де­шифровкой, зарядом паразитной емкости горизонтальной линии и т. п., можно ис­ключить. Для доступа к очередной ячейке достаточно подавать на ИМС лишь ад­рес нового столбца, сопровождая его сигналом CAS. Отметим, что обращение к первой ячейке в последовательности производится стандартным образом — по­очередным заданием адреса строки и адреса столбца, то есть здесь время доступа уменьшить практически невозможно. Рассмотренный режим называетсярежимом страничного доступа или просто страничным режимом (Page Mode). Под страни­цей понимается строка матрицы ЗЭ. Микросхемы, где реализуется страничный режим и его модификации, принято характеризовать формулой х-у-у-у. Первое число х представляет количество тактов системной шины, необходимое для досту­па к первой ячейке последовательности, а у — к каждой из последующих ячеек. Так, выражение 7-3-3-3 означает, что для обработки первого слова необходимо 7 тактовых периодов системной шины (в течение шести из которых шина проста­ивает в ожидании), а для обработки последующих слов — по три периода, из кото­рых два системная шина также простаивает.
Режим быстрого страничного доступа
Режим быстрого страничного доступа (FPM — Fast Page Mode) представляет со­бой модификацию стандартного страничного режима. Основное отличие заклю­чается в способе занесения новой информации в регистр адреса столбца. Полный адрес (строки и столбца) передается только при первом обращении к строке. Ак­тивизация буферного регистра адреса столбца производится не по сигналу CAS, а по заднему фронту сигнала RAS. Сигнал RAS остается активным на протяжении всего страничного цикла и позволяет заносить в регистр адреса столбца новую информацию не по спадающему фронту CAS, а как только адрес на входе ИМС стабилизируется, то есть практически по переднему фронту сигнала CAS. В целом же потери времени сокращаются на два такта, которые ранее требовались для пе­редачи адреса каждой строки и сигнала RAS. Реальный выигрыш, однако, наблю­дается лишь при передаче блоков данных, хранящихся в одной и той же строке микросхемы. Если же программа часто обращается к разным областям памя­ти, переходя с одной строки ИМС на другую, преимущества метода теряются. Режим нашел широкое применение в микросхемах ОЗУ, особенно динамичес­кого типа.
Пакетный режим
Пакетный режим (Burst Mode) — режим, при котором на запрос по конкретному адресу память возвращает пакет данных, хранящихся не только по этому адресу, но и по нескольким последующим адресам.
Разрядность ячейки памяти современных ВМ обычно равна одному байту, в то время как ширина шины данных, как правило, составляет четыре байта. Следова­тельно , одно обращение к памяти требует последовательного доступа к четырем смеж-
Основная память 213
ным ячейкам — пакету1. С учетом этого обстоятельства в ИМС памяти часто использу­ется модификация страничного режима, носящая название группового или пакетного режима. При его реализации адрес столбца заносится в ИМС только для первой ячей­ки пакета, а переход к очередному столбцу производится уже внутри микросхемы. Это позволяет для каждого пакета исключить три из четырех операций занесения в ИМС адреса столбца и тем самым еще более сократить среднее время доступа.
Режим удвоенной скорости
Важным этапом в дальнейшем развитии технологии микросхем памяти стал ре­жим DDR (Double Data Rate) — удвоенная скорость передачи данных. Сущность метода заключается в передаче данных по обоим фронтам импульса синхрониза­ции, то есть дважды за период. Таким образом, пропускная способность увеличи­вается в те же два раза.
Помимо упомянутых используются и другие приемы повышения быстродей­ствия ИМС памяти, такие как включение в состав микросхемы вспомогательной кэш-памяти и независимые тракты данных, позволяющие одновременно произво­дить обмен с шиной данных и обращение к матрице ЗЭ и т. д.
Синхронные и асинхронные запоминающие устройства
В качестве первого критерия, по которому можно классифицировать запоминаю­щие устройства основной памяти, рассмотрим способ синхронизации. С этих по­зиций известные типы ЗУ подразделяются на синхронные и асинхронные.
В микросхемах, где реализован синхронный принцип, процессы чтения и запи­си (если это ОЗУ) выполняются одновременно с тактовыми сигналами контрол­лера памяти.
Асинхронный принцип предполагает, что момент начала очередного действия определяется только моментом завершения предшествующей операции. Перено­ся этот принцип на систему памяти, необходимо принимать во внимание, что кон­троллер памяти всегда работает синхронно. В асинхронных ЗУ цикл чтения начи­нается только при поступлении запроса от контроллера памяти, и если память не успевает выдать данные в текущем такте, контроллер может считать их только в сле­дующем такте, поскольку очередной шаг контроллера начинается с приходом оче­редного тактового импульса. В последнее время асинхронная схема активно вы­тесняется синхронной.
Оперативные запоминающие устройства
Большинство из применяемых в настоящее время типов микросхем оперативной памяти не в состоянии сохранять данные без внешнего источника энергии, то есть являются энергозависимыми (volatile memory). Широкое распространение таких устройств связано с рядом их достоинств по сравнению с энергонезависимыми
' Строго говоря, количество ячеек, считываемое за один раз без дополнительного указания адреса и на­зываемое длиной пакета (burst length), в большинстве случаев может программироваться. Помимо упомянутых четырех это могут быть 1, 2 иди 8 ячеек подряд.
Hosted by uCoz