
Постоянная память. Обычно постоянная память служит для хранения программ начальной загрузки и ряда других системных программ. Как правило, ячейкам ПЗУ присваиваются адреса адресного пространства вблизи 1 М (см. рис. 6.2).
Постоянное запоминающее устройство выполняет преобразование m-разрядного кода адреса в л-разрядный код хранящегося по этому адресу слова. Таким образом, ПЗУ можно рассматривать в качестве преобразователя кодов. Оно значительно проще оперативной памяти (информация не может записываться в ПЗУ при обычном режиме работы), надежнее и дешевле ее, но обычно медленнее.
Информация в ПЗУ записывается прямо на кристалле при нанесении маскирующего слоя и становится неотъемлемой частью этого кристалла. Это не позволяет менять информацию. Более гибкий подход появился с созданием программируемого ПЗУ (ППЗУ). Для процесса записи информации на таких кристаллах требуется более высокое напряжение, чем при записи в ОЗУ. Это приводит к «прожиганию» перемычек в различных местах памяти и, следовательно, записи информации на этом кристалле. Запись в ППЗУ производится на специальных устройствах, называемых программаторами, после чего интегральная схема ППЗУ устанавливается в компьютер. После записи изменить записанные данные в компьютере уже невозможно.
В перепрограммируемом ПЗУ можно записать информацию в память, а при необходимости внести в нее изменения, можно всю информацию стереть и начать повторную запись. Запись информации в перепрограммируемое ПЗУ также выполняется на программаторах.
Последним шагом стало создание электрически стираемых программируемых постоянных запоминающих устройств (ЭСППЗУ), напоминающих ППЗУ, но обладающих одним преимуществом: стирание информации в них может производиться просто сигналом более высокого напряжения.
В настоящее время большое распространение получила флэш-память, представляющая собой особый вид ЭСППЗУ, в котором стирание информации осуществляется блоками или целиком всего содержимого памяти; при этом используются сигналы обычного для компьютера напряжения, но большой длительности. Запись байта информации во флэш-память занимает около 10 мкс и производится сигналами, подаваемыми на адресные входы и информационные выходы (которые в режиме записи играют роль информационных входов). Флэш-память используют не только в качестве памяти BIOS, но и для цифровой записи фотоснимков и других целей.
-1-
С
Оперативная память. Оперативное запоминающее устройство является основной частью адресуемой памяти компьютера, поэтому его часто называют основной памятью. За последние годы ее объем увеличился в сотни раз и в настоящее время в персональных компьютерах достигает 4 Гбайт (он определяется длиной адресной части команды, которая составляет 32 разряда), а в серверах может быть и значительно больше. Информация, постоянно хранящаяся во внешних ЗУ, становится доступной процессору только после загрузки ее в ОП. Оперативная память — это ЗУ с произвольным доступом, длительность записи и чтения постоянны и не зависят от номера ячейки.
Основную память можно рассматривать в виде линейной последовательности одинаковых ячеек (обычно в современных компьютерах их длина составляет один байт). При обращении к ОП передается адрес ячейки (по адресной шине), данные (по информационной шине) и управляющие сигналы (например, сигналы записи или чтения). Конструкция компьютера может привести к необходимости совмещения адресной и информационной шин, тогда по такой совмещенной шине адреса и данные передаются последовательно.
В настоящее время оперативная память представляет собой энергозависимое устройство, т. е. информация может храниться в нем только при наличии питания; при выключении питания она не сохраняется. (В качестве ОП в компьютерах второго и третьего поколений использовали сложную в производстве дорогостоящую ферритовую память, но теперь, когда применение компьютеров стало повсеместным, ей пришла на смену более технологичная полупроводниковая память. Ферритовая память обладает рядом достоинств, она энергонезависима, т.е. сохраняет записанную в ней информацию при выключении питания, и обладает радиационной стойкостью.)
Основная память, как правило, строится на сравнительно недорогих динамических элементах, но ее быстродействие значительно отстает от быстродействия процессора и растет очень медленно. Время записи или чтения информационного слова из такой памяти существенно превышает длительность цикла процессора и в настоящее время составляет порядка 30...50 не.
Запоминающий элемент динамической памяти состоит из конденсатора С, отсутствие или наличие заряда в котором и означает «0» или «1», а также транзистора, служащего для изоляции конденсатора от остальных схем. Кроме того, для записи и чтения предусматривают еще два транзистора (рис. 6.3). Размеры конденсатора малы, это позволяет размещать запоминающие элементы в кристалле с высокой плотностью. Но малые размеры конденсатодовательно, время утечки заря- да, т.е. длительность хранения информации в нем, также незначительно и составляет десятки миллисекунд. Поэтому дина мические элементы требуют для постоянного поддержания в них информации специальных циклов регенерации, которая производится каждые 2... 8 мс. Регенерация — это процесс принудительного чтения и записи считанной информации в ту же ячейку памяти. Если содержимое ячейки использовалось в течение времени между циклами регенерации, то процесс регенерации этой ячейки можно опустить.
Оперативную память можно представить в виде матрицы запоминающих ячеек; тогда для обращения к ячейке, т. е. для записи или чтения данных из нее, нужно передать адрес А„... Aq этой ячейки. Адрес включает в себя две составляющие: адрес строки (raw) и адрес столбца (column). Они поступают на регистр адреса ОП (обычно одновременно) и затем дешифрируются. К выходам дешифраторов подключены горизонтальные и вертикальные адресные линии матрицы ячеек, образующие соответственно строку и столбец матрицы. Помимо адресных линий все ячейки связаны вертикальными линиями, по которым данные Dm...D0 поступают в ОП или считываются из нее. Данные, подлежащие записи в память, поступают на информационный регистр, а затем на выбранную ячейку. При операциях чтения данные из этой ячейки поступают на тот же информационный регистр, а затем передаются по шине в процессор.
Управление ОП осуществляется сигналами разрешения записи (WE), разрешения выдачи выходных сигналов (ОЕ) и выбора микросхемы памяти (CS); помимо этого адрес строки и столбца сопровождается стробирующими сигналами RAS и CAS (рис. 6.4).
Контроллер памяти, т.е. схема, вырабатывающая сигнал управления при обращении к ОЗУ, обычно строится по синхронной схеме. Каждая операция в памяти требует не менее пяти тактов: определение типа операции (чтение или запись) и установка адреса строки, формирование сигнала RAS, установка адреса столбца, формирование сигнала CAS, перевод сигналов RAS и CAS в первоначальное состояние. Поскольку адрес строки и столбца используются не одновременно, то для уменьшения числа контактов микросхемы памяти в большинстве случаев производится их мультиплексирование.
Быстродействие компьютера неразрывно связано с повышением пропускной способности памяти, что можно достичь несколькими способами. Во-первых, между процессором и ОП можно установить более быструю буферную память (кэш-память), куда помещать обрабатываемые данные. Во-вторых, выполнять расслоение памяти, т. е. строить ОП из нескольких блоков и размещать в них данные так, чтобы обращение к ним производилось последовательно. В-третьих, производить выборку из ОП широким слоем и расформировывать его на отдельные команды или слова данных в регистрах процессора.
Если память строится в виде нескольких модулей с автономными схемами адресации, записи и чтения, то можно организовать расслоение памяти. Под расслоением понимают такую организацию ОП, когда ее выполняют из нескольких автономных модулей, в которые информация заносится по определенным правилам.
Известно несколько способов организации расслоения. В персональных компьютерах для этих целей чаще всего используется разделение памяти на память данных и память программ. Такое расслоение применяется при организации внутренней кэш-памяти практически всех современных микропроцессоров. Сегодня в каждом микропроцессоре имеется внутренняя кэш-память объемом от 8 до 64 Кбайт и более, разделенная на два блока — память команд и память данных. При выполнении любой команды требуется несколько обращений в память как за самой командой, так и операндами; эти обращения производятся в разные блоки внутренней памяти.
В случае классического расслоения памяти ее строят из нескольких модулей; ячейки с последовательными адресами находятся в различных модулях. Благодаря свойству локальности программ (и данных) вслед за текущей командой вероятнее всего следующей будет выполняться команда, адрес которой на единицу больше адреса текущей команды, т.е. команда, хранящаяся в следующем модуле памяти. Такой порядок нарушается только командами переходов. Данные также записываются в память и используются программой последовательно, т. е. из разных модулей. Такое расслоение возможно только при постоянном формате команд.
Расслоение памяти чаще всего организуют в соответствии с младшими разрядами. Адрес включает в себя две составляющие (рис. 6.5, а):
А = Ас,., Алл,
где Act, Амл — старшие и младшие разряды соответственно.
Все программы и данные располагаются в памяти последовательно. Однако ячейки со смежными адресами находятся в разных физических блоках.
Предположим, что в машине используются четыре модуля памяти, а номер модуля соответствует содержимому двух младших разрядов адреса AM. Тогда все обращения к ячейкам памяти с последовательными адресами будут приходиться на разные модули, а поскольку все эти модули обладают собственными схемами адресации и выборки, то можно производить обращение к следующему модулю, не дожидаясь ответа от предыдущего.
На временной диаграмме (рис. 6.5, б) время обращения и выборки из каждого модуля т составляет четыре такта Т (т = 47"). Обращения к памяти происходят непрерывно в моменты tu t2, Ц и т.д. Последовательные обращения приходятся на разные модули, поэтому суммарный темп выдачи квантов информации из памяти соответствует одному такту Т, а выдача квантов информации из каждого отдельного блока производится с темпом AT. Задержка в выдаче кванта информации относительно момента обращения к памяти также составляет AT, однако каждый последующий квант выдается относительно предыдущего с задержкой всего Т. В современных больших ЭВМ наиболее часто используют память, включающую в себя от 4 до 16 модулей. Но технология классического расслоения памяти практически не используется в персональных компьютерах из-за ее сложности и различных форматов команд.
Еще один способ ускорения обращения к памяти состоит в использовании широкого слова. При выборке широким слоем за одно обращение к ОП производится одновременная запись или считывание нескольких команд или слов данных из широкой ячейки. Затем это широкое слово заносится в регистр (при считывании из памяти), из которого отдельные команды и слова данных последовательно используются процессором без дополнительных обращений к ОП. Выборка широким слоем распространена в высокопроизводительных машинах, но в персональных компьютерах не получила широкого распространения, так как при записи-считывании широкого слова требуется многоразрядная магистраль для передачи данных. В персональном компьютере все передачи данных между процессором и ОП осуществляются по стандартной магистрали, ширина которой составляет 16, 32 или 64 бита (без учета контрольных разрядов).
163