Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по ЭСБ новое.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
12.98 Mб
Скачать

1.2.3 Страничная адресация

При страничной организации адресации вся память делится на равные части определенного размера.

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

-адресация на базовой странице. Номеру страницы присваивается нулевое значение, т.е. абсолютный адрес формируется из нулевой (базовой) страницы памяти;

-адресация с использованием текущей страницы. Номер страницы устанавливается равным значениям старших разрядов счетчика команд, при этом адрес располагается на той странице, где находится выполняемая команда (на текущей странице);

-адресация с использованием регистра страницы. Номер страницы определяется по содержимому регистра страниц, в которой предварительно программным путем загружается требуемый номер страницы.

Хотя при этом способе адресации уменьшается длина адреса для многих команд, все-таки иногда необходимо указывать полный адрес. Следовательно, ЭВМ, имеющие страничную адресацию, должны располагать и другими способами адресации, такими, как абсолютная и косвенная регистровая адресация.

Страничную адресацию использует ЭВМ 6809, MCS-48 (память данных), MCS-48 (память команд) и др.

На представленном рисунке 1.5 16-разрядный абсолютный адрес может быть поделен на два элемента: 8-разрядный номер страницы указывает какая из 256 страниц содержит требуемый байт информации; 8-разрядный адрес на странице задает местоположение байта в пределах 256-байтовой страницы.

0000

Flowchart: Process 1260 A)

Flowchart: Process 1259 00FF

0100

01FF

Flowchart: Process 1258 Straight Arrow Connector 1159 0200

02FF

Flowchart: Process 1151 Freeform 1158

Freeform 1157

Flowchart: Process 1150 FF00

FFFF

Б

№ страницы

Адрес на стр.

) 15 8 7 0

В)

ОП

Flowchart: Process 1146 Flowchart: Process 1143 Flowchart: Process 1147 Flowchart: Process 1145 Flowchart: Process 1144 Flowchart: Process 1142 Flowchart: Process 1141 Flowchart: Process 1140 Straight Arrow Connector 1139 Straight Arrow Connector 1138 Straight Arrow Connector 1137

ГFlowchart: Process 1135 Flowchart: Process 1136 ) Счетчик команд (РС) ОП

Flowchart: Process 1131 Flowchart: Process 1130 Flowchart: Process 1134 Straight Arrow Connector 1128 Straight Arrow Connector 1127 Straight Arrow Connector 1126 Straight Arrow Connector 1125

Flowchart: Process 1132

Straight Arrow Connector 1124

Исполнительный адрес

Flowchart: Process 1123

ДFlowchart: Process 1122 )

Flowchart: Process 1119 Регистр страниц ОП

Flowchart: Process 1115 Straight Arrow Connector 1114 Straight Arrow Connector 1113 Straight Arrow Connector 1112 Straight Arrow Connector 1111 Straight Arrow Connector 1110

Рисунок 1.5 – Формирование страничных адресов

где: А) – деление адресного пространства;

Б) – адресное значение;

В) – адресация с использованием базовой страницы;

Г) - адресация с использованием текущей страницы;

Д) - адресация с использованием регистра страницы.

Аппаратура страничной организации памяти может быть реализована по следующему принципу.

Разделим (мысленно) всю главную память на страницы, т.е. на равные части определенного размера. Например, размер страницы в разных ЭВМ принимался равным от 512 до 4096 слов, а количество страниц в главной памяти от 16 до 64 или даже от 128 и более. Тогда адрес любой ячейки памяти можно представить себе состоящим из двух частей: старшие разряды – номер страницы, младшие – номер ячейки в странице («номер строки»). Это относится как к тем адресам, которые записаны в тексте программы на машинном языке (математические или виртуальные адреса), так и к тем исполнительным адресам, которые передаются запоминающим устройствам при обращении к ним (физические адреса). Формирование исполнительных адресов состоит в подмене номера страницы в математическом адресе (математического номера страницы) некоторым другим, физическим номером страницы. Эта подмена выполняется при каждом обращении к памяти аппаратурой формирования исполнительных адресов, а соответствие между математическими и физическими адресами на определенный интервал времени устанавливает операционная система.

Как увидим далее, такое построение позволяет организовать перемещение и уплотнение информации в памяти, защиту памяти и решить другие задачи. Однако все эти задачи будут решаться с дискретностью в одну страницу. Например, при уплотнении информации система сумеет использовать «окна» в памяти, только кратные по размеру странице, при организации защиты памяти для всей страницы будет устанавливаться одинаковый статус и т.д.

Известны три основных варианта построения аппаратуры, обеспечивающей страничную организацию памяти. Эти варианты представлены на рис. 1.6.

Во всех вариантах существенную часть аппаратуры составляет ЗУ из так называемых дескрипторных регистров, в которых ОС заносит описание (description) соответствия между физическими и математическими номерами страниц. Варианты различаются, прежде всего формой, в которой представлено это описание. Занесение информации в дескриптарные регистры (ДР) является привелигированной операцией ОС.

1-й вариант (рисунок 1.6а) построен так, что количество дескрипторных регистров равно максимально возможному для одной программы количеству страниц. При этом предполагается, что если это количество равно N, то в качестве математических номеров страниц будут использоваться числа 1,2,3 , …, N или 0,1,…(N-1). Математический номер страницы в составе адреса, имеющегося в инструкции, представляет собой фактически номер дескрипторного регистра (ДР), который должен быть использован при формировании исполнительного адреса.

Информация, хранящаяся в этом варианте в ДР – это физические номера страниц, соответствующие заданным неявно (в виде номеров ДР математическим адресам).

При формировании адреса производится дешифрирование математического номера страницы, и на одном из выходов дешифраторасигналов управления появляется сигнал. Этот сигнал открывает группу вентилей (&), пропускающую на своем выходе информацию из того ДР, номер которой соответствует математическому номеру страницы. Выходы вентилей объединяются в сборку (шины), на выходе которой проходит информация из выбранного ДР, т.е. физический номер страницы, соответствующий математическому номеру страницы, содержащемуся в адресе, который был прочитан в составе команды.сигналов управления появляется сигнал. Этот сигнал открывает группу вентилей (&), пропускающую на своем выходе информацию из того ДР, номер которой соответствует математическому номеру страницы. Выходы вентилей объединяются в сборку (шины), на выходе которой проходит информация из выбранного ДР, т.е. физический номер страницы, соответствующий математическому номеру страницы, содержащемуся в адресе, который был прочитан в составе команды.

Второй вариант (рис. 1.6б) отличается тем, что каждый из ДР закреплен не за математическим номером страницы, а , наоборот, за определенной физической страницей. Информация, которую ОС засылает в дескрипторы, в этом варианте представляет собой математические адреса страниц: в ДР, соответствующий определенной физической странице, записывается математический номер, по которому программа будет обращаться к этой странице.

Выходная информация из ДР поступает на входы схем совпадения, каждая из которых соединена со своим ДР. На другие входы схем совпадения поступает математический номер страницы. Обнаруживая совпадение математического номера страницы с содержанием своего дескриптора, схема совпадения формирует сигнал = (равно).

Сигналы с выходов схем совпадения, представляющие собой как бы физический номер страницы, записанные в единичной форме, поступают на вход шифратора, который кодирует этот номер в виде двоичного числа.

3-ий вариант аппаратной реализации страничной памяти представлен на рисунке 1.6в.

Каждый из ДР состоит из двух частей. В тех частях регистров, которые на рисунке расположены слева, записываются математические адреса страниц, в правых – соответствующие им физические адреса страниц.

С левой частью каждого из ДР связана схема совпадения, так же как на рисунке 1.6б. При совпадении математического номера страницы в адресе обращения к памяти с математическим номером страницы, записанным в левой части некоторого ДР, соответствующая СП вырабатывает сигнал = (равно). Этот сигнал управляет группой вентилей, соединенной с правой частью того же ДР аналогично тому, как группы вентилей соединены с ДР-ми в схеме рисунка 1.6а. Далее как на рисунке 1.6а, выходы группвентилей объединяются сборкой, на выход которой проходит физический номер страницы, соответствующий выбираемому математическому номеру страницы.

Flowchart: Process 1108 Математический адрес

Flowchart: Process 1109

Straight Arrow Connector 1344 Straight Arrow Connector 31

Flowchart: Process 1105

Flowchart: Process 1104

Flowchart: Process 1102 Straight Arrow Connector 1099 Straight Arrow Connector 1098 Elbow Connector 30 Straight Arrow Connector 29 Straight Arrow Connector 1090

Elbow Connector 28

Straight Arrow Connector 1095 Straight Arrow Connector 1094

.

.

.Straight Arrow Connector 27

.

Flowchart: Process 1088 Flowchart: Process 1087 Straight Arrow Connector 1083 Straight Arrow Connector 1082 Straight Arrow Connector 1089

Straight Arrow Connector 25 Straight Arrow Connector 26

Flowchart: Process 1101

Straight Arrow Connector 1097 Straight Arrow Connector 1093

Straight Arrow Connector 24

Straight Arrow Connector 1081

Физический адрес операнда

Рисунок 1.6а – Варианты страничной адресации

Математический адрес

Flowchart: Process 1001 Flowchart: Process 1002

Flowchart: Process 999 Flowchart: Process 998 Straight Arrow Connector 22 Straight Arrow Connector 992 Elbow Connector 23 Straight Arrow Connector 1277 Straight Arrow Connector 1276

Elbow Connector 21

Straight Arrow Connector 1279 Straight Arrow Connector 1278 Straight Arrow Connector 1275

Straight Arrow Connector 20

Flowchart: Process 1005

Straight Arrow Connector 1008

Flowchart: Process 1004 Flowchart: Process 1003

Рисунок 1.6б – Варианты страничной адресации

МFlowchart: Process 1053 Flowchart: Process 1052 Flowchart: Process 1048 ат. ном.стр.Физ. Ном. Строки

Flowchart: Process 1049 Straight Arrow Connector 19 Straight Arrow Connector 18

Flowchart: Process 1047 Flowchart: Process 1044 Straight Arrow Connector 17 Straight Arrow Connector 1034 Straight Arrow Connector 1033 Straight Arrow Connector 1032 Straight Arrow Connector 1031 Straight Arrow Connector 1030 Straight Arrow Connector 1029 Straight Arrow Connector 1028 Straight Arrow Connector 1027 Straight Arrow Connector 1026 Straight Arrow Connector 1025 Straight Arrow Connector 1024 Straight Arrow Connector 1022 Straight Arrow Connector 1016 Straight Arrow Connector 1015

Flowchart: Process 1042

Flowchart: Process 1046

Flowchart: Process 1037 Flowchart: Process 1036

Рисунок 1.6в – Варианты страничной адресации

Сравнивая между собой приведенные три основных варианта, можно заметить одно принципиальное отличие 1-го варианта от 2-го и 3-го. Совокупность ДР в любом случае можно рассматривать как некоторое ЗУ специального назначения. Однако только в первом варианте оно является обычным ЗУ с адресной выборкой. Математический номер страницы в этом варианте построения аппаратуры, используется как адрес ячейки в специальной памяти, где хранится соответствующий физический номер страницы. Во 2-м и 3-м вариантах мы имеем дело фактически с ЗУ с ассоциативной выборкой.

Поэтому на основе 1-го варианта аппаратуры страничной организации памяти возможно создание такой упрощенной модификации, в которой роль ДР играл бы отведенной для этой цели участок главной памяти (рисунок 1.6г).

Математический адрес

Flowchart: Process 1289 Flowchart: Process 1290

Straight Arrow Connector 1284 Straight Arrow Connector 1283 Straight Arrow Connector 1282 Straight Arrow Connector 1281

Flowchart: Process 1287 Straight Arrow Connector 16

Elbow Connector 15

Flowchart: Process 1286

(Физический адрес дескриптора)

Flowchart: Process 1280

Elbow Connector 14

(Elbow Connector 13 содержимое ячейки дескриптора)

Flowchart: Process 1012 Flowchart: Process 1011

Физический адрес

Рисунок 1.6г – Варианты страничной адресации

Аппаратура ДР заменена одним регистром, в который ОС засылает начальный физический адрес массива главной памяти, отведенного для дескрипторов. Этот массив заполняется ОС и тоже защищен от изменения в нем программами пользователей.

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