Устройство для динамического преобразования адресов
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
ОП ИСАНИЕ ИЗОБРЕТЕНИЯ К АВТОРСКОМУ СВМДЕТЕЛЬСТВУ Союз СоветскихСоциапистическихРеспубликао делеи нзебретеннй и сткрытнй) УСТРОйС ПРЕОБР ДЛЯ ДИНАИЛЧЕСКОГОАНИН АДРЕСОВ Изобретение относится к вычислительной технике, в частности к системам виртуальной памяти, и может быть использовано в вычислительных машинах и системах с виртуальной памятью.,Известен вариант построения аппаратуры преобразования адресов в системах виртуальной памяти. Существенную часть этой аппаратуры составляет запоминающее устройство Из дескрипторных регистров, в которые операционная система помещает соответствия между Физическими и математическими номерами страниц. Количество дескрипторных регистров равно максимально возможному для одной программы количеству страниц. Математический номер страницы в адресе представляет собой Фактически номер дескрипторного регистра, который должен быть использован при Формировании исполнительного адреса. ИнФормация, хранящаяся в дескрипторных регистрах - это Физические номера страниц. Для определения Физического адреса производится дешифрированне математического номера страницы. Выбирается соответствующий дескрипторныйрегистр, содержимое которого определяет соответствующий Физическийадрес 11.Недостатком являются большие Озатраты на оборудование для реализации дескрипторных регистров. 11 оэтому такое выполнение аппаратурыпреобразования применимо только всистемах с очень малым количеством 15математических страниц.Наиболее близким к предлагаемомупо технической сущности и достигаемому результату является устройстводля динамического преобразования адресов, содержащее регистры логического и Физического адресов, памятиключей защиты, битов обращения ибитов изменения, схему сравнения,19 903878 нее вносились изменения, то она удаляется из оперативной памяти. Далее производится коррекция таблиц переадресации, Кали в загруженную стра" ницу изменения не вносились, то эта Физическая страница считается свободной, и в таблицах переадресации корректируются соответствующие биты доступности, Затем в свободную страницу оперативной памяти загружает ся требуемая страница, после чего производится коррекция таблиц страниц, Логический адрес требуемой страницы находится в регистре 2 логического адреса, а.соответствующий ему 15 Физический адрес поступает на выходной шине 37 оперативной памяти в регистр 2 Физического адреса и на вход младших разрядов блока 16 памяти страниц. Загрузка Физического и ло о гического адресов, значения ключа защиты памяти и очистка памяти 8 битов изменения и памяти 9 битов обращения осуществляются при установкетриггера четвертого разряда управля ющего регистра 4Четвертый режим " коррекция блоков памяти,При установке триггера четвертого разряда регистра 14 по сигналу с выхода 26 элемента ИЛИ 72 содержимое регистра 2 Физического адреса через коммутатор 18 поступает на адресный вход памяти 9 битов обраще 35 ния, а по сигналу с выхода 25 элемента ИЛИ 71 значение, сформированное группой элементов ИСЮПОЧА 1 ОЩЕЕ ИЛИ 40 генератора 1 расстановки, через коммутатор 43 поступает на адресный вход блока 16 памяти страниц. Сигнал с выхода 23 элемента ИЛИ 70 открывает элемент И 11 и элементы И 13 блока в результате чего открывается элемент И 11, а на информацион 45 ный вход памяти 4 ключей защиты поступает значение ключа защиты с выхода регистра слова состояния программы.В момент действия тактового импульса через открытый элемент И 5050 по сигналам с выходов 19 и 20 элемента И 50, с выходов 21 и 22 элемента 1 Ц 1 И 69 производится запись в блок 16 памяти страниц логического и физического адресов с выходов реФгистра 1 логического адреса и выходной шины 37 оперативной памяти соответственно, в регистр 2 Физическо 20го адреса - запись Физического адреса с выходной шины 37 оперативной памяти, в память 4 ключей защиты - запись значения ключа защиты, в память 9 битов обращеииязапись логической единицы, а в память 8 битов изменения - запись логического нуля, После этого обработка страничного прерывания закончена,Если страница удаляется из оперативной памяти, а последуюцая загрузка ее не производится, то устанавливается триггер пятого разряда управляющего регистра 14, что обеспечивает очистку памяти 4 ключей защиты, памяти 8 битов изменения и памяти 9 битов обращения,Пятый режим - очистка.Очистка памяти 4 ключей защиты, памяти 8 битов изменения и памяти 9 битов обращения производится аналогично"записи в них информации за исключением того что сигнал с выхода 23 не вырабатывается, поэтому в соответствующие ячейки памятей 4, 8 и 9 записываются нулевые значения, а сигнал записи с выхода элемента ИЛИ 69 вырабатывается при открытом элементе И 52 во время действия тактового импульса. Во время выполнения операций ввода - вывода, осуществляющих загрузку или удаление страниц при страничных прерываниях, управляющая программа может разрешить выполнение следующей задачи, готовой к выполнению, Если при выполнении такой программы возникло страничное прерывание то оно подавляется управляющей программой , а выполнение задачи занкачивается ее выполнение будет возобновлено с команды, вызвавшей страничное прерывание), управляющая программа может разрешить выполнение следующей задачи и т.д. В этих случаях, если устройство работало в режиме циклическог;. ;оиска, устанавливаются триггеры ц:стого и первого разрядов управляющ.го регистра 14, что приводит к приостановке циклического поиска и работе устройства в режиме переадресации.Таким образом, применение изобретения позволяет сократить число страничных прерываний путем увели21 чозо чения объема рабочего комплекта страниц, т.е. числа виртуальных страниц, с помощью аппаратурных средств устройства, что особенно эффективно прн мультипрограммной работе вычислитель 5 ной системы. 70 22менения и тактовый вход устройства соединены соответственно с первогопо шестой входами блока местного управления, группа разрядных выходовуправляющего регистра соединена сгруппой входов блока местного управ формула изобретения01. Устройство для динамического преобразования адресов, содержащее регистры логического и физического адресов, буферный регистр, память ключей защиты, три схемы сравнения, па ать битов изменения, память битов обращения, два элемента И, эле - мент ИЛИ, блок элементов И, управля" ищнй регистр и блок местного управления, причем выход регистра физического адреса соединен с адресными входами памяти битов изменения и памяти ключей защиты, выход которой соединен с первым входом первой схемы сравнения, второй вход которой и информа ционный вход памяти ключей защиты соединены с выходом блока элементов И, первый вход которого соединен с информационным входом устройства, выход старших разрядов регистра логического адреса соединен с первыми входами второй и третьей схем срав,нения и с входом буферного регистра, выход которого соединен со вторым входом третьей схемы сравнения, первый вход регистра физического адреса соединен с выходом устройства, первый вход первого элемента И соединен с входом режима устройства а выход первого элемента И соединен с .первым входом элемента ИЛИ и с информационным входом памяти битов изменения, управляющий вход которой соединен с выходом элемента ИЛИ, выход второго элемента И соединен с информационным входом памяти битов обращения, группа управляющих входов/ регистра физического адреса и управляющие входы блока памяти страниц, памяти кличей защиты, второй вход первого и первый и второй входы второго элементов И, второй вход блока элементов И и второй вход элемента ИЛИ соединены соответственно с первой группой выходов и с первым, вторым,55 третьим, четвертым и пятым выходами блока местного управления, выходы первой, второй и третьей схем сравнения, памятей битов обращения и изления, о т л и ч а ю щ е е с ятем, что, с целью повышения быстродействия, в него введены генераторрасстановки, блок памяти страниц икоммутатор, причем вход генераторарасстановки и вход старших информационных разрядов блока памяти страниц соединены с выходом регистралогического адреса, а выход генератора расстановки соединен с первымвходом коммутатора, вторым входомрегистра физического адреса и с адресным входом блока памяти страниц,вход младших информационных разрядов которого соединен с адреснымвходом устройства, выходы старшихи младших разрядов блока памятистраниц соединены соответственно совторым входом второй схемы сравнения и с третьим входом регистра фи-.зического адреса, выход регистра физического адреса соединен со вторымвходом коммутатора, выход которогосоединен с адресным входом памятибитов обращения, шестой выход ивторая, третья группы выходов блокаместного управления соединены с управляющим входом буферного регистра и группами управляющих входов генератора расстановки и коммутатора,седьмой и восьмой выходы блока местного управления являются соответственно первым и вторым выходамипрерываний устройства 2, Устройство по и, 1, о т л и -ч а ю щ е е с я тем, что генераторрасстановки содержит блок элементовИСКЛЮЧАЮЦЕЕ ИЛИ, два регистра, коммутатор и генератор псевдослучайныхчисел, причем вход блока элементов ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с входом генератора расстановки, выход блока элементов ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с первыми входами коммутатора и регистров, выход первого из которых соединен со вторым входом коммутатора, а выход второго регистра соединен со вторым входом первого регистра, третьим входом коммутатораи входом генератора псевдослучайных чисел, выход которого соединен со вторым входом второго регистра, уп 23 9038 равляющие входы первого и второго регистров и коммутатора соединены с группой управляющих входов генера" тора расстановки, а выход коммутатора является выходом генератора 5 расстановки.3. Устройство по п. 1, о т л и ч а ю щ е е с я тем, что блок местного управления содержит элементы И, элементы ИЛИ, триггер и два эле О мента задержки, причем первые входы первого, второго и третьего элементов И соединены соответственно с первым, вторым и третьим входами группы входов блока, первые вхо ды элементов И с четвертого по седьмой соединены с четвертым входом группы входов блока, первый, второй и третий входы восьмого элемента И соединены соответственно с шестым, вторым и пятым входами группы входов блока, вторые входы первого, второго и третьего элементов И и первые входы девятого, десятого и одиннадцатого элементов И соединены 25 с шестым входом блока, четвертый вход восьмого элемента И соединен с выходом триггера, вторые входы девятого и одиннадцатого элементов И соединены с выходом первого элемента ИЛИ,-второй вход пятого элемента И соединен с выходом двенадцатого элемента И и с первым входом второго элемента ИЛИ, первые входы двенадцатого, тринадцатого, четырнадцатого и пятнадцатого элементов И и второй вход шестого элемента И соединены с третьим входом блока, вторые входы. двенадцатого, пятнадцато го и третий вход шестого элементов И соединены со вторым входом блока, четвертый вход шестого.и третий вход двенадцатого элементов И соединены с шестым входом блока, второй вход тринадцатого элемента И соединен с шестым входом блока, второй вход четвертого, седьмого и десятого и первый вход шестнадцатого элементов И соединены с пятым входом блока, шестой вход блока соединен с первым входом третьего элемента ИЛИ и через первый элемент задержкис третьим входом пятнадцатого элемента И, второй вход шестнадцатого элемента И соединен с выходем третье 55 го элемента ИЛИ, третий вход четвертого элемента И соединен с выходом четвертого элемента ИЛИ, первый вход блока соединен с четвертым 78 24входом четвертого элемента .Ии с третьим входом седьмого элемента И, третьи входы десятого и шестнадцатого элементов И и первый выход второй группы выходов блока соединены с выходом восьмого элемента И и со вторым входом первого элемента ИЛИ, четвертый вход седьмого элемента И соединен с выходом второго элемента ИЛИ, первый вход семнадцатого элемента И соединен с четвертым входом блока, выход десятого элемента И соединен со вторым входом семнадцатого элемента И и со вторым выходом второй группы выходов блока, выход семнадцатого элемента И соединен с третьим выходом второй группы выходов блока, выход первого элемента И соединен с первым выходом блока, шестой вход блока соединен со вторым входом третьего элемента ИЛИ и через второй элемент задержки со вторым входом четырнадцатого элемента И, единичный и нулевой входы триггера соединены соответственно с выходом шестнадцатого элемента И и с шестым входом группы входов блока, второй вход второго элемента ИЛИ соединен с выходом тринадцатого элемента И, первый вход шестого элемента ИЛИ и второй вход пятого элемента ИЛИ соединены с выходом первого элемента И, выходы четырнадцатого и пятнадцатого элементов И соединены соответственно с первым и вторым входами четвертого элемента ЮЫ, выходы первого, второго элементов И и десятого элемента ИЛИ соединены соответственно с первым, вторым и третьим выходами первой группы выходов блока, пер" вые входы пятого и десятого элементов ИЛИ соединены с выходом пятого элемента И, второй вход десятого элемента ИЛИ соединен с первым выходом третьей группы выходов блока и с выходом одиннадцатого элемента И, выход восьмого элемента ИЛИ соединен со вторым выходом третьей группы выхоцов блока, второй вход шестого элекеята ИЛИ соединен с выходом третьего элемента И, выход седьмого элемент В 1 И соединен с пятым выходом блока ":, с первым входом восьмого элемента ИЛИ, выход четвертого элемента И соединен с третьим выходом блока, выход девятого элемента ИЛИ соединен с четвертым выходом второй группы выходов блока, пятый выход второй группы выходов блока соеди0 ЗВ 7 Я нен с первым входом первого элемента ЮП 1, первый и второй выходы седьмого и девятого элементов ИЛИ соединены соответственно с первым и четвертым входами группы входов блока,второй вход восьмого элемента ИЛИсоединен с выходом девятого элемента И, выход пятого элемента ИЛИ сое.динен с шестым выходом блока, выходшестого элемента И соединен с седьмым выходом блока и с шестым выхо 26дом второй группы выходов блока,выход седьмого элемента И соединен свосьмым выходом блока.Источники:информации,5 принятые во внимание при экспертизеКарцев М.А. Архитектура цифровых вычислительных машин. 3,"Наука", 1978, с. 158-160.2. Катцан Г. Вычислительные машио ны системы 370. М., "Мир", 1974,с. 410-436 (прототип).90387 элемент И, элемент ИЛИ,группу элементов И ассоциативные регистры, регистр управления и блок местного управления 2.Однако устройство имеет бопьшое 5 число страничных прерываний, ос условленное их зависимостью о числа ассоциативных регистров, количество которых мало по сравнен.ю с объемом оперативной памяти ".Ычи слительной системы, низкую скорость работы вследствие того, что поиск замещаемой страницы производит:,управляющей программой после обра. - ботки таблиц сегментов и таблиц стра ниц. Цель изобретения - сокращение числа страничных прерываний и повышениескорости работы устройства,Поставленная цель достигаетсятем, что в устройство для динамического преобразования адресов, содержащее регистры логического и физического адресов, буферный регистр,память ключей защиты, три схемы сравнения, память битов изменения, память битов обращения, два элементаИ, элемент ИЛИ, блок элементов И, управляющий регистр и блок местногоуправления причем выход регистрафизического адреса соединен со вторым входом коммутатора и с адреснымивходами памяти битов изменения ипамяти ключей защиты, выход которойсоединен с первым входом первой схемы сравнения, второй вход которой.и информационный вход памяти клочеизащиты соединены с выходом. блока эле.ментов И, первый вход которого соединен с информационным входом устройства, выход старших разрядов регистра логического адреса соединенс первыми входами второй и третьейсхем сравнения и с входом буферногорегистра, выход которого соединен. 45со вторым входом третьей схемы сравнения, первый вход регистра Физического адреса соединен с выходом устройства, первый вход первого элемента И соединен с входом режима устройства, а выход первого элемента Исоединен с первым входом элементаИЛИ и с информационным входом памяти битов изменения, управляющийвход которой соединен с выходом элемента ИЛИ, выход .Второго элементаИ соединен с информационным входомпамяти битов обращения, группа уту 8 4равляющих входов регистра физического адреса и управляющие входы бло-.ка памяти страниц, памяти ключей защиты, второй вход первого и первый и второй входы второго элементов И,второй вход блока элементов И, второй вход элемента ИЛИ и управляющийвход памяти битов обращения соединены соответственно с первой группой выходов и с первым, вторым, третьим и четвертым выходами блока местного управления, пятый выход которого соединен с управляющим входом блока памяти страниц, выходы первой,второй и третьей схем сравнения,памятей битов обращения и измененияи тактовый вход устройства соединены соответственно с первого по шестой входами блока местного управления, группа разрядных выходов управляющего регистра соединена с группой входов блока местного управления, введены генератор расстановкиблок памяти страниц и коммутатор,причем вход генератора расстановкии вход старших информационных разрядов блока памяти страниц соединены с выходом регистра логического адреса, а выход генератора расстановки соединен с первым входомкоммутатора, вторым входом регистра Физического адреса и с адреснымвходом блока памяти страниц, входмладших информационных разрядовкоторого соединен с адресным входом устройства, выходы старших имладших разрядов блока памяти страниц соединены соответственно совторым входом второй схемы сравнения и с третьим входом регистра Физического адреса, выход регистрафизического адреса соединен со вторым входом коммутатора, выход которого соединен с адресным входом памяти битов обращения, шестой выходи вторая, третья группы выходовблока местного управления соединеныс управляющим входом буферного регистра и группами управляющих входов гнератора расстановки коммута.0,:". седьмой и ВОсьмОЙ Выходыблс: :битного управления являютсясоо.е. .:;.анно первым и вторым выходами,рерываний устройства. При этом генератор расстановки содеряит блок элементов ИСЮПОЧАЮШЕЕ ИГИ, первый, второй регистры, коммутатор и генератор псевдослу5 903878 6 чайных чисел, причем вход блокаэлементов ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с входом генератора расстановки, выход блока элементов ИСКЛЮЧАЮЩЕЕ ИЛИ соединен с первыми входами коммутатора и регистров, выходпервого из которых соединен со вторым входом коммутатора, а выходвторого регистра соединен со вторым входом первого регистра, третьимвходом коммутатора и входом генератора псевдослучайных чисел, выходкоторого соединен со вторым входомвторого регистра, управляющие входырегистров и коммутатора соединены .,с группой управляющих входов генератора расстановки, а выход коммутатора является выходом генераторарасстановки. 5 10 15 20ЗО 40 45 50 55 Кроме того, блок местного управления содержит семнадцать элементов И, десять элементов ИЛИ, триггер и два элемента задержки, причем первые входы первого, второго и третьего элементов И соединены соответственно с первым, вторым и третьим входами группы входов блока, 1первые входы элементов И с четвертого по седьмой соединены с четвертым входом группы входов блока, первый, . второй и третий входы восьмого элемента И соединены соответственно с шестым, вторым и пятым входами группы входов блока, вторые входы первого, второго и третьего элементов И и первые входы девятого, десятого и одиннадцатого элементов И соединены с шестым входом блока, четвертый вход восьмого элемента И соединен с выходом триггера, вторые вхо. ды девятого и одиннадцатого элементов И соединены с выходом первого элемента ИЛИ, второй вход пятого элемента И соединен с выходом двенадцатого элемента И и с первым входом второго элемента ИДИ.первые входы двенадцатого , тринадцатого и пятнадцатого элементов И и второй вход шестого элемента И соединены с третьим входом блока, вторые входы двенадцатого, пятнадцатого и третий вход шестого элементов И соединены со вторым входом блока, четвертый вход шестого и третий вход двенадцатого элементов И соединены с шестым входом блока, второй вход тринадцатого элементы И соединен с шестым входом блока, второй вход четвертого, седьмого и десятого и первый вход шестнадцатого элементов Исоединены с пятым входом блока, ше"стой вход блока соединен с первымвходом третьего элемента ИЛИ и через первый элемент задержки - с третьим входом пятнадцатого элемента И,второй вход шестнадцатого элементаИ соединен с выходом третьего элемента ИЛИ, третий вход четвертогоэлемента И соединен с выходом четвертого элемента ИЛИ, первый входблока соединен с четвертым входомчетвертого элемента И и с третьимвходом седьмого элемента И, третьивходы десятого и шестнадцатого элементов И и первый выход второй группы выходов блока соединены с выходом восьмого элемента И и со вторымвходом первого элемента ИЛИ, четвертый вход седьмого элемента И соединен с выходом второго элементаИЛИ, первый вход семнадцатого элемента И соединен с четвертым входомблока, выход десятого элемента И соединен со вторым входом семнадцатого элемента И и со вторым выходомвторой группы выходов блокавыходсемнадцатого элемента И соединенс третьим выходом второй группывыходов блока, выход первого элемента И соединен с первым выходом блока,шестой вход блока соединен совторым входом третьего элемента ИЛИи через второй элемент задержки совторым входом четырнадцатого элемента И, единичный и нулевой входытриггера соединены соответственнос выходом шестнадцатого элементаИ и с шестым входом группы входовблока, второй вход второго элементаИЛИ соединен с выходом тринадцатого элемента И, первый вход шестогоэлемента ИЛИ и второй вход пятогоэлемента ИЛИ соединены с выходом ;.первого элемента И, выходы четырнадцатого и пятнадцатого элементовИ соединены соответственно с первым и вторым входами четвертогоэлемента ИЛИ, выходы первого, второго элементов И и десятого элемента ИЛИ соединены соответственнос первым, вторым и третьим выходами первой группы выходов блока,первые входы пятого и десятого элементов ИЛИ соединены с выходом пятого, элемента И, второй вход десяГого элемента ИЛИ и первый выходтретьей группы выходов блока сое7 90 динены с выходом одиннадцатого элемента И, выход восьмого элемента :1 ПИ соединен со вторым выходом третьей группы выходов блока, второй вход шестого элемента ИЛИ соединен с выходом третьего элемента И, выход седьмого элемента ИЛИ соединен с пятым выходом блока и с первым входом восьмого элемента ИЛИ, выход четвертого элемента И соединен с третьим выходом блока, выход девятого элемента ИЛИ соеди" нен с четвертым выходом второй группы выходов блока, пятый выход второй группы выходов блока соеди,нен с первым входом первого элемента ИЛИ, первый и второй выходы седь" мого и девятого элементов ИЛИ соединены соответственно с первым и четвертым входами группы входов блока, второй вход восьмого элемента ИЛИ соединен с выходом девятого элемента И, выход пятого элемента ИЛИ соединен с шестым выходом блока, выход шестого элемента И соединен с седьмым выходом блока и с шестым выходом второй группы выходов блока, выход седьмого элемента И соецинен с восьмым выходом блока. На фиг. 1 приведена структурная схема устройства для динамического преобразования адресов; на фиг. 2 - функциональная схема генератора расстановки; на фиг. 3 - то же, местного блока управления.Устройство для динамического преобразования адресов (фиг. 1) содер-. жит регистр 1 логического адреса, регистр 2 физического адреса, буферный регистр 3, память 4 ключей защиты, схемы 5-7 сравнения, память 8 битов изменения, память 9 битов обращения, элементы И 10 и 11, элемент ИЛИ 12, блок элементов И 13, управляющий регистр 14, блок 15 местного управления, блок 16 памяти страниц, генератор 17 расстановки, коммутатор 18, выходы 19-29 блока 15 местного управления, входы 30-35 блока 15 местного управления 30-35, информационный вход 36 устройства., адресный вход 37 устройства, вход 38 режима устройства, тактовый вход 39 устройства. Генератор 17 расстановки фиг. 2) содержит блок элементов ИСКЛЮЧйО 111 ЕЕ ИЛИ 40, регистры 4 и 42, комму 5 10 35 2 О 25 ЗО 35 40 45 50 татор 43, генератор 44 псевдослучайных чисел,Блок 15 местного управления(фиг.3)содержит элемент 45 задержки, триггеры 46, элементы ИЛИ 47-49, элементы И 50-66, элементы ИЛИ 67-73, элемент 74 задержки.Устройство для динамическогопреобразования адресов предназначенодля обеспечения преобразования виртуальных адресов в физические адреса оперативной памяти, а также обеспечивает определение свободной страницы в оперативной памяти или замещающую страницу, если в оперативнойпамяти свободных страниц нет,Блок 15 местного управления предназначен для выработки управляющихсигналов,.Память 4 ключей защиты, память 8битов изменения, память 9 битов обращения и блок 16 памяти страниц обеспечивают адресацию для каждой физической страницы оперативной памяти.В памяти 4 ключей защиты хранятсязначения ключей защиты для каждой физической страницы оперативной памяти. Ключ защиты памяти загружается в память 4 ключей защиты из поля ключа защиты регистра слова состояния программы по адресу, определяемому номером физической страницы оперативной памяти после загрузкивиртуальной страницы в соответствующую физическую страницу оперативной памяти, Тогда же по адресу, определяемому номером физической страницы оперативной памяти, устанавливается соответствующий бит памяти 9битов обращения, идентифицируя загрузку физической страницы оперативной памяти.После загрузки виртуальной страницы в оперативную память по адресу,который находится в регистре 2 физического адреса, блок 15 местного управления возбуждает управляющие сигналы на выходах 21-23, Адрес с выхода старших разрядов регистра 2 физических адресов поступает на адресный вход памяти битов обращениячерез коммутатор 18, что обеспечивается потенциалом логического нуля на выходе 27 блока 15. Управляющий сигнал на выходе 21 блока 15 разрешает установление соответствующей входной информации на информационныхвходах памяти 4903878 9ключей защиты и памяти 9 битов обращения путем подачи потенциаловлогической единицы на вторые входыблока элементов И 13 и элемента И 11.По сигналам 21 н 22 производитсязапись входной информации в память4 ключей защиты, .память 8 битов изменения и память 9 битов обращениясоответственно,Память 8 битов изменения пред Оназначена для идентификации тех страниц, в которые вносились измененияпри выполнении рабочей программы.Поэтому после загрузки страницы воперативную память производится обнуление соответствующего бита памяти 8 битов изменения, что обеспечивается отсутствием сигнала на выходе 24 блока 15, который управляет элементом И 10.20При удалении страницы из оперативной памяти производится очисткасоответствующей ячейки памяти 4ключей защиты и памяти 9 битов обращения путем их обнуления. Очисткаячейки памяти 4 ключей защиты и памяти 9 битов обращения производится аналогично записи в них информации, но сигнал на выходе 23 блока15 местного управления не возбуждается, 11 оэтому нулевые значения свыходов элементов И 11 и блока элементов И 13 записываются в память4 ключей защиты и память 9 битовобращения.35При обращении к оперативной памяти по адресу, находящемуся в регистре 2 физического адреса, с помощью первой схемы 5 сравнения производится сравнение значения ключазащиты памяти, присвоенного даннойфизической странице при загрузке еев оперативную память, со значениемполя ключа защиты памяти регистраслова состояния программы. В этом 45случае сигнал с выхода 23 блока 15местного управления, управляющийблоком элементов И 13, разрешаетпрохождение значения ключа защитыпамяти слова состояния программы навход первой схемы 5 сравнения. Тогдаже сигнал с выхода 24 блока 15 местного управления разрешает установкусоответствующего бита памяти 8 битовизменения, если установлен триггер55режима памяти. Триггер режима памятиустанавливается, если обращение коперативной памяти производится длязаписи информации,1 ОГенератор 17 расстановки предназначен для реализации алгоритмов, которые расставляЬт (перемешивают) случайным образом определенные биты виртуального адреса. Регистр 2 Физического адреса, генератор 17 расстановки, блок 16 памяти страниц, буферный регистр 3 и вторая 6 и третья 7 схемы сравнения используются для ускорения преобразования виртуальных адресов в Физические .адреса оперативной памяти. В буферном регистре 3 находится значение логического адреса последнего обращения к оперативной памяти, а в регистре 2 Физического адреса -. соответствующий этому логическому адресу Физический адрес страницы оперативной памяти. Если при последующем обращении к оперативной памяти третьей схемой 7 сравнения путем сравнения содержимого старших разрядов регистра 1 логического адреса и буферного регистра 3 установлено, что предыдущее обращение к памяти производилось по тому же логическому адресу, то соответствующий физический адрес страницы находится в старших разрядах регистра 2 физического адреса, а адрес внутри страни-цы определяется содержимым младших разрядов регистра 1 логического адреса. Если схемой 7 сравнения установлено несовпадение содержимого старших разрядов регистра 1 логического адреса и буферного регистра 3, то переадресация выполняется с помощью генератора 17 расстановки, блока 6 памяти страниц ц второй схемы 6 сравнения. В старших разрядах блока 16 памяти страниц хранятся логические адреса, а в младших разрядах блока 16 памяти страниц - соответствующие им физические адреса оперативной памяти. Количество ячеек в блоке 16 памяти страниц соответствует количеству физических страниц во всем объеме оперативной памяти. Заполнение блока 16 памяти страниц управляется генератором 17 расстановки путем перемешивания случайным образом битов старших разрядов регистра 1 логического адреса, чтобы выбрать ячейку блока 16 памяти страниц, содержимое которой определяет- соответствие между логическим и физи11 90387ческим адресами, и в которой с наибольшей вероятностью находится требуемый логический адрес, посколькунесколько значений логических адресов могут иметь одно и то же значение расстановки,Алгоритм расстановки, применяемый в генераторе 17 расстановки дляопределения адреса входа в блок 16памяти страниц, использует блок эле Оментов ИСКЛЮЧАЮЦЕЕ ИЛИ 40, на входкоторого поступают в обратном порядке ичмладших битов с выхода старших разрядов регистра 1 логического адреса (а=2."- количество Физических страниц во всем объеме оперативной памяти) блока. Значения с выхода блока элементов ИСКЛЮЧАЮЦЕЕ ЮИ40 через коммутатор 43 поступают наадресный вход блока 16 памяти стра- щниц.Преобразование виртуальных адресов с помощью генератора 17 расстановки, блока 16 памяти страниц исхемы 6 сравнения осуществляется сле дующим образом,Эта проверка наличия страницы в оперативной памяти производится потому что при удалении страницы иэ оперативной памяти очистки блока 16 памяти страниц не производится. Если в загруженную страницу, физический адрес которой находится в регистре По содержимому старших разрядов регистралогического адреса генератор 17 расстановки выбирает одну из ячеек блока 16 памяти страниц, содержимое которой поступает на выход блока 16, Значение выбранной ячейки, соответствующее логическому адресу, сравнивается схемой сравнения 6 с содержимым старших разрядов ре 35 гистралогического адреса. Если сравнение произошло, то в старшие разряды регистра 2 физического адреса переписывается значение физи 40 ческого адреса с выхода младших раз.рядов блока 16 памяти страниц, а адрес внутри страницы определяется содержимым младших разрядов регистралогического адреса 1. Если совпа 45 дение не произошло, то вырабатывается сигнал страничного прерывания, и в первый и второй регистры 41 и 42 генератора 17 расстановки записы ваются значения с выхода блока элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 40 генератора 17 под действием управляющего сигйала 25.Во время программной обработки страничного прерывания с помощью регистра 2 Физического адреса,генера тора 17 расстановки, блока 1 б памяти страниц, памяти 8 битов измене.ния и памяти 9 битов обращения опре 8, 12деляется Физический адрес свободной страницы в оперативной памяти или, если свободной страницы нет,Физический адрес страницы, котораявозможно будет эамещаться.Во время одного цикла поиска выполняется следующее,Под действием управляющего сигнала на выход коммутатора 43 генератора 17 расстановки поступает содержимое регистра 41, Это значение с выхода генератора 17 расстановки поступает на адресный вход блока 16 памятистраниц и через коммутатор 18 - наадресный вход памяти 9 битов обращения. Содержимое выбранной ячейки памяти 9 битов обращения, поступающеев блок 15 местного управления, указывает, свободна ли страница оперативной памяти, адрес которой находится.в регистре 41 генератора 17 расстановки.Содержимое младших разрядов вы-.бранной ячейки блока 16 памяти записывается в старшие разряды регистра2 Физического адреса. Если страница, адрес которой находится в регистре 41 генератора 7 расстановки,свободна, то поиск заканчивается,а содержимое регистра 41 переписывается в регистр 42. Если страницазагружена, то на адресные входы памяти 8 битов изменения и памяти 9 битов обращения поступает содержимоестарших разрядов регистра 2 Физического адреса. Содержимое выбранной ячейки памяти 9 битов обращения,поступающее в блок 15 местного управления, указывает, свободная ли страница оперативной памяти, адрес которой находится в старших разрядахрегистра 3 физических адресов, Еслистраница свободна, то поиск заканчивается и содержимое регистра 41 переписывается в регистр 42, а если страница загружена, то содержимое выбранной ячейки памяти 8 битов изменения указывает, вносились ли изменения в страницу, физический адрескоторой находится в старших разрядах регистра 2 физических адресов., 2 Физического адреса, не вносилисьизменения, то содержимое регистра 4переписывается в регистр 42, а в регистр 41 записывается сформированное генератором 44 псевдослучайныхчисел значение. Если изменения вносились, то в регистр 41 записывается сформированное генератором 44псевдослучайных чисел значение. Далее, если возможно, процесс поискаповторяется,Генератор 44 псевдослучайных чисел генератора 17 расстановки предназначен для формирования псевдослучайных чисел и реализации алгоритма.Рег, 41-целая часть от(5 х Рег.Ч) ичос 3.где а=2 - количество Физических2.истраниц во всем объемеоперативной памяти.Поэтому первый вход генератора44 псевдослучайных чисел соединенс выходом регистра 41, а второйвход соединен цепью сдвига на дваразряда в сторону старших разрядовс выходом регистра 41, тем самымФормируя пятикратно увеличенное значение, находящееся в регистре. 41.При таком методе поиска для нахождения адреса свободной страницы вкаждом цикле производится двепробы. Если свободная страница ненаРцена, то Физический адрес замещаемой страницы выбирается толькоиз тех страниц, Физические адресакоторых находятся в блоке 6 памятистраниц, так как при замене страницы ее логический адрес выбирается из блока памяти страниц, Такой алгоритм замещения страниц неприводит к удалению тех страниц, которые были загружены в оперативнуюпамять по абсолютным адресам, например, программы операционной системы,Устройство для динамического преобразования адресов .работает в пя,ти режимах следующим образом.Режим работы устройства для динамического преобразования адресовопределяется установкой соответствующих битов управляющего регистра 14.Первый режим - переадресация,В режиме переадресации, когда установлен первый разряд управляющегорегистра 14, в регистре 1 логического адреса хранится логический адрес, который необходимо преобразовать, в буферном регистре 3 " логический адрес предыдущего обращения к оперативной памяти, а в регистре 2 физического адреса - соответствующий ему Физический адрес страницы оперативной памяти. При наличии управляющих сигналов 23, 25 и 27 которые устанавливаются при ус-)тановке первого разряда управляющего регистра 14 через элементы ИЛИ 70, 71 и 73, соответственно, код ключа защиты из регистра слова состояния программы через элементы И 13 группы поступает на вход первой схемы 5 сравнения, сформированный группой элементов ИСЮ 1 ЮЧАИЦЕЕ ИЛИ 40 генератора 17 расстановки адрес обращения к блоку 16 памяти страниц через коммутатор 43 поступает на выход генератора 17 расстановки, а на вход памяти ", битов обращения поступает содержимое регистра 2 физического адреса.Во время деиствия тактовогоимпульса СО производится сравнение содержимого старших разрядов регистра 1 логического адреса с содержимым буферного регистра 3, чтение значения ключа защиты памяти из памяти 4 ключа защиты и чтение идентификатора наличия страницы в памяти из памяти 9 битов обращения по адресу, находящемуся в регистре 2 физического ад-реса, а также чтение иэ блока 16 памяти страниц с последуюцим сравнением содержимого старших разрядов блока 6 и регистралогического адреса Физический адрес страницы считается найденным и находится в регистре 2 Физического адреса, если страница находится в оперативной памяти, третьей схемой сравнения установлено совпадение и не произошло ошибки по защите памяти, Если прерывание по защите оперативной памяти не произошло, то по сигналу с выхода элемента 74 задержки открывается элемент И 64, который через элемент ИЛИ 49 открывает элемент И 53, сигнал с выхода 24 которого открывает элемент И О, позволяющий установить соответствуюций бит памяти 8 битов изменения если установлен триггер режима оперативной памяти (производится обращение в оператив 159038781640 ную память для записи информации), Если схемой 7 сравнения установлено совпадение, в момент действий тактового импульса открыт элемент И 65; сигнал с выхода которого через эле-мент ИЛИ 48 при установлении, что страница находится в оперативной памяти, и схемой 5 сравнения установлена ошибка по защите памяти, открыва" ет элемент И 60, сигнал с выхода 29 которого устанавливает запрос на прерывание по защите памяти. Если третьей схемой 7 сравнения установлено несовпадение, а схемой 6 сравнения установлено, что логический адрес, 15 находящийся в старших разрядах блока16 памяти страниц, совпал с логическим адресом, находящимся в регистре 1 логического адреса , то во время действия тактового импульса че рез открытые элементы И 66 и 56, через элементы ИЛИ 67 и 2 управляющие сигналы с выходов 20 и 26 поступают соответственно на управляю щие входы регистра 2 физического адреса 2 и буферного регистра 3.лСодержимое старших разрядов Регистра 1 логического адреса переписывается в буферный регистр 3, а содержимое младших разрядов выбран,ной генератором 17 ячейки блока 16 памяти страниц переписывается в регистр 2 физического адреса. В этом случае из памяти 4 ключей защиты и памяти 9, битов обращения читается информация по адресу, находящемуся в регистре 2 физического адреса. Фи- зический адрес страницы считается найденным и находится в регистре 2 физического адреса, если страница находится в оперативной памяти, второй схемой 6 сравнения установлено совпадение и не произошло ошибки по защите памяти.Если прерываниЕ по защите опе ративной памяти не произошпо, то по сигналу с выхода элемента 45 задержки открывается элемент И 63, сигнал с выхода которого через элемент ИЛИ 49 открывает 50 элемент И 53, сигнал с выхода 24 которого открывает элемент И 1 О, позволяющий установить соответствующий бит памяти 8 битов изменения, если установлен. триггер режжиа опе ратйвной памяти (производится обращение в оперативную память для записи информации) . Если схемой 6 сравнения установлено сравнение, в момент действия тактовбго импульса открыт элемент И 66, сигнал с выхода которого через элемент ИЗК 48 при установлении, что страница находится в оперативной памяти и схемой 5 сравнения установлена ошибка по защите памяти, открывается элемент И 60, сигнал с выхода 29 которого устанавливает запрос на прерывание по защите памяти. Прерывание по защите памяти обрабатывается управляющей программой.Если во время действия тактового импульса схемами 6 и 7 сравнения установлено несовпадение, то открывается элемент И 59, сигнал с выхода 28 которого вызывает запоминание номера ячейки блока 16 памяти страниц, по которому производилось обращение, в регистрах 40 и 41 генератора 17 расстановки и вызывает страничное прерывание, обрабатываемое управляющей программой.Во время обработки страничныхпрерываний происходит следующее.управляющая программа устанавливает второй разряд управляющего регистра 14, тем самым переводя устройство в режим циклического поиска.Второй режим - циклический поиск.Во время циклического поиска определяется физический адрес свободной страницы оперативной памяти или, если свободной страницы нет, Физический адрес страницы, которая возможно будет замещаться. Если свободная физическая страница найдена, то устанавливается триггер 46, указывающий на конец поиска, Триггер сбрасывается при обнулении триггера второго разряда управляющего регистра 14, В течение одного цикла поиска нулевое состояние триггера 46 открывает элемент И 62, сигнал, с выхода 25 которого через коммутатор 43 генератора 17 расстановки коммутирует содержимое регистра 41 на выход генератора 17 расстановки. Во время деиствия тактового импульса из памяти 9 битов обращения производится чтение по адресу, поступающему на ее адресный вход через коммутатор 18 свыхода генератора 17 расстановки приналичии сигнала с выхода 27 открытого элемента И 58,Содержимое выбранной ячейки памяти 9 битов обращения определяет,загружена ли страница оперативнои памяти с номером, определяемым адресом обращения к памяти 9 битов обращения. Если физическая страница свободна, от открывается элемент И 61, 5 сигнал с выхода которого устанавливает триггер 46, определяющий окончание поиска и закрывающий элемент И 62.Если физическая страница загруже- О на (триггер 46 не установлен), то производится запись содержимого младших разрядов блока 16 памяти страниц в регистр 2 физического адреса при наличии управляющего сигнала с выхода 5 20 элемента ИЗБ 67 (элемент И 58 от" крыт) В момент действия тактового импульса производится чтение из памятей 8 и 9 битов соответственно, изменения и обращения по адресу, на ходящемуся в регистре 2 физического адреса. Этот адрес поступает на адресный вход памяти 9 битов обращения через коммутатор 8 при наличии на его управляющем выходе сигнала с выхода 27 элемента ИЛИ 73 (элемент И 57 открыт), Если страница оперативной памяти свободна, то сигнал с выхода памяти 9 битов обращения открывает элемент И 61 и устанавли- ЗО вает триггер 46 (поиск закончен), Если страница оперативной памяти загружена и в нее не вносилось изменений, то содержимое регистра 41 генератора 17 расстановки переписы- З 5 вается в регистр 42, а сформированное генератором 44 псевдослучайных чисел значение записывается в регистр 41 по сигналам 25 с выхода открытых элементов И 54 и 55 соответственно. 40 Цикл поиска повторяется, если в течение предыдущего цикла не устанавливается триггер 46 или, при установленном триггере второго разряда регистра 14,. управляющая программа 45 устанавливает триггер шестого разряда регистра 14, который закрывает элемент И 62, Триггер шестого разряда управляющего регистра 4 обеспечивает приостановку поиска, 50 Третий режим - однотактный поиск.Однотактный поиск производитсятак же, как цикл циклического поиска, за исключением того, что на выход коммутатора 43 генератора 17расстановки поступает содержимое регистра 42 при наличии управляющегосигнала с выхода 25. 11 ри однократ-.ном поиске элемент И 62 закрыт, поэтому регистр 41 в работе не участвует и определяется, свободна листраница оперативной памяти, адрескоторой находится в регистре 42, Если эта физическая страница загружена, то проверяется, загружена листраница оперативной памяти, адрес которой находится в ячейке блока 16памяти страниц, выбираемой по содержимому регистра 42 генератора 17расстановки. Адрес свободной страницы или страницы, подлежащей удалению, находится в регистре 2 физического адреса, куда он переписывается из регистра 42 по сигналу с выхода 20 элемента И 51, если страница оперативной памяти с этим адресом свободна. В остальных случаях в регистр 2 физического адреса загружается содержимое младших разрядов ячейки блока 16 памяти страниц, адрес которой находится в регистре 42, по тактовому импульсу при открытом элементе И 58.Если страница, адрес которой находится в регистре 2, загружена и в Одновременно с началом циклического поиска управляющая программа определяет наличие требуемой страницы в оперативной памяти с помощью55 таблиц переадресации. Сумма началь- . ного адреса таблицы сегментов и номера сегмента, находящегося в соответствующих разрядах регистра 1 логического адреса, определяет абсолютный начальный адрес требуемойтаблицы страниц, а соответствующийбит этой ячейки оперативной памятиопределяет загружена ли таблица страниц в оперативную память, Если таблица страниц недоступна, то осуществляется загрузка ее в оперативную память по найденному абсолютному адресу. Сумма начального адреса таблицы страниц и номера страницы, находящегося в соответствующих разрядах регистра 1 логического адреса, определяет абсолютныйадрес требуемой физической страницы, если она находится в оперативной памяти. Если требуемой страницы нет в оперативной памяти, то устройством для динамического преобразования адресов производится однотактный поиск при установлениитретьего и сбросе второго и шестого разрядов управляющего регистра 14.
СмотретьЗаявка
2871683, 10.01.1980
ПРЕДПРИЯТИЕ ПЯ М-5339
ЛОПАТО ГЕОРГИЙ ПАВЛОВИЧ, ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ, ЦЕСИН БОРИС ВУЛЬФОВИЧ
МПК / Метки
МПК: G06F 9/36
Метки: адресов, динамического, преобразования
Опубликовано: 07.02.1982
Код ссылки
<a href="https://patents.su/15-903878-ustrojjstvo-dlya-dinamicheskogo-preobrazovaniya-adresov.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для динамического преобразования адресов</a>
Предыдущий патент: Устройство микропрограммного управления
Следующий патент: Многоканальное устройство для приоритетного управления
Случайный патент: Образец для испытания материала на сопротивление усталости (его варианты)