Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по ВС.doc
Скачиваний:
228
Добавлен:
22.03.2016
Размер:
1.1 Mб
Скачать

6.3 Оперативная память

Оперативное запоминающее устройство (ОЗУ) – это основная часть адресуемой памяти компьютера; именно поэтому ее часто называют основной памятью (ОП). За последние годы ее объем увеличился в сотни раз и в настоящее время в персональных компьютерах достигает 4 Гбайт (он определяется длиной адресной части команды, которая в настоящее время составляет 32 разряда), а в серверах может быть и значительно больше. Информация, постоянно хранящаяся во внешних ЗУ, становится доступной процессору только после «загрузки» ее в ОП. Оперативная память – это ЗУ с произвольным доступом, длительность записи и чтения постоянны и не зависят от номера ячейки.

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

В настоящее время оперативная память представляет собой энергозависимое устройство, т.е. информация может храниться в нем только при наличии питания; при выключении питания она попросту «исчезает». [В качестве ОП в компьютерах второго и третьего поколений использовали сложную в производстве дорогостоящую ферритовую память, но теперь, когда использование компьютеров стало повсеместным, ей пришла на смену более технологичная полупроводниковая память. Ферритовая память обладает рядом достоинств, она энергонезависима, т.е. сохраняет записанную в ней информацию при выключении питания, и обладает радиационной стойкостью.]

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

Запоминающий элемент динамической памяти состоит из конденсатора, отсутствие или наличие заряда в котором и означает 0 или 1, а также изолирующего транзистора, служащего для «изоляции» конденсатора от остальных схем. Кроме того, для записи и чтения предусматривают еще два транзистора, рисунок 6.х. Размеры конденсатора очень маленькие, это позволяет размещать запоминающие элементы в кристалле с высокой плотностью. Но малые размеры конденсатора означают, что он обладает и очень небольшой емкостью, следовательно, время утечки заряда, т.е. длительность хранения информации в нем, также мало и составляет десятки миллисекунд. Поэтому динамические элементы требуют для постоянного поддержания в них информации специальных циклов регенерации, которая производится каждые 2-8 мс. Регенерация – это процесс принудительного чтения и записи считанной информации в ту же ячейку памяти. Если содержимое ячейки использовалось в течение времени между циклами регенерации, то процесс регенерации этой ячейки можно опустить.

Рисунок 6.х Запоминающий элемент динамической памяти

Оперативную память можно представить в виде матрицы запоминающих ячеек; тогда для обращения к ячейке, т.е. для записи или чтения данных из нее, нужно передать «адрес» An…A0 этой ячейки. Обычно адрес представляется в виде двух составляющих: адреса строки (raw) и адреса столбца (column). Эти составляющие адреса поступают на регистр адреса ОП (обычно одновременно) и затем дешифрируются. К выходам дешифраторов подключены горизонтальные и вертикальные «адресные» линии матрицы ячеек, образующие, соответственно, строку и столбец матрицы. Помимо адресных линий все ячейки связаны вертикальными линиями, по которым данные Dm…D0 поступают в ОП или считываются из нее. Данные, подлежащие записи в память, поступают на информационный регистр, а затем на «выбранную» ячейку. При операциях чтения данные из «выбранной» ячейки поступают на тот же информационный регистр, а затем передаются по шине в процессор.

Управление ОП осуществляется сигналами разрешения записи (WE), разрешения выдачи выходных сигналов (OE) и выбора микросхемы памяти (CS); помимо этого адрес строки и столбца сопровождается стробирующими сигналами RAS и CAS, рисунок 6.х.

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

Рисунок 6.х Структура ОП

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

  • Во-первых, между процессором и ОП можно установить более быструю буферную память (кэш-память), куда помещать обрабатываемые данные.

  • Во-вторых, выполнять расслоение памяти, т.е. строить ОП из нескольких блоков и размещать в них данные так, чтобы обращение к ним производилось последовательно.

  • Наконец, в-третьих, производить выборку из ОП широким слоем и расформировывать его на отдельные команды или слова данных в регистрах процессора.

Первый способ будет рассмотрен подробнее позднее.

Если память строится в виде нескольких модулей с автономными схемами адресации, записи и чтения, то можно организовать расслоение памяти. Под расслоением понимают такую организацию ОП, когда ее выполняют из нескольких автономных модулей, в которые информация заносится по определенным правилам.

Известно несколько способов организации расслоения. В персональных компьютерах для этих целей чаще всего используется разделение памяти на память данных и память программ. [Такое «расслоение» широко используется при организации внутренней кэш-памяти практически всех современных микропроцессоров. Сегодня в каждом микропроцессоре имеется внутренняя кэш-память объемом от 8 до 64 Кбайт и более, разделенная на два блока – память команд и память данных. Естественно, что при выполнении любой команды требуется несколько обращений в память как за самой командой, так и операндами; эти обращения производятся в разные блоки внутренней памяти.]

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

Расслоение памяти чаще всего организуют в соответствие с младшими разрядами. Адрес представляется в виде двух составляющих (рисунок 6.х)

А = Астмл, где Аст – старшие, а Амл – младшие разряды. Все программы и данные располагаются в памяти последовательно. Однако ячейки со смежными адресами находятся в разных физических блоках.

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

На временной диаграмме показано, что время обращения и выборки из каждого модуля  составляет четыре такта T (=4T). Обращения к памяти происходят непрерывно в моменты t1, t2, t3 и т.д. Последовательные обращения приходятся на разные модули, поэтому суммарный темп выдачи квантов информации из памяти соответствует одному такту T, а выдача квантов информации из каждого отдельного блока производится с темпом 4T. Важно помнить, что задержка в выдаче кванта информации относительно момента обращения к памяти также составляет 4T, однако каждый последующий квант выдается относительно предыдущего с задержкой всего T. В современных больших ЭВМ наиболее часто используют память, состоящую от 4 до 16 модулей. Но технология классического расслоения памяти практически не используется в персональных компьютерах из-за ее сложности и различных форматов команд.

Модули 00 01 10 11 Аст Амл

Х 00

Х 01

Х 10

Х 11

00…000 00…001 00…010 00…011 Х+1 00

К ЦП

11…100 11…101 11…110 11…111

(а)

00  = 4T

01

10

11

t1 t2 t3 t4 t5 t6

(б)

Рисунок 6.х Расслоение памяти: a – организация адресного пространства, б – временная диаграмма

Еще один способ ускорения обращения к памяти состоит в использовании широкого слова. При выборке широким слоем за одно обращение к ОП производится одновременная запись или считывание нескольких команд или слов данных из «широкой» ячейки. Затем это широкое слово заносится в регистр (при считывании из памяти), из которого отдельные команды и слова данных последовательно используются процессором без дополнительных обращений к ОП. Выборка широким слоем распространена в высокопроизводительных машинах, но в персональных компьютерах не получила широкого распространения, так как для записи-считывания широкого слова требуется многоразрядная магистраль для передачи данных. В персональном компьютере, как сказано выше, все передачи данных между процессором и ОП осуществляются по стандартной магистрали, ширина которой составляет 16, 32 или 64 бита (без учета контрольных разрядов).