ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5273
Скачиваний: 8
Иерархия запоминающих устройств 2 0 1
1. Уменьшается соотношение «стоимость/бит».
2. Возрастает емкость.
3. Растет время доступа.
4. Уменьшается частота обращения к памяти со стороны центрального процессора.
Если память организована в соответствии с пунктами 1-3, а характер размеще-
ния в ней данных и команд удовлетворяет пункту 4, иерархическая организация
ведет к уменьшению общей стоимости при заданном уровне производительности.
Справедливость этого утверждения вытекает из принципа
локальности по об-
ращению
[87]. Если рассмотреть процесс выполнения большинства программ, то
можно заметить, что с очень высокой вероятностью адрес очередной команды про-
граммы либо следует непосредственно за адресом, по которому была считана теку-
щая команда, либо расположен вблизи него. Такое расположение адресов называ-
ется
пространственной локальностью программы.
Обрабатываемые данные, как
правило, структурированы, и такие структуры обычно хранятся в последователь-
ных ячейках памяти. Данная особенность программ называется
пространствен-
ной локальностью данных.
Кроме того, программы содержат множество неболь-
ших циклов и подпрограмм. Это означает, что небольшие наборы команд могут
многократно повторяться в течение некоторого интервала времени, то есть имеет
место
временная локальность.
Все три вида локальности объединяет понятие
ло-
кальность по обращению.
Принцип локальности часто облекают в численную фор-
му и представляют в виде так называемого правила «90/10»: 90% времени работы
программы связано с доступом к 10% адресного пространства этой программы.
Из свойства локальности вытекает, что программу разумно представить в виде
последовательно обрабатываемых фрагментов — компактных групп команд и дан-
ных. Помещая такие фрагменты в более быструю память, можно существенно сни-
зить общие задержки на обращение, поскольку команды и данные, будучи один
раз переданы из медленного ЗУ в быстрое, затем могут использоваться многократно,
и среднее время доступа к ним в этом случае определяется уже более быстрым ЗУ.
Это позволяет хранить большие программы и массивы данных на медленных, ем-
ких, но дешевых ЗУ, а в процессе обработки активно использовать сравнительно
небольшую быструю память, увеличение емкости которой сопряжено с высокими
затратами.
На каждом уровне иерархии информация разбивается на
блоки,
выступающие
в качестве наименьшей информационной единицы, пересылаемой между двумя
соседними уровнями иерархии. Размер блоков может быть фиксированным либо
переменным. При фиксированном размере блока емкость памяти обычно кратна
его размеру. Размер блоков на каждом уровне иерархии чаще всего различен и уве-
личивается от верхних уровней к нижним.
При доступе к командам и данным, например, для их считывания, сначала про-
изводится поиск в памяти верхнего уровня. Факт обнаружения нужной информа-
ции называют
попаданием
(hit), в противном случае говорят о
промахе
(miss). При
промахе производится поиск в ЗУ следующего более низкого уровня, где также
возможны попадание или промах. После обнаружении необходимой информации
выполняется последовательная пересылка блока, содержащего искомую инфор-
2 0 2 Глава 5. Память
мацию, с нижних уровней на верхние. Следует отметить, что независимо от числа
уровней иерархии пересылка информации может осуществляться только между
двумя соседними уровнями.
При оценке эффективности подобной организации памяти обычно использу-
ют следующие характеристики:
•
коэффициент попаданий
(hit rate) — отношение числа обращений к памяти, при
которых произошло попадание, к общему числу обращений к ЗУ данного уровня
иерархии;
•
коэффициент промахов
(miss rate) — отношение числа обращений к памяти, при
которых имел место промах; к общему числу обращений к ЗУ данного уровня
иерархии;
•
время обращения при попадании
(hit time) — время, необходимое для поиска
нужной информации в памяти верхнего уровня (включая выяснение, является
ли обращение попаданием), плюс время на фактическое считывание данных;
•
потери на промах
(miss penalty) — время, требуемое для замены блока в памяти
более высокого уровня на блок с нужными данными, расположенный в ЗУ сле-
дующего (более низкого) уровня. Потери на промах включают в себя:
время
доступа
(access time) — время обращения к первому слову блока при промахе и
время пересылки
(transfer time) — дополнительное время для пересылки остав-
шихся слов блока. Время доступа обусловлено задержкой памяти более низко-
го уровня, в то время как время пересылки связано с полосой пропускания ка-
нала между ЗУ двух смежных уровней.
Описание некоторого уровня иерархии ЗУ предполагает конкретизацию четы-
рех моментов:
• размещения блока — допустимого места расположения блока на примыкающем
сверху уровне иерархии;
• идентификации блока — способа нахождения блока на примыкающем сверху
уровне;
• замещения блока — выбора блока, заменяемого при промахе с целью освобож-
дения места для нового блока;
• согласования копий (стратегии записи) — обеспечения согласованности копий
одних и тех же блоков, расположенных на разных уровнях, при записи новой
информации в копию, находящуюся на более высоком уровне.
Самый быстрый, но и минимальный по емкости тип памяти — это внутренние
регистры ЦП, которые иногда объединяют понятием
сверхоперативное запомина-
ющее устройство
— СОЗУ. Как правило, количество регистров невелико, хотя
в архитектурах с сокращенным набором команд их число может доходить до не-
скольких сотен. Основная память (ОП), значительно большей емкости, распола-
гается несколькими уровнями ниже. Между регистрами ЦП и основной памятью
часто размещают кэш-память, которая по емкости ощутимо проигрывает ОП, но
существенно превосходит последнюю по быстродействию, уступая в то же время
СОЗУ. В большинстве современных ВМ имеется несколько уровней кэш-памяти,
которые обозначают буквой L и номером уровня кэш-памяти. На рис. 5.1 показаны
Основная память 2 0 3
два таких уровня. В последних разработках все чаще появляется также третий
уровень кэш-памяти (L3), причем разработчики ВМ говорят о целесообразности
введения и четвертого уровня — L4. Каждый последующий уровень кэш-памяти
имеет большую емкость, но одновременно и меньшее быстродействие по сравне-
нию с предыдущим. Как бы то ни было, по «скорости» любой уровень кэш-памяти
превосходит основную память. Все виды внутренней памяти реализуются на ос-
нове полупроводниковых технологий и в основном,являются энергозависимыми.
Долговременное хранение больших объемов информации (программ и данных)
обеспечивается внешними ЗУ, среди которых наиболее распространены запоми-
нающие устройства на базе магнитных и оптических дисков, а также магнитолен-
точные ЗУ.
Наконец, еще один уровень иерархии может быть добавлен между основной
памятью и дисками. Этот уровень носит название дисковой кэш-памяти и реали-
зуется в виде самостоятельного ЗУ, включаемого в состав магнитного диска. Дис-
ковая кэш-память существенно улучшает производительность при обмене инфор-
мацией между дисками и основной памятью.
Иерархия может быть дополнена и другими видами памяти. Так, некоторые
модели ВМ фирмы IBM включают в себя так называемую расширенную память
(expanded storage), выполненную на основе полупроводниковой технологии, но
имеющую меньшее быстродействие и стоимость по сравнению с ОП. Строго гово-
ря, этот вид памяти не входит в иерархию, а представляет собой ответвление от
нее, поскольку данные могут передаваться только между расширенной и основной
памятью, но не допускается обмен между расширенной и внешней памятью.
Основная память
Основная память
(ОП) представляет собой единственный вид памяти, к которой
ЦП может обращаться непосредственно (исключение составляют лишь регистры
центрального процессора). Информация, хранящаяся на внешних ЗУ, становится
доступной процессору только после того, как будет переписана в основную память.
Основную память образуют запоминающие устройства с произвольным досту-
пом. Такие ЗУ образованы как массив ячеек, а «произвольный доступ» означает,
что обращение к любой ячейке занимает одно и то же время и может производить-
ся в произвольной последовательности. Каждая ячейка содержит фиксированное
число запоминающих элементов и имеет уникальный адрес, позволяющий разли-
чать ячейки при обращении к ним для выполнения операций записи и считыва-
ния.
Следствием огромных успехов в области полупроводниковых технологий стало
изменение элементной базы основной памяти. На смену ЗУ на базе ферромагнит-
ных колец пришли полупроводниковые микросхемы, использование которых
в наши дни стало повсеместным
1
.
В полупроводниковых ЗУ применяются запоминающие элементы на основе: биполярных транзисто-
ров; приборов со структурой «металл-окисел-полупроводник» (МОП-транзисторов); приборов со
структурой «металл-нитрид-окисел-полупроводник» (МНОП); приборов с зарядовой связью (ПЗС);
МОП-транзисторов с изолированным затвором и др.
2 0 4 Глава 5. Память
Основная память может включать в себя два типа устройств:
оперативные за-
поминающие устройства
(ОЗУ) и
постоянные запоминающие устройства
(ПЗУ).
Преимущественную долю основной памяти образует ОЗУ, называемое опера-
тивным, потому что оно допускает как запись, так и считывание информации,
причем обе операции выполняются однотипно, практически с одной и той же ско-
ростью, и производятся с помощью электрических сигналов. В англоязычной
литературе ОЗУ соответствует аббревиатура RAM —
Random Access Memory,
то
есть «память с произвольным доступом», что не совсем корректно, поскольку па-
мятью с произвольным доступом являются также ПЗУ и регистры процессора. Для
большинства типов полупроводниковых ОЗУ характерна энергозависимость —
даже при кратковременном прерывании питания хранимая информация теряется.
Микросхема ОЗУ должна быть постоянно подключена к источнику питания и по-
этому может использоваться только как временная память.
Вторую группу полупроводниковых ЗУ основной памяти образуют энергоне-
зависимые микросхемы ПЗУ (ROM —
Read-Only Memory).
ПЗУ обеспечивает счи-
тывание информации, но не допускает ее изменения (в ряде случаев информация
в ПЗУ может быть изменена, но этот процесс сильно отличается от считывания
и требует значительно большего времени).
Блочная организация основной памяти
Емкость
современных ВМ слишком велика, чтобы ее можно было
реализовать на базе единственной интегральной микросхемы (ИМС). Необходи-
мость объединения нескольких ИМС ЗУ возникает также, когда разрядность ячеек
в микросхеме ЗУ меньше разрядности слов ВМ.
Увеличение разрядности ЗУ реализуется за счет объединения адресных вхо-
дов объединяемых ИМС ЗУ. Информационные входы и выходы микросхем явля-
ются входами и выходами модуля ЗУ увеличенной разрядности (рис. 5.2). Полу-
ченную совокупность микросхем называют
модулем памяти
Модулем можно
считать и единственную микросхему, если она уже имеет нужную разрядность.
Один или несколько модулей образуют
банк памяти.
Рис. 5.2. Увеличение разрядности памяти
Для получения требуемой емкости ЗУ нужно определенным образом объеди-
нить несколько банков памяти меньшей емкости. В общем случае основная па-
Основная память
2 0 5
мять ВМ практически всегда имеет блочную структуру, то есть содержит несколько
банков.
При использовании блочной памяти, состоящей из
В
банков, адрес ячейки
А
преобразуется в пару
(b,
где
b
— номер банка,
w
— адрес ячейки внутри банка.
Известны три схемы распределения разрядов адреса
А
между
b
и
• блочная (номер банка
b
определяет старшие разряды адреса);
• циклическая
(b = A
mod
= A
div
В);
• блочно-циклическая (комбинациядвух предыдущих схем).
Рассмотрение основных структур блочной ОП будем проводить на примере
памяти емкостью 512 слов (2
9
), построенной из четырех банков по 128 слов в каж-
дом. Типовая структура памяти, организованная в соответствии с блочной струк-
турой, показана на рис. 5.3.
Рис.
5.3. Структура основной памяти на основе блочной схемы
Адресное пространство памяти разбито на группы последовательных адресов,
и каждая такая группа обеспечивается отдельным банком памяти. Для обращения
к ОП используется 9-разрядный адрес, семь младших разрядов которого
(А
6
-А
0
)
поступают параллельно на все банки памяти и выбирают в каждом из них одну
ячейку. Два старших разряда адреса (
А
8
,, А
7
)
содержат номер банка. Выбор банка
обеспечивается либо с помощью дешифратора номера банка памяти, либо путем
мультиплексирования информации (на рис. 5.3 показаны оба варианта). В функ-
циональном отношении такая ОП может рассматриваться как единое ЗУ, емкость
которого равна суммарной емкости составляющих, а быстродействие — быстро-
действию отдельного банка.
Расслоение памяти
Помимо податливости к наращиванию емкости, блочное построение памяти обла-.
дает еще одним достоинством — позволяет сократить время доступа к информа-
ции. Это возможно благодаря потенциальному параллелизму, присущему блоч-
ной организации. Большей скорости доступа можно достичь счет одновременного
доступа ко многим банкам памяти. Одна из используемых для этого методик на-