Устройство для управления виртуальной памятью

Иллюстрации

Показать все

Реферат

 

ОП ИСАНИЕ

ИЗО6РЕТЕН ИЯ

Союз Советских

Социалистических

Республик ()955076

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву— (22) Заявлено 21.04.80 (21) 2932293/18-24 с присоединением заявки №вЂ” (23) Приоритет— (51) М, Кл.з

G 06F 13/06

Гвеударствеикый комитет пв делам изобретеикй и открытий

Опубликовано 30.08.82. Бюллетень № 32

Дата опубликования описания 30.08.82 (53) УДК 681.325 (088.8) (72) Авторы изобретения

В. Н. Заблоцкий и Б. В. Цесин

Ф и (71) Заявитель (54) УСТРОИСТВО Д,ЛЯ УПРАВЛЕНИЯ ВИРТУА,ЛЬНОй ПАМЯТЬЮ

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

Известно устройство преобразования адресов в системах виртуальной памяти, содержащее запоминающее устройство из дескрипторных регистров, в которые операционная система помещает соответствия между физическими и математическими номерами страниц. Количество дескрипторных регистров равно максимально возможному для одной программы количеству страниц. Математический номер страницы в адресе представляет собой фактически номер дескрипторного регистра, который должен быть использован при формировании исполнительного адреса. Информация, хранящаяся в дескрипторных регистрах, — это физи- . ческие номера страниц. Для определения физического адреса производится дешифрирование математического номера страницы, выбирается соответствующий дескрипторный регистр, содержимое которого определяет соответствующий физический адрес.

Недостаток данного варианта — большие затраты оборудования для реализации дескрипторных регистров, поэтому он применим только в системах с очень малым количеством математических страниц.

Второй вариант построения аппаратуры преобразования адресов отличается тем, что каждый из дескрипторных регистров закреплен не за математическим номером страницы, а за определенной физической страницей. Информация, которую операционная система засылает в дескрипторные регистры, представляет собой математические адреса страниц: в дескрипторный регистр, соответствующий определенной физической странице, записывается математический номер, по которому программа будет обращаться к этой странице. Выходная информация из дескрипторных регистров поступает на входы схем совпадения. На другие входы схем совпадения поступает математический номер страницы. При обнаружении соответствия между математическим номером страницы и содержимым своего дескрипторного регистра схемой совпадения формируется сигнал совпадения. Если сигнал сов955076 падения не выдан ни одной из схем совпадения, то переадресация осуществляется с помощью таблиц переадресации.

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

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

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

f0

Зо

Наиболее близким к предлагаемому является устройство для динамического преобразования адресов, содержащее регистр логического адреса, управляющий регистр, регистр физического адреса, ассоциативные регистры и регистр общего назначения, причем соответствующие выходы регистра ло- 45 гического адреса соединены с входами ассоциативных регистров и регистра физического адреса соответственно, выход соответствующих разрядов регистра логического адреса и управляющего регистра соединены с соот50 ветствующими входами арифметического устройства процессора, выход которого соединен с входом регистра общего назначения, выход которого соединен с соответствующими входами регистра физического адреса и ассоциативных регистров, соответствующие выходы устройства управления процессора соединены с управляющими входами управляющего регистра, регистров логического и физического адресов, ассоциативных регистров и регистра общего назначения (2) .

Недостатками известного устройства для динамического преобразования адресов являются, во-первых, низкая скорость работы, обусловленная тем, что при невозможности переадресации с помощью ассоциативных регистров, количество которых мало по сравнению с объемом оперативной памяти вычислительной системы, переадресация осуществляется программными или микропрограммными средствами, во-вторых, ограниченные функциональные возможности, так как устройство не решает задачи размещения в оперативной памяти новой вводимой страницы, а такЖе не определяет номера страницы в оперативной памяти, которая возможно будет замещаться.

Цель изобретения — повышение быстродействия устройства.

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

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

Генератор расстановки содержит группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, дешифратор и коммутатор, причем входы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ группы являются первым входом генератора, а выходы соединены с первым входом коммутатора, второй вход которого и вход дешифратора являются вторым входом генератора, выходы дешифратора и коммутатора образуют выход генератора, третий вход коммутатора является третьим входом генератора.

Блок управления замещением содержит группу коммутаторов, группу элементов

ИЛИ, узел приоритета и дешифратор, при. чем входы коммутаторов группы и элементов

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

Блок коррекции содержит элементы И и ИЛИ, причем первые входы первого, второго и третьего элементов И образуют первый вход блока, первых вход четвертого элемента И является вторым входом блока, вторые входы первого, второго, третьего и четвертого элементов И образуют третий вход блока, выходы первого и четвертого элементов И соединены с входами элемента ИЛИ, выход которого и выходы второго, третьего и четвертого элементов И образуют выход блока.

Блок местного управления содержит с первого по тринадцатый элементы И, с первого по шестой элементы ИЛИ и первый и второй триггеры, причем входы первого элемента ИЛИ являются четвертым входом блока, а выход соединен с первым входом

5 !

О

l5

Зо

6 первого триггера, выходы второго и третьего элементов ИЛИ соединены соответственно с первыми входами первого и тринадцатого элементов И, первые входы со второго по двенадцатый элементов И и входы второго, третьего и четвертого элементов ИЛИ образуют второй вход блока, вторые и третьи входы с первого по тринадцатый элементов

И являются соответственно первым и третьим входами блока, выход первого элемента

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

На фиг. 1 приведена структурная схема устройства для управления виртуальной памятью; на фиг. 2 — функциональная схема блока входных регистров; на фиг. 3— функциональная схема блока памяти страниц; на фиг. 4 — функциональная схема блока сравнения; на фиг. 5 — функциональная схема генератора расстановки; на фиг. 6 — функциональная схема блока управления замещением; на фиг. 7 — функциональная схема блока коррекции; на фиг. 8 — функциональная схема блока выходных регистров; на фиг. 9 —. функциональная схема элемента памяти; на фиг. 10 — функциональная схема компаратора; на фиг. 11 — функциональная схема узла приоритета; на фиг. 12 — функциональная схема формирователя; на фиг. 13 — фунциональная схема блока местного управления; на фиг. 14 — временная диаграмма тактовых импульсов с шины синхронизации.

Устройство для управления виртуальной памятью (фиг. 1) содержит блок 1 входных регистров, блок 2 выходных регистров, управляющий регистр 3, регистр 4 общего назначения, блоки 5 сравнения,, блок 6 местного управления, блоки 7 памяти страниц, 955076 генератор 8 расстановки, блок 9 управления замещением, блок 10 коррекции, вход 11 адреса оперативной памяти, вход 12 задания режима, синхровход 13, вход 14 задания кода операции устройства, входы 15 — 23 блока 6 местного управления, выходы 24 — 29 блока 6 местного управления, вход 30 устройства, выход 31 блока входных регистров, выход 32 сигнала прерывания и информационный выход 33.

Блок 1 входных регистров (фиг. 2) содер- fo жит регистр логического адреса 34, вычитатель 35, группу 36 элементов И, выходы

37 — 39 регистра 34 логического адреса, выходы 40 — 42 управляющего регистра 3.

Блок 7 памяти страниц (фиг. 3) содержит группы 43--52 элементов памяти, регист15 ры 53 и 54, дешифратор 55, элементы И 56-71 и элементы ИЛИ 72 — 75.

Блок 5 сравнения (фиг. 4) содержит компаратор 76, регистр 77 и элементы И 78

H 79 20

Генератор 8 расстановки (фиг. 5) содержи1 i py0ny 80 элементов ИСКЛ10ЧАЮЩЕЕ

ИЛИ, коммутатор 8! и дешифратор 82.

Блок 9 управления замещением (фиг. 6) содержит элементы ИЛИ 83, дешифратор 84, коммутаторы 85 и узел 86 приоритета.

Блок 10 коррекции (фиг. 7) содержит элементы И 87 — -90 и элемент ИЛИ 91.

Блок 2 выходных регистров (фиг. 8) содержит регистр 92 физического адреса, регистр 93 замещаемой страницы, регистр 94 з0 флажков, коммутаторы 95 и 96, формирователи 97 и 98 и элемент ИЛИ 99.

3.. .емсHT памяти групп 43 — -52 блока ? памяти страниц (фиг. 9) содержит дешифратор 100 адреса, информационный ре, истр 101, группу 102 элементов И и комму- з5 татор 103.

Компаратор 76 (фиг. )О) содержит элемент ИЛИ-HE 104 и в каждом разряде —элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 105.

Узел 86 приоритета (фиг. 11) блока 9 40 управления замещением содержит элементы

И 06 и ИЛИ 107.

Формирователи 97 и 98 (фиг. 12) содержат элементы ИЛИ 108 (предполагается, 1то устройство содержит шестнадцать блоков 7 памяти страниц).

Блок 6 местного управления (фиг. 13) содержит второй, — седьмой, тринадцатый, восьмой — - двенадцатый и первый элементы

И 109 — 121, шестой, пятый, первый, второй, третий и четвертый элементы ИЛИ 122 †1 и трпперы 128 и 129.

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

Для обеспечения этих возможностей в управляющем регистре 3 хранятся следующие системные параметры: — величина, определяющая, число сегментов оперативной памяти, отведенных для области ядра операционной системы, обеспечивающей множественную виртуальную память (поступает с выхода 40 управющего регистра 3); — номер виртуальной машины, работающей в данный момент времени (поступает с выхода 41 управляющего регистра 3). номер множественной виртуальной памяти, которая реа.лизуется в данный момент времени (поступает с выхода 42 управляющего регистра 3).

Номер множественной виртуальной памяти и размер ядра операционной системы заносится в управляющий регистр 3 операционной системы, реализующей множественную виртуальную память. Если операционная система не реализует множественную виртуальную память, то эти разряды управляюи его регистра 3 обнулены. Номер виртуальной машины помещается в управляющий регистр 3 операционной системой, реализующей эту возможность. Для других типов операционных систем эти разряды управляющего регистра 3 игнорируются.

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

Управля1ощий регистр 3 реализован на

B-триг.ерах.

Блок 1 входных регистров предназначен для формирования полного виртуального адрес-, которь1й учитывает номер множественной виртуальной памяти и номер реализуемой в данный момент виртуальной машины. Полный виртуальный адрес образуется как совокупность номера виртуальной машины. номера множественной виртуальной памяти, которые находятся в управляющем регистре 3, и номеров сегмента, страницы и смещения, которые находятся в регистре 34 логического адреса. Номер сегмента, номер страницы и смещение поступают с выходов

37 — -39 регистра 3 и логического адреса соответственно. Для динамической переадресации значение смещения, находящееся в регистре 34 логического адреса, не используется.

955076

9

При работе с множественной виртуальной памятью область ядра операцианчой системы переносится в каждую виртуальную память. Для того, чтобы иметь только одну копию ядра операционной системы, в оперативной памяти используется вычитатель 35 и группа 36 элементов И. Ядро такой операционной системы в оперативной памяти отображается на виртуальную память с номером нуль. С помощью вычитателя 35 сравнивается номер сегмента, находящийся в регистре 34 логического адреса, с величиной адра операционной системы, находящейся в управляющем регистре 3. Если номер сегмента, находящийся в регистре 34 логического адреса больше, чем число, указывающее размер ядра операционной системы, то это показывает, что обращение производится не к ядру операционной системы. Поэтому вычитатель 35 открывает элементы И группы 36, и в формировании физического адреса участвует номер множественной виртуальной памяти. Если номер сегмента, находящийся в регистре 34 логического адреса, меньше, чем число, указывающее размер ядра операционной системы, то это указывает, что обращение производится к ядру операционной системы. Поэтому вычитатель 35 закрывает элементы И группы 36 и в формировании физического адреса участвует виртуальная память с номером нуль.

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

Регистр 34 логического адреса реализован на D-триггерах, вычитатель 35 — комбинационного типа со сквозным или параллельным распространением заема.

Блоки 7 памяти страниц предназначены для хранения страничной таблицы и обеспечивают возможность для ее модификации.

Каждый из блоков 7 памяти страниц содержит часть этой таблицы. Все блоки 7 памяти страниц содержат полную страничную таблицу, число строк которой равно числу стра.ниц, которые, можно расположить в оперативной памяти. Строка страничной таблицы описывает единственную страницу оперативной памяти. В строке страничной таблицы находится следующая информация: — номер виртуальной машины и номер виртуальной памяти хранятся в группе 43 элементов памяти;

f0

Зо

40 — номер сегмента и номер страницы хранятся в группе 44 элементов памяти (номера виртуальной машины, виртуальной памяти, сегмента и страницы указывают номер виртуальной страницы в вычислительной системе ); — бит обращения (хранится в группе 45 элементов памяти) устанавливается в режиме переадресации при каждом обращении к этой странице; — бит изменения (хранится в группе 46 элементов памяти) устанавливается в режиме переадресации, если обращение к данной странице производится для записи в нее информации; — биты частоты использования страницы во время ее нахождения в оперативной памяти. Если страница используется часто, то устанавливается бит группы 47 элементов памяти, если страница используется менее часто, то устанавливается бнт группы 48 элементов памяти, если страница используется редко, то устанавливается бит группы 49 элементов памяти. При загрузке страницы в оперативную память устанавливается бит часъэ используемой страницы, так как после загрузки страницы к ней обязательно будет обращение. Биты частоты использования страницы корректируются через равные промежутки времени, определяемые операционной системой. Такая коррекция битов частоты использования страниц позволяет получить страничное множество часто используемых страниц, страничное множество менее часто используемых страниц и страничное множество редко используемых страниц. С помощью этих трех страничных множеств и бита изменения реализуется алгоритм удаления страниц, описанный ниже. — бит — указатель ожидания ввод-вывода, определяющий, что данная страница находится в оперативной памяти, но в настоящее время используется в операциях, связанных с вводом-выводом информации (хранится в группе 50 элементов памяти).

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

Та страница, в которой установлен этот бит, не подлежит удалению из оперативной памяти. бит — указатель действительности строки страничной таблицы (хранится в группе 52 элементов памяти). Если бит не установлен, то эта строка страничной таблицы считается свободной.

В каждом разряде групп 43 — 52 элементов памяти содержатся элементы памяти с дешифратором адреса.

955076

В элементе памяти (фиг. 9) выход дешифратора 100 соединен с управляющими входами группы 102 элементов И и коммутатора 103, выход которого соединен с выходом информационного регистра 101, выход которого является информационным входом элемента памяти, а управляющий вход информационного регистра 101 соединен с выходом группы элементов И 102, вход которой является управляющим входом элемента памяти, вход дешифратора 100 адреса 10 является адресным входом элемента памяти, выходом которого является выход коммутатора 103. При обращении к элементу памяти на его адресный вход подается необходимый адрес. Этот адрес дешифрируется дешифратором 100, который выбирает один из элементов И из группы 102 элементов И, и коммутатором 103. При чтении информации на управляющий вход элемента памяти подается потенциал логического нуля, который, управляя элементами И группы 102, 0 блокирует запись информации в регистр 101, а значение выбранного дешифратором !00 с помощью коммутатора 103 разряда регистра 101 поступает на выход элемента. памяти. При записи входная информация с информационного входа элемента памяти 25 поступает на все разряды информационного регистра 101. Требуемый разряд регистра

101 выбирается дешифратором адреса 100 путем выбора одного элемента И из группы элементов И 102. На второй вход всех элементов И группы 102 элементов И, являю30 щийся управляющим входом элемента памяти, подается потенциал логической единицы, разрешая запись информации.

В режиме переадресации наряду с адресом физической страницы формируется адрес свободной физической страницы или, если свободной страницы нет, адрес физической страницы, которая возможно будет замещаться. Адрес свободной или замещаемой физической страницы используется в 40 случае, если в режиме переадресации определится, что требуемой виртуальной страницы нет в оперативной памяти.

В каждом блоке 7 памяти страниц определяется свободная страница или условия замещения страниц с помощью элементов И со следующим приоритетом замещения: — свободная страница; — страница не изменялась и использовалась редко; — страница изменялась, но использова- я лась редко; — страница не изменялась, но использовалась не часто; — страница изменялась, но использовалась не часто.

Страницы, используемые часто, а также страницы, помеченные как ожидающие ввода-вывода, и страницы, удаление которых запрещено, удалению из оперативной памяти не подлежат, Условия удаления хранятся в регистре 53.

Условия коррекции битов частоты использования страницы формируются дешифратором 55. Через фиксированные интервалы времени операционная система проверяет состояние битов обращения. Если бит обращения равен нулю, то устанавливается бит более низкой частоты использования или устанавливается бит редкого использования ,страницы, если он уже былустановлен. Если бит обращения равен единице, то устанавливается бит самой высокой частоты использования страницы. После окончания корректировки битов частоты использования страниц бит обращения устанавливается в нуль.

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

Регистры 53 и 54 реализованы на D-триггерах.

В блоках 5 сравнения сравниваются с помощью компаратора 76 виртуальные адреса страниц, поступающих с выхода блока входных регистров 1, с номерами виртуальных страниц, находящихся в соответствующих блоках 7 памяти страниц. Если они совпадают во всех разрядах, выбранная строка страничной таблицы загружена, а страница не используется системой вводавывода, то вырабатывается сигнал, указывающий, что страница доступна. Если произошло совпадение во всех разрядах и выбранная строка страничной таблицы загружена, но страница используется системой ввода-вывода, то вырабатывается сигнал, указывающий что страница недоступна.

В компараторе 76 (фиг. 10) входы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 105 являются входами компаратора 76, а выходы всех элементов ИСКЛЮЧАЮЩЕЕ ИЛИ

105 соединены со входами элемента ИЛИНЕ 104, выход которого является выходом компаратора 76.

Генератор 8 расстановки предназначен для реализации алгоритмов, которые расставляют (перемешивают) случайным образом определенные биты виртуального адреса. Заполнение страничной таблицы, находящейся в блоках 7 памяти страниц, управляется генератором 8 расстановки путем перемешивания случайным образом битов виртуального адреса, чтобы выбрать одноименные ячейки памяти из каждого блока 7 памяти страниц, в которых с наибольшей вероятностью находится требуемый логический адрес, поскольку несколько значений виртуальных адресов могут иметь одно и то же значение расстановки. Алгоритм расстановки, применяемый в генераторе 8 расстановки для определения адреса входа

955076!

0 пор, пока не исчерпаются все разряды виртуального адреса.

Для непосредственного обращения к страничной таблице требуемый адрес размещается в (п + а) младших разрядах, регистра !

4 общего назначения, причем значения его п младших разрядов поступают на адресные входы групп 43 — 52 элементов памяти каж20

25 в блоки 7 памяти страниц, использует элементы ИСКЛЮЧАЮЩЕЕ ИЛИ 80, на первый вход которых поступают в обратном порядке п младших разрядов виртуального адреса (2" — число страниц в оперативной памяти вычислительной системы, 2 — число блоков 7 памяти страниц), на второй вход— в прямом порядке следующие и разрядов виртуального адреса, на третий вход — .в обратном порядке следующие и разрядов виртуального адреса и так далее до тех дого из блоков 7 памяти страниц. С помощью дешифратора 82 выбирается один из блоков памяти страниц 7. С помощью коммутатора 81 выбирается источник адреса: блок входных регистров 1 или регистр 4 общего назначения.

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

Блок 9 управления замещением формирует значения битов — указателей (флажков), определяющих способ внесения страниц в оперативную память. Если во время переадресации установлено, что требуемая виртуальная страница отсутствует в оперативной памяти, то блоком 9 управления заме-щением определяется способ внесения этой страницы в оперативную память и ее физический адрес. В блоке 9 управления замещением анализируются условия замещения, поступающие из регистров 53 каждого из блоков 7 памяти страниц. С помощью дешифратора 84 определяется наиболее приоритетное условие, т. е. такое условие, при котором новая виртуальная страница загружается в оперативную память за минимально возможное время и возможно удаление из оперативной памяти наименее часто используемой страницы.

С помощью 2 коммутаторов 85 определяется, какими блоками 7 памяти страниц выставлены выбранные дешифратором 84 условия. Коммутаторы 85 в каждом разряде содержат элемент ИЛИ и пять элементов И, выходы которых соединены с входами элемента ИЛИ, а входы элементов И соединены с выходом соответствующих разрядов регистра 53 соответствующего блока 7 памяти страниц и выходом соответствующего разряда первого входа дешифратора 84 соответственноо.

С помощью узла 86 приоритета выбирается один из блоков 7 памяти страниц, если

55 несколько таких блоков выдали одинаковые условия для внесения виртуальной страницы.

Узел 86 приоритета выбирает блок 7 памяти страниц с наименьшим номером.

В узле 86 приоритета (фиг. 1) первые прямые входы каждого элемента И 106 являются входами узла приоритета, а прямые выходы каждого элемента И 106 — выходами узла 86 приоритета, инверсный выход каждого элемента И 106, кроме первого и последнего, соединен с входами соответствующего элемента ИЛИ 107, выход которого соединен со вторым прямым входом соответствующего элемента И 106 и вторым входом соответствующего элемента ИЛИ 107, инверсный выход первого элемента И 106 соединен со вторыми прямыми входами второго элемента 106 и соответствующего элемента ИЛИ 107.

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

38 регистра 34 логического адреса, и значений, поступающих с выхода коммутатора 81 генератора 8 расстановки и с выхода формирователя 97. С помощью формирователя 97 определяется а старших разрядов физического адреса, определяемых номером блока 7 памяти страниц, опознавшим виртуальный адрес. Если в слове состояния программы не установлен бит, определяющий режим преобразования адресов, то физический адрес помещается в регистр 92 физического адреса без преобразования.

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

Физический адрес образуется как совокупность значений, поступающих с выхода коммутатора 81 генератора 8 расстановки и с выхода формирователя 98, определяющего номер блока 7 памяти страниц, где производится замещение или загрузка страницы.

Из этого блока 7 памяти страниц в регистр замещаемой страницы 93 поступает содержимое из соответствующей строки групп 43 и 44 элементов памяти, определяющее виртуальный адрес страницы. В регистре 94 флажков размещены значения флажков.

Для формирования номера блока 7 памяти страниц используются формирователи 97 и 98, которые предназначены для преобразования унитарного кода в двоичный. Фор955076

16

З0 вход элемента И 117 соединены с выходом 12 з5 соответствующего разряда регистра слова состояния программы, третьи прямые входы элементов И 109 — 121 соединены с выходом соответствующих разрядов синхровхода 13, выходы элементов И 109,110, 112 — 115, 118 — 121 и элементов ИЛИ 122 и 123 являются выходами блока 6, выходы элементов И 109 и 111 соединены с входами

55 м :))()выт(. lh ((() t . 21 соде()ж((i ll кы:.-,;л. ().!.)ря.с, (с".4(ч(т Jñ1! 1 108, ()р((ч и .. .().(l>l л(!(мг °: в ИЛИ .!, (:up3HHtHhl с с(()т()с". с Гвую: ы;".в «ходными разрядами формировыт(ля. в(>(ходом кото!)Ого являются выходь! элем((тон ИЛИ 108. С помощью элемента

ИЛИ 99 определяется, опознал ли хотя бы !

) (вн из блоков 6 памяти страниц виртуальный ыдрес.

Блок !О коррекции предназначен для управления занесением информации в групны 50 — 52 элементов памяти каждого блока

7 памяти страниц.

Блок 6 местного управления предназначен для выработки управляющих сигналов.

В блоке 6 местного управления (фиг. 13) первые прямые входы элементов И 113, 114, 116 — 120, первые входы элементов ИЛИ

125 и 126 и первые разряды выходов 28 и 29 блока 6 являются входом 16 блока 6 местного управления, первый прямой вход элемента И 112, и второй разряд выхода 29 блока 6 являются входом 17 блока 6 местного управления, первый прямой вход элемента И 111, и первый вход элемента ИЛИ

127 являются входом 18 блока 6, первый прямой вход элемента И 109, вторые входы элементов ИЛИ 125 и 127 и второй разряд выхода 28 блока 6 является входом 19 блока 6, первый прямой вход элемента И 110 и второй вход элемента ИЛИ 126 являются входом 20 блока 6, выход элемента ИЛИ 125 соединен с первым прямым входом элемента И !21, выход элемента ИЛИ 126 соединен с первым прямым входом элемента И !15, выход элемента ИЛИ 127 является выходом блока 6, вторые прямые входы элементов

И 109 — 116, 118 — 121 и второй инверсный элемента ИЛИ 122, выход элемента И 109 является выходом блока 6, выходы элементов И 1!6 и 117 соединены с входами элемента ИЛИ 23, выход элемента ИЛИ 99 блока 2 выходных регистров соединен с входом триггеры 128 и четвертым прямым входом элемента И 116, выход элемента И 115 сне (и))с(с входами синхронизации триггеров 128 и 129, выход элемента И 115 является выходом 27 блока 6, выход триггера 128 соединен с четвертыми инверсными входами

>,(ементов И !13 и !19 и четвертым прямым входом элемента И 114, выход триггера 129 со(ди вен с пятыми инверсными входами ,:«; (.«(on И !3 и 119 и четвертым прямым вх)д(.м э((ем(пта И !20, вход триггера 129

"в:. в с выходом элемента ИЛИ 124, 10

25 входы которого соединены с выходами элементов И 79 каждого из блоков 5 сравнения.

Триггеры 128 и 129 являются D-триггерами.

Устройство для управления виртуальной памятью работает следующим образом.

Режимы работы устройства определяются путем возбуждения устройством управления процессора соответствующего входа блока 6 местного управления.

Во время выполнения операции, связанной с обращением к оперативной памяти, устройство управления процессора возбуждает вход 16 блока 6. Если бит слова состояния программы, определяющий режим преобразования адресов, не установлен, то во время действия импульса СО открывается элемент И 117, сигнал с выхода которого через элемент ИЛИ 123 производит запись физического адреса в регистр 92, поступающего на его вход через коммутатор 95 блока 2 выходных регистров.

Если процессор работает в режиме преобразования адреса, то устанавливается соответствующий бит слова состояния программы и указанная выше информация загружается в управляющий регистр 3. Во время выполнения операции, связанной с обращением к оперативной памяти, устройство управления процессора возбуждает вход 16 блока 6 местног