- •Организация эвм и систем
- •Глава 6 Организация памяти
- •Глава 1. Структура современного компьютера
- •1.1 Основные понятия
- •1.2 Принцип действия компьютера
- •Цикл работы компьютера
- •1.3 Программное обеспечение компьютера
- •1.4 Надежность, производительность и показатели быстродействия
- •Производительность компьютера
- •Технико-эксплуатационные характеристики
- •1.5 Вычислительные системы и сети
- •Вопросы для самопроверки
- •Глава 2 представление информации в компьютере
- •5.2 Система команд. Форматы команд и способы адресации
- •5.3 Система прерываний и приостановок, состояние процессора
- •Характеристики системы прерываний
- •Организация перехода к прерывающей программе
- •5.4 Режимы работы процессора: однопрограммный, пакетный, разделения времени, реального времени
- •5.5 CisCиRisCкомпьютеры
- •Процессоры персональных компьютеров
- •5.6 Устройства управления
- •Устройства управления с хранимой в памяти логикой
- •5.7 Методы и средства повышения производительности процессоров персональных компьютеров
- •Суперскалярная обработка
- •Переименование регистров
- •Динамическое прогнозирование условных переходов
- •Контроллер памяти Контроллер pci
- •Вопросы для самопроверки
- •Глава 6. Организация памяти
- •6.1 Адресное пространство
- •6.2 Виды памяти
- •6.3 Оперативная память
- •Статическая и динамическая память
- •6.5 Внешняя память
- •6.6 Организация виртуальной памяти
- •Страничное, сегментное и странично-сегментное распределение
- •Свопинг
- •6.7 Защита памяти
- •Вопросы для самопроверки
- •Глава 7. Интерфейсы
- •7.1 Понятие интерфейса и его характеристики
- •7.1 Состав линий системной шины
- •Передача данных по проводным линиям связи По линиям связи современных интерфейсов преимущественно передаются низкочастотные дискретные одно - и биполярные сигналы (рисунок 7.Х).
- •Адрес верный
- •7.2 Подключение устройств
- •7.4 Интерфейсы внешней памяти
- •7.5 Малые интерфейсы (usb,ide,rs-232c,scsi)
- •Вопросы для самопроверки
- •Глава 8. Периферийные устройства компьютеров
- •8.1 Организация систем ввода-вывода. Каналы, контроллеры
- •Основные функции свв
- •Программный ввод-вывод
- •Прямой доступ в память
- •8.2 Клавиатура и мышь
- •8.3 Дисплеи
- •8.4 Принтеры
- •8.5 Накопители на магнитных дисках
- •Структура накопителя на жестких дисках
- •Структура и особенности накопителя на гмд
- •8.6 Накопители на компакт-дисках (cd-rom, cd-r, cd-rw, dvd)
- •8.7 Другие виды периферийных устройств
- •Вопросы для самопроверки
- •Какие особенности пу делают возможным организацию параллельной обработки и ввода-вывода?
- •Закон Амдала
- •Совместно используемая и распределенная память
- •Когерентность кэш-памяти
- •Наибольшее распространение получили следующие аппаратные механизмы, реализующие протокол когерентности кэш-памяти: это протоколы наблюдения и на основе справочника.
- •9.2 Конвейерные системы
- •Векторные регистры
- •9.3 Симметричные системы
- •9.4 Вычислительные системы со сверхдлинным командным словом
- •9.5 Другие виды мультипроцессорных систем
- •Машины с массовым параллелизмом
- •Нейрокомпьютеры
- •9.6 Проблемно-ориентированные системы
- •Вопросы для самопроверки
- •Глава 10. Организация вычислительного процесса
- •12.2 Системы автоматического контроля и диагностики
- •Контроль передач информации
- •Контроль арифметических операций
- •12.3 Защита памяти. Raid-массивы
- •12.4 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
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
К
ЦП
(а)
00 = 4T
01
10
11
t1 t2 t3 t4 t5 t6
(б)
Рисунок 6.х Расслоение памяти: a – организация адресного пространства, б – временная диаграмма
Еще один способ ускорения обращения к памяти состоит в использовании широкого слова. При выборке широким слоем за одно обращение к ОП производится одновременная запись или считывание нескольких команд или слов данных из «широкой» ячейки. Затем это широкое слово заносится в регистр (при считывании из памяти), из которого отдельные команды и слова данных последовательно используются процессором без дополнительных обращений к ОП. Выборка широким слоем распространена в высокопроизводительных машинах, но в персональных компьютерах не получила широкого распространения, так как для записи-считывания широкого слова требуется многоразрядная магистраль для передачи данных. В персональном компьютере, как сказано выше, все передачи данных между процессором и ОП осуществляются по стандартной магистрали, ширина которой составляет 16, 32 или 64 бита (без учета контрольных разрядов).