Устройство для трансляции логических адресов в адреса памяти на магнитных дисках
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
О Л И С А Н И Е (и 966695ИЗОБРЕТЕНИЯК АВТОРСКОМУ СВИДЕТЕЛЬСТВУ Союз СоветскикСоциапистическикРеспублик(51)М. Кл,606 Г 9/36 еооударотеенный комнтет СССР пю делам нзобретеннй н открытейОпубликовано 15 10 82 Бюллетень38 Дата опубликования описания 25 10 82 В. Н, Забпоцкий и Б. В, Бесии(54) УСТРОЙСТВО ДЛЯ ТРАНСЛЯЦИИ ЛОГИЧЕСКИХ АДРЕСОВ В АДРЕСА ПАМЯТИ НА МАГНИТНЫХ ДИСКАХ1Изобретение относится к вычислительной технике, в частности к системам виртуальной памяти, и может быть использовано в вычислительных машинах и системах с виртуальной памятью.5В известных вычислительных системах с виртуальной памятью задача управления распределением памяти решается с помошью программных средств их операционных систем при наличии в небольшой степени аппаратной поддержки трансляции логических адресов в адреса оперативной памяти,Для управления распределением внешней памяти известны следуюшие виртуальные методы доступа, используемые операционными системами, которые управдяют виртуальной памятью: виртуальный последовательный, виртуальный индекснопоследовательный, виртуальный библиотеч ный.Виртуальный последовательный метод доступа выбирается для тех наборов данных которые записываются и считываются по 2следовательно. Метод доступа использует"схему внешних страниц", которая хранится вместе с набором данных. Когда виртуальный последовательный набор данных открыт, "схема внешних страниц" переносится в основную память из таблицы соответствия относительной внешней памяти, которая используется программами мегодов доступа для передачи виртуальных .страниц между. основной и внешней памятью.Виртуальный индексно-последов ательный метод доступа использует наборы дан- ных трех типов: страницы справочйка, страницы данных, страницы переполнения. Страница справочника играет роль главного индекса набора данных и содержит по одной записи для каждой страницы набора данных, Эта запись содержит самый младший ключ на данной странице и относительный адрес страницы в обшей памяти. Каждая страница данных содержит ключи и записи данных, включенных в агу страницу. При внесении в набор данных новойстановки устанавливается в регистре 51.По значению расстановки, находящемусяв регистре 51, производится чтение соответствующей строки сегментной таблицы в элементах 39. Информация, прочитанная из элементов памяти 39, записывается в регистр 52, С помощью узлаприоритета 43 определяется наименьшийномер элемента 39, где обнаружена свободная строка, Во втором такте этой 10микрокоманды по значению расстановки,находящемуся в регистре 51, производится запись в свободную строку, элемента 39 памяти 121,выбранного узлом приоритета 43, так, как описано выше.После загрузки строки сегментнойтаблицы выполняется процедура коррекции информации в узле 46 как было описано при выполнении инициализации блока 13. 20Если найти свободную строку сегментной таблицы не удается ни для одногоиз пакетов магнитных дисков, что определяется по переполнению блока 15, тоформируется запрос на прерывание,25При работе вычислительной системыв каждом случае установки регистра 11производится инициализация элементов памяти 3-5 путем обнуления битов действительности, находящихся в элементе памяти 5. Для этого по команде, полученной блоком управления 10,выполняетсяпоследовательность микрокоманд, числокоторых равно количеству строк, имеюшихся в элементах памяти 3-5, В пер- З 5вом такте каждой микрокоманды, кроме первой, производится увеличениесчетчика 7 на единицу путем возбуждения выхода 40 блока 10 Информацияс выхода счетчика 7 поступает на адресные входы элементов памяти 3 5 черезкоммутатор 6,При обращении к оперативной памяти производится определение физического45 адреса страницы следующим образом.В микрокоманде обращения к оперативной памяти производится чтение содержимого элементов памяти 3 5 по адресу, определяемому группой младших50 разрядов логического адреса, которые определяют требуемую страницу. Адрес обращения к группам элементов памяти 3-5 поступает с выхода регистра 1 через коммутатор 6. Информация, выбранная из группы элементов памяти 3, с помощью55 схемы 8 сравнивается с логическим адресом, В случае действительности прочитанной строки (установлен бит действи 95 20тельности в элементе памяти 5) при наличии сигнала на третьем входе элемента И 9 физический адрес страницы, находящийся в элементе памяти 4, записывается в регистр 2.В случае, если сравнения не произошлоили прочитанная строка страничной таблицы недействительна, то формируетсязапрос на прерывание (отсутствует сигнална выходе элемента И 9 в первом тактемикрокоманды) .В результате обработки прерывания процессором под управлением программ операционной системы определяется находится ли требуемая страница в оперативнойпамяти, Если требуемая страница находится в оперативной памяти, то ее физический адрес поступает по входу 18 навход элемента памяти 4, а на вход элемента памяти 3 поступает логическийадрес страницы, По команде, выданнойпроцессором в блок управления 10, выполняется микрокоманда, которая возбуждает управляющий выход, в результате чегов выбранную строку элементов памяти3-5 будут записаны логический адрес, физический адрес и бит действительности.Далее производится обращение к оперативной памяти,Если при выполнении программ поискапроцессором требуемой страницы в оперативной памяти не обнаружено, то произ,водится ее загрузка, Для этого определятся адрес страницы на магнитном диске,После загрузки страницы в оперативнуюпамять устанавливается соответствующаястрока страничной таблицы в элементахпамяти 3-5 как описано выше.Для Определения адреса страницы напакете магнитных дисков и определенияномера накопителя на магнитных дисках,где установлен этот пакет, выполняютсядействия аналогичные тем, которые выполняются при проверке наличия сегмента с указанным виртуальным адресомв команде загрузки сегмента, описанныевыше. При необходимости удалить сегмент из внешней памяти вычислительной системы производится сброс бита действительности в строках сегментной таблицы и в таблице перехода в элементах 39 и 40 соответственно. Для этого выполняются действия, аналогичные тем, которые выполняются при проверке наличия сегмента с укаэанным виртуальным адресом в команде загрузки сегмента, Если сегментная таблица адресуется свыходом счетчика, первый и второй входы блока управления соединены соответственно с входами кода операции и синхронизации устройства, выход блока управления является выходом прерыванияустройства, выходы группы выходов бцока управления соединены соответственнос третьим входом элемента И и с управляющими входами элементов памяти, коммутатора и счетчика, первый вход группы входов блока управления соедичен свыходом элемента И, о т л и ч а ю щ е-е с я тем, что, с целью расширенияфункциональных возможностей за счетвозможности работы в вычислительныхсистемах с одиночной и множественнойвиртуальной памятью, в него введеныуправляющий регистр, блок вычитателей,блок назначения, генератор расстановки,блок памяти состояния внешней памяти,счетчик адреса устройств, регистр адреса устройства, регистр адреса страницы,причем выходы регистра логического адреса и управляющего регистра соединены соответственно с первым и вторымвходами блока отображения, первый выходкоторого соединен с первыми входами блоканазначения и генератора расстановки,выход которого соединен с вторым входом блока назначения, первый выход которого соединен с первым входом регистра логического адреса, информационныйвход устройства соединен с первыми входами счетчика адреса устройств и блокапамяти состояния внешней памяти, выходкоторого соединен с вторыми входамигенератора расстановки и счетчика адреса устройств, выход которого соединенс входом регистра адреса устройства, выПрименение изобретения позволяет расширить функциональные возможности устройства за счет возможности его работы щ в вычислительных системах с одиночной и множественной виртуальной памятью; формула изобретенияЗЗ1, Устройство для трансляции логических адресов в адреса памяти на магнитных дисках, содержащее регистр логического адреса, регистр физического адреса, три элемента памяти, коммутатор 1 счетчик, схему сравнения, элемент. И, блок управления, причем выход регистра логического адреса соединен с первым входом регистра физического адреса, с входом первого элемента памяти, с первыми входами коммутатора и схемы сравнения, второй вход и выход которой соединеньг соответственно с выходом первого элемента памяти и с первым входом элемента И, второй вход и выход коМ торого соединены соответственно с выходом второго элемента памяти и с управляющим входом регистра физического адреса, второй вход которого соединен с выходом третьего элемента памяти, вход кОторого соединен с информационным входом устройства, адресные входы элементов памяти соединены с выходом коммутатора, второй вход которого соединен с ход которого соединен с третьими. входами генератора расстановки и блоха назначения, соответствующие группы выходов блока управления соединены с тактовыми входами генератора расстановки,блока назначения, счетчика адреса устройств, блока памяти состояния внешнейпамяти, регистра адреса устройства и регистра адреса страницы, вторые выходыблока вычитателей, блока назначенИя ивыходы блока памяти состояния внешнейпамяти и регистра адреса устройства соединенысоответственно с входами с второго по пятый группы входов блока управления,2. Устройство по и. 1, о т л и ч аю ш е е с я тем, что блок назначения содержит элементы памяти таблиц, элементы памяти переходов, узел индикации помощью таблицы перехода, то содержимое сдвигаюшего регистра 47 указывает элемент 40, где осуществляется сброс бита действительности.Информация с выхода блока 15, по-ступающая через генератор расстановки 14 на вход блока 13, поступает на вход регистра 51 и на вход регистров 73 узла 46 через коммутаторы 50 и 67 соответственно независимо от состояния их управляющих входов.Если процессором во время работы обнаружен сбой. по защите сегментовили страниц, для которых устройством для трансляции логических адресов опрб., 1 ф делен адрес на магнитном диске, то процессор производит повторное определение адреса требуемой страницы на пакете магнитных дисков. В случае возникновения ошибок при выполнении заданного чис 30 ла повторений задания, находящееся в виртуальной памяти, которая обслуживалась в момент определения ошибки, заканчивается аварийно, и область памяти, занимаемая этим заданием на пакетах магнит-И ных дисков, освобождается,свободн 1 и расстановок, два узла приоритета; регистры, сдвигающий регистр, коммутатор, блок элементов И, элементы И и ИЛИ, причем первые входы элементов памяти таблиц соединены с первым вхо дом блока, второй вход блока соединен с первыми входами коммутатора и элементов памяти переходов, первый выход каждого из которых соединен с соответствующим входом коммутатора, выход которо го соединен с входом первого регистра, выход которого соединен с вторыми входами элементов памяти таблиц и с первым входом узла индикации свободных расстановок, первый выход которого сое-,15 динен с вторыми входами элементов памяти переходов, вторые выходы которых соединены с входом второго регистра, выход которого соединен с входами первого элемента И, с первым входом бло- Ю ка элементов И -и с входом первого узла приоритета, выход которого соединен с входом сдвигаюшего регистра и с третьими входами элементов памяти переходов, первый и второй выходы элементов 25 памяти таблиц соединены соответственно с первым выходом блока, с входами элемента ИЛИ и с входом третьего регистра, выход которого соединен с вторым входом узла индикации свободных расста- ЗО новок с входами второго элемента И и с входом второго узла приоритета, выход которого соединен с третьими входами элементов памяти таблиц, выход сдвига юшего регистра соединен с вторым входом блока элементов И, выход которого соединен,.с четвертыми входами элементов памяти переходов и с управляющим входом коммутатора, выходы элементов И и ИЛИ и вторбй выход узла индикации свободных расстановок соединены с вторым выходом блока, управляющий вход блока соединен с четвертыми входами элементов памяти таблиц, с пятыми входами элементов памяти переходов, с третьим входом узлаиндикации свободных расстановок и с управляющими входами регистров, четвертый вход узла индикации свободных расстановок является третьим входом блока, выход первого регистра50 соединен с первым выходом блока.3. Устройство по и. 1, о т л и ч аю ш е е с я тем, что генератор расстановки содержит блоки элементов ИСКЛЮЧАЮШЕЕ ИЛИ, вычитатели, дешифраторы,55 регистр, причем первый вход генератора соединен с входами блоков элементов ИСКЛЮЧАЮШЕЕ ИЛИ, выход первого блока элементов ИСКЛЮЧАЮШЕЕ ИЛИ соединен с входом уменьшаемого первоговычитателя и с входом первого дешифратора, выход которого соединен с входомвычитаемого первого вычитателя. выходвторого блока элементов ИСКЛЮЧАЮ-ШЕЕ ИЛИ соединен с входом уменьшае- .мого второго вычитателя и с входом второго дешифратора, выход которого соединен с входом вычитаемого второго вычитателя выходы вычитателей и третийвход блока соединены с информационнымвходом регистра, тактовый вход которо 1 о является тактовым входом генератора расстановки, выходом которого является выход регистра,4, Устройство по п, 1, о т л и ч а -ю ш е е с я тем, что узел индикациисвободных расстановок, входящий в состав блока назначения, содержит коммутатор, сдвигаюшие регистры, элементыпамяти, дешифраторы, узлы приоритета,шифраторы, регистры, вычитатели, элементы И, блок элементов И, элементыИЛИ, причем информационный, управляющий, адресный входы и выход каждогоэлемента памяти соединены с выходамисоответствующих элемента И, дешифратора, коммутатора и с входом соответствующего узла приоритета соответственно, входы элементов И, кроме первого, соединены с выходом соответствующего элемента памяти, входы первогоэлемента И являются вторым входом узла, первым входом и первым выходомкоторого являются соответственно первыйвход коммутатора и выходы регистров,входы которых соединены с вьиодами соответствующих шифраторов, входы которых соединены с выходами соответствующих узлов приоритета, первый и второйвходы дешифраторов соединены с выходами блока элементов И и коммутатора,второй вход которого соединен с выхода-ми регистров, управляющие входы которыхсоединены с выходом первого сдвигающего регистра, выход второго сдвигаюшегорегистра соединен с первым входом блока элементов И, управляющие входысдвигаюших регистров, коммутатора ивторой вход блока элементов И являются третьим входом узла, вторым выходом которого является вьиод элементаИЛИ, входы которого соединены с выходом последнего элемента И и с выходами знакового разряда вычитателей, входы уменьшаемого которых соединеныс выходами регистров, четвергым входомузла являются входы вычитаемого вычитателей.96 М 95 25 Источники информации,принятые во внимание при экспертизеЗакав 7846/ Тираж 731 ПодписиИ Государственйого комитета СССРдепам изобретений и открытийМосква, Ж, Раушская набд. 4 ВНИИП по 113035, иап ППП "Патент", г. Ужгород, уп. Проектная,Составитепь М. КудряшевРедактор Л, Авраменко Техред А. Бабинец Корректор С. Шекм3 96695 4информации возможны переполнения странип, В этом случае используется страница переполнения Страница переполненияадресуется с помошью ключевой записи,размецаемой в странице данных, 5Виртуальный библиотечный метод доступа используется для хранения информациив системной библиотеке. Набор данных сбиблиотечной виртуальной организацией вклю, чает страницы справочника и страницы 1 Оэлементов, Страница справочника задаетадрес страницы каждого элемента набора данных с библиотечной виртуальнойорганизацией, Страница элемента можетбыть организована либо как страница ввиртуальном последовательном методедоступа, либо как страница в виртуальноминдексно-последовательном методе доступа 1,Описанные методы доступа требуютбольших затрат процессорного временина генерацию необходимых таблиц и ихперемещение в иерархии памяти вычислительной системы. Кроме этого, использование больших объемов таблиц приводитк значительным затратам внешней и оперативной памяти,Наиболее близким к предлагаемомуизобретению является устройство для трансляции адресов, содержашее регистр логического адреса, регистр физического адреса, группы элементов памяти, коммутатор, счетчик, компаратор, элемент И, блокуправления 2,Недостатком известного устройства длятрансляции адресов является отсутствиевозможности управления распределениемпамяти, в частности внешней памяти намагнитных дисках в вычислительной системе с виртуальной памятью,40 Цель изобретения - расширение функциональных возможностей устройства за счет возможности работы в вычислительных системах с одиночной и множественной виртуальной памятью.Поставленная цель достигается тем, что в устройство для трансляции логических адресов в адреса памяти на магнитных дисках, содержашее регистр логического адреса, регистр физического адреса, три 0 элемента памяти, коммутатор, счетчик, схему сравнения, элемент И, блок управления, причем выход регистров логического адреса соединен с первым входом регистра физического адреса, с входом первого элемента памяти, с первыми входами коммутатора и схемы сравнения, второй вход и вькод которой соединены соответственно с выходом первого элемента памяти ис первым входом элемента И, второй входи выход которого соединены соответственно с выходом второго элемента памяти и суправляюшим входом регистра физическогоадреса, второй вход которого соединен свыходом третьего элемента памяти, входкоторого соединен с информационным входом устройства, адресные входы элементов памяти соединены с выходом коммутаторау второй вход которого соединен свыходом счетчика, первый и второй входыблока управления соединены соответственно с входами кода операции и синхронизации устройства, выход блока управления является выходом прерывания устройства, выходы группы выходов блока управления соответственно соединены .с третьим входом элемента И и с управляюшими входами элементов памяти, коммутатора и счетчика, первый вход группывходов блока управления соединен с выходом элемента И, введены управляющийрегистр, блок вычитателей, блок назначения, генератор расс 1 ановки, блок памяти состояния внешней памяти, счетчикадреса устройств, регистр адреса устройства, регистр адреса страницы, причемвыходы регистра логического адреса иуправляющего регистра соединены соответственно с первым и вторым входамиблока вычитателей, первый выход которого соединен с первыми входами блока назначения и генератора расстановки, выходкоторого соединен с вторым входомблока назначения, первый выход которого соединен с первым входом регистра логического адреса, информационный вход устройства соединен с первыми. входами счетчика адреса устройств и блока памяти состояния внешней памяти, выход которого соединен со вторыми входами генератора расстановки и счетчика адреса устройств выход которого соединенс входом регистра адреса устройства, выход которого соединен с .третьими входами генератора расстановки и блока назначения соответствующие выходы группывыходов блока управления соединены суправляюшими входами генератора расстановки, блока назначения, счетчика адреса устройств, блока памяти состояниявнешней памяти, регистра адреса устрой.ства и регистра адреса страницы, вторые выходы блока вычитателей, блока назначения и выходы блока памяти состояния внешней памяти и регистра адреса устройства соединены соответственно с входами с второго по пятый группы входовблока управления,Кроме того, блок назначения содержитэлементы памяти таблицы, элементы памяти переходов, узел индикации свободных Зрасстановок, два узла приоритета, регистры, Сдвигающий регистр, коммутатор,блок элементов И, элементы И и ИЛИ,причем первые входы элементов памятитаблиц соединены с первым входом блока, второй вход блока соединен с первымивходами коммутатора и элементов памяти переходов, первый выход каждого из.которых соединен с соответствующим входом коммутатора, выход которого соединен с входом первого регистра, выходкоторого соединен со вторыми входамиэлементов памяти таблиц и с первым входом узла индикации свободных расстановок,первый выход которого соединен с вторы. 20ми входами элементов памяти переходов,вторые выходы которых соединены с входом второго регистра, выход которогосоединен с входами первого элемента И,с первым входом блока элементов И и свходом первого узла приоритета, выход которого соединен с входом сдвигаюшегорегистра и с третьими входами элементов памяти переходов, первый и второйвыходы элементов памяти таблиц соедииены соответственно с первым выходомблока, с входами элемента ИЛИ и с входом третьего регистра, выход которогосоединен с вторым входом узла индикации свободных расстановок, с входами З 5второго элемента И и с входом второгоузла приоритета, выход которого соединен с третьими входами элементов памяти таблиц, выход сдвигаюшего регистрасоединен с вторым входом блока элемен ятов И, выход которого соединен с четвертыми входами элементов памяти переходов и с управляющим входом коммутатора, выходы элементов И, ИЛИ и второйвыход узла индикации свободных расстановок соединены с вторым выходом олока,управляющий вход блока соединен с чет-вертыми входами элементов памяти таблиц, с пятыми входами элементов памятипереходов с третьим входом узла индикации свободных расстановок и с управляющими входами регистров, четвертыйвход узла индикации свободных расста- .новок является третьим входом блока,выход первого регистра соединен с первым выходом блока.Генератор расстановки содержит бло.ки элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, вычитатели, дешифраторы, регистр, причем первый вход генератора соединен с входами блоков элементов ИСКЛ 10 ЧА 10 ШЕЕ ИЛИ выход первого блока элементов ИСКЛЮЧА 10 ШЕЕ ИЛИ соединен с входом уменьшаемого первого вычитатоля и с входом первого дешифратора, выход которого соединен с входом вычитаемого первого вычптателя, выход второго блока элементов ИСКЛ 10 ЧАЮЩЕЕ ИЛИ соединен с входом уменьшаемого второго вычитателя и с входом второго дешифратора, выход которого соединен с входом вычитаемого второго вычитателя, выходы вычитателей и третий вход блока соединены с информационным входом регистра, тактовый вход которого является тактовым входом генератора расстановки, выходом которого является выход регистра,Блок управления содержит память мик- . ропрограмм, регистр адреса, регистр микрокоманды, дешифратор микрокоманды, дешифратор условий перехода, элемент задержки, причем первый выход дешифратора усповий перехода соединен с входом регистра аареса, выход которого соединен с входом памяти микропрограмм, выход которой соединен с входом регистра микрокоманды, выход соответствующих разрядов которого соединен с первыми входами дешифраторов микрокоманды и условий перехода, вторые входы которых соединены соответственно с пер вым и вторым входами блока первый вход блока соединен с управляющим вхо дом регистра адреса и через элемент задержки - с управляющим входом регистра микрокоманды, второй вход дешифратора условий перехода является группой входов блока, второй выход дешифратора условий перехода соединен с выходом блока, выход дешифратора микрокоманд и выходы соответствующих разрядов регистра микрокоманд являются группой выходов блока, третий вход дешифратора условий перехода соединен с вторым входом блока.Узел индикации свободных расстановокЭ блока назначения содержит коммутатор, сдвигаюшие регистры, вычитатели, элементы памяти, дешифраторы, узлы йриоритета, шифраторы, регистры, вычитатели, элементы И, блок элементов И, элементы ИЛИ,. причем информационный, управляющий и адресный входы и выхбд каждого элемента памяти соединены с выходами соответствующих элемента И дешифратора, коммутатора й с входом соответствующего узла приоритета соответственно, входы элементов И, кроме йервогосоединены с выходом соответ966 ствующего элемента памяти, входы первого. элемента И являются вторым входом узла, первым входом и первым выходом которого являются первый входкоммутатора и выходы регистров, входыкоторых соединены с выходами соответствующих шифраторов, входы которыхсоединены с выходами соответствующихузлов приоритета, первый и второй входыдешифраторов соединены с выходами бло Ока элементов И и коммутатора, второйвход которого соединен с выходами регистров, управляющие входы которых соединены с выходом первого сдвигающегорегистра, выход второго сдвигающего 1 фрегистра соединен с первым входом блокаэлементов И, управляющие входы сдвигающих регистров, коммутатора и второй входблока элементов И являются третьим входом узла, вторым выходом которого явля-щются выход элемента ИЛИ, входы которого соединены с выходом посЛеднего элемента И и с выходами знакового разрядавычитателей, входы уменьшаемого которых соединены с выходами регистров, чет.двертым входом узла являются входы вычитаемого вычитателей,На фиг 1 приведена структурная схема устройства для трансляции логическихадресов в адреса памяти на магнитныхдисках; на фиг. 2 - структурная схемаблока назначения; на фиг. 3 - функциональпая схема генератора расстановки;на фиг. 4 - функциональная схема блокауправления; на фиг. 5 - функциональнаясхема узла индикации свободных расстановок; на фиг. 6 - функциональная схема узла приоритета,Устройство для трансляции логических адресов в адреса памяти на магнитных дисках (фиг. 1) содержит регистр 1 логического адреса, регистр 2 физического адреса, группы элементов памяти 3-5, коммутатор 6, счетчик 7, схему сравнения 8, элемент И 9, блок 10 управления, управляющий регистр 11, блок 12 вычитателей, блок 13 назначения, генератор расстановки 14, блок 15 памяти состояния внешней:памяти, счетчик 16 адресаЮ устройств, регистр 17 адреса устройства, информационный вход 18 устройства, регистр 19 адреса страницывход 20 кода операции устройства, вход 21 синхронизации устройства, выход 22 прерывания устройства, группу 23 входов, группу 2455 выходов блока управления 10, входы 25- 29 группы входов 23 и выходы 30-36 группы выходов 24 блока управления 10,695 8выход 37 генератора расстановки 14, выход 38 блока вычитателей 12.Блок назначения 13 (фиг. 2) содержитвычитатели, группу элементов памяти таблиц 39, группу элементов памяти переходов 40, элемент И 41, элемент ИЛИ 42,узлы приоритета 43 и 44, элемент И 45,узел 46 индикации свободных расстановок,регистр 47 сдвига, блок 48 элементовИ, регистр 49, коммутатор 50, регистр51 и 52, выход 53 и вход 54 узла 46,Генератор расстановки 14 (фиг. 3)содержит блоки элементов ИСКЛЮЧАЮШЕЕИЛИ 55 и 56, вычитатели 57 и 58, регистр 59, дешифраторы 60,Блок управления 10 (фиг, 4) содержит память 61 микропрограмм, дешифратор 62 микропрограмм, элемент задержки 63, регистр 64 адреса, дешифратор 65условий, регистр 66 микрокоманды.Узел индикации свободных расстановок46 (фиг, 5) содержит коммутатор 67,элементы И 68 элементы памяти 69, узлы приоритета 70, дешифраторы 71, шифраторы 72, регистры 73, вычитатели 74,элемент ИЛИ 75, блок 76 элементов Ирегистры сдвига 77.Узел приоритета (фиг. 6) содержит.,группу элементов И-И-НЕ 78, группуэлементов И 79.Устройство для трансляции логическихадресов в адреса памяти на магнитныхдисках предназначено для преобразованиялогических адресов сегментов в адресаустройств внешней памяти (накопителейна магнитных дисках), а также определяет местонахождение страницы заданногосегмента на пакете магнитных дисков ив оперативной памяти.Устройство предназначено для работыв вычислительной системе, управляемойоперационными системами, которые обеспечивают одиночную или множественнуювиртуальную память, а также под управлением операционной системы, реализующейработу виртуальных машин.Для обеспечения этих возможностей вуправляющем регистре 11 хранятся следующие системные параметры: номер виртуальной машины, работающей в данныймомент времени (поступает с выхода регистра 11); номер виртуальной памяти измножественной виртуальной памяти, которая реализуется в данный момент времени(поступает с выхода регистра 11); количество сегментов, образующих виртуаль 1ную память из множественной виртуальной памяти, которая реализуется в данныймомент времени (поступает с выхода ре9 9666 гистра 11); величина, определяюпня число сегментов оперативной памяти, отведенных для области ядра операционной системы, обеспечивающей множественную виртуальную память поступает с выхода регистра1).Номер и количество сегментов, образующие виртуальную память из множественной виртуальной памяти, и размер ядра операционной системы заносятся в регистр 10 11 операционной системой, реализующей эту возможность. Операционная система, не реализующая, множественную виртуаль ную память, работает при обнуленных соответствуюших полях регистра 11, Номер 13 .виртуальной машины помещается в регистр 11 операционной системой, реализующей .эту возможность, Для других типов операционных систем эти разряды регистра 11 игнорируются. Если в вычислительной системе не реализуются виртуальные машины, то соответствующее поле регистра 11 обнулено.,При работе с операционной системой, реализующей виртуальные машины, загрузка регистра 11 осуществпяется толь 2 ко под ее управлением.Блок отображения 12 предназначен для формирования полного виртуального адреса, который учитывает номер множественной виртуальной памяти и номер реализуемЮ,40 в данный момент виртуальной машины Полный виртуальный адрес образуется как совокупность номера виртуальной машины, номера множественной виртуальной памяти, которые находятся в регистре 11, и номе. ров сегмента, страницы и смешения, которые находятся в регистре 1.При работе с множественной виртуальной памятью область ядра операционной системы переносится в каждую виртуальную память. Для того, чтобы иметь толь ко одну копию ядра операционной системы, используется блок 12 и группа элементов. Ядро такой операционной системы отображается на виртуальную па 45 мять с номером нуль. С помощью вычитателей блока 12 сравнивается номер сет- мента, находящийся в регистре 1 логического адреса, с величиной ядра операционной системы, находящейся в регистре 11. Если номер сегмента, находящийся в регистре 1 больше, чем число, указывающее размер ядра операционной системы, то это показывает, что обращение производится не к ядру операционной системы. Поэтому в формировании виртуального адреса участЯ вует номер множественной виртуальной па- мяти, Если номер сегмента, находящийся в регистре логического 1 адреса, меньше, . 1 Очем число, указывающее размер ядра операционной системы, то это показывает,что обращение производится к ядру операционной системы. Поэтому в формированиивиртуального адреса участвует виртуальнаяпамять с номером нуль.Для определения местонахождения виртуальной страницы в оперативной памяти используются регистр 1, регистр 2,группы элементов .памяти 3-5, коммутатор 6, счетчик 7, схема сравнения 8 иэлемент И 9,.В группе элементов памяти 3 хранится значение логического адреса той виртуальной памяти, которая реализуется вданный момент,В группе элементов памяти 4 хранитсясоответствующий логическому адресу физический адрес страницы.В группе элементов памяти 5 хранитсябит, определяющий действительность строки страничной таблицы. При переходе к обслуживанию другой виртуальной памяти производится сброс битов действительности во всех строках страничной таблицы. В этом случае модификация адреса производится с помощью счетчика 7.В случае невозможности определения адреса страницы в оперативной памяти с помощью аппаратных средств для определения физического адреса страницы производится поиск в страничной таблице операционной системы. В случае отсутствия требуемой страницы в оперативной памяти производится ее загрузка.Адрес страницы во внешней памяти определяется с помощью блока 13, генератора расстановки 14, блока 15, счетчика 16 и регистров 17 и 19.Блок 13 предназначен для хранения сегментной таблицы и обеспечивает возможность для ее модификации,Генератор расстановки 14 предназначен для расстановки (перемешивания) случайным образом определенных битов виртуального адреса, Заполнение сегментной таблицы, находящейся в элементах, памяти 39 блока 13, управляется генератором расстановки 14, элементами памяти 40 блока 13. Генератор расстановки 14 перемешивает случайным образом биты виртуального адреса, чтобы выбрать одноименные ячейки памяти из каждого элемента 39, в которых с наибольшей вероятностью находится требуемый логический адрес, поскольку несколько значений виртуальных адресов могут иметь одно и то12 Блок 10 предназначен для выработкиуправляющих сигналов. вает формирование адреса входа в микропрограмму, соответствующую поступившему коду операции, Этот адрес размещается в регистре 64, По адресу, находящемуся в регистре 64, производится чтение информации из памяти микропрограммы61. Микрокоманда, считанная из памяти манд. С помощью дешифратора 62 микрокоманд дешифрируется поле микрокомандыи формируются управляющие сигнады. Адустанавливается в регистре 66 микроко 1 манд сразу же после окончания выполнения текущей микрокоманды.Узел приоритета (фиг. 6) предназначен для выбора разряда со значением логичес кого нуля, имеющего наименьший номер, из информации, поступающей на входы узла приоритета.Устройство работает следующим образом.При включении питания процессора и при выполнении начальной загрузки производится инициализация элементов памяти всех блоков устройства, При инициализации производится обнуление битов действительности всех таблиц.По .окончании инициализации счетчика 16 выполняется инициализация элементов памяти блока 13. Для инициализации строк элементов памяти, имеюших один и тот же адрес для каждого пакета магнитных дисков, в регистре 1 размещается логический адрес, определяющий строку элементов памяти. Регистр 11 обнуляется. В блоке 12 формируется виртуальный адрес, а в генераторе расстановки 14 - значение расстановки.так, как это описано вьцне, , Блок управления 10, получив команду инициализировать блок назначения 13, выполняет циклическую последовательность микрокоманд, включаюшую обнуление элементов памяти узлов 39 и 40 и коррекцию информации в узде индикации свободных расстановок 46, Число циклов определяется макИБлок 16 предназначен для указания адреса внешнего устройства, на котором установлен пакет магнитных дисков. В блоке 16 для каждого пакета магнитных дисков определяются номер канала вводаБ вывода, к которому подключено внешнее устройство; номер контроллера; номер внешнего устройства на контроллере; код, определяющий тип пакета; бит, определяю 11 966695же значение расстановки. Алгоритм рас- щий действительность перечисленной инстановки, применяемый в генераторе рао- формации.становки 14 для определения адреса входа в блок 13, использует блоки элементов" ИСКЛЮЧАЮШЕЕ ИЛИ 55 и 56, на первыйБлок 10 работает следующим образом,вход которых поступают в обратном поряд- Код операции, поступающий на входке группа младших разрядов виртуальногодешифратора 65 условий перехода, вызыадреса, на второй вход поступают в прямом порядке следующая группа разрядоввиртуального адреса. Блок элементов ИС- ОКЛЮЧАЮШЕЕ ИЛИ 55 используется для формирования старших разрядов номера цилиндра магнитного диска (формируется шестьразрядов номера). Блок элементов ИСКЛЮЧАЮШЕЕ ИЛИ 56 используется для форми- микропрограммы 61 через время, опрерования номера записи группы цилиндров маг. деляемое величиной элемента задержкинитного диска, где расположены страницы 63, размещается в регистре 66 микрокоодного сегмента (формируется четыре раз-.ряда), Число записей на дорожке пакета.магнитного диска опредедяется его типом. рес следующей микрокоманды формируетС помощью дешифраторов 60 и вычи- ся дешифратором 65 условий перехода.тателей 57 и 58 формируется код, лежа- Регистр 64 адреса устанавливается вощий в заданных пределах. время выполнения второго такта текущейКод номера цилиндра лежит в предо микрокоманды, а следующая микрокомандалах от 0 до 199 (шесть старших разрядов номера дилинга находятся в пределах от 0 до 49). поэтому, если дешифратором 60 определен код, сформированный блоком 55 больше 49, то из сфор- Зфмированного кода вычитается константа49 с помощью вьгчитателя 57.Если определен пакет типа, то дешифратором 60 определяется код, на едиж- цу меньший кода, сформированного бло- уком 56.Если с помощью генератора расстанов,ки 14 не удается разместить требуемыйсегмент в сегментной таблице 10, с помощью узла 46 блока 13 формируется зна 40чение свободной расстановки, которое помещается в свободную строку элемента 62блока 13 и определяет свободную группустрок сегментной таблицы.Блок 15 предназначен для перехода надругой пакет магнитных дисков в случаепереполнения одного из пакетов или невозможности разместить на нем информацию.симальным количеством пакетов магнитных дисков, которые адресуются устройством трансляции адресов. циклическое выполне ние микрокоманд управляется содержимым блока 15 и заканчивается при его переполнении.Для обнуления элементов памяти 39 и 40 выбирается микрокоманда, выполняющая следующее.В первом такте микрокоманды в каж дом цикле, кроме первого, выполняется увеличение содержимого блока 15 на еди- . ницу. Кроме того, в первом такте каждой микрокоманды код, сформированный в генераторе расстановки 14, заносится в 13 регистр 5 1 блока 13 с выхода генератора расстановки 14. Код с выхода 37 гене- ратора расстановки 14 поступает в регистр 51 через коммутатор 50 блока 13 при наличи сигнала, поступающего на.управляюший вход коммутатора 50 с выхода обнуленного сдвигающего регистра 47 через блок элементов И 48 блока 13, Во втором такте микрокоманды производится запись нулевых кодов в группу элементов 25 памяти 39 и в группу элементов памяти 40,После обнуления элементов памяти узлов 39 и 40 выполняется последовательность микфокоманд коррекции информации в узле 46, Число микрокоманд определя- З 0 ется количеством элементов памяти 69. Для этого значение расстановки с выхода регистра 51 через коммутатор 67 узла 46 поступает на адресный вход элементов памяти 69 и на вход дешифраторов 71,Коррекция информации в элементах памяти узла 46 осуществляется следующим образом.В первом такте каждой микрокоманды производится чтение инициализированных ячеек элементов памяти 39 и запись содержимого в регистр 52. Кроме того, производится сдвиг информации в сдвигаюшем регистре 77 узла 46 при наличии управляющего сигнала на входе сдвигавшего регистра 77 (в первой микрокоманде, производится установка старше о разряда сдвигающего регистра 77). Разряд сдвигаюшего регистра 77.определяют один; из элементов памяти 69 узла 46, Во вто ром такте каждой микрокоманды производится запись информации в элемент памяти 69, определяемый разрядом сдвигаюшего регистра 77, в разряд, определяемый дешифратором 71. Информация, записывае,55 мая в следуюший элемент памяти 69 оп) ределяется коньюнкцией значений разрядов, хранящихся в предыдущем элементе памяти 69. Описанный процесс инициализации элементов памяти блока 13 выполняется для всех элементов памяти блока 13 послезамены значения в регистре логическогоадреса 1.После выполнения загрузки системыосуществляется назначение для каждогопакета магнитных дисков соответствуюпего ему накопителя. Для этого подготавливается информация, содержащая номер пакета, номера канала, контроллераи накопителя, где установлен данный пакет, а также код, определяющий тип магнитного диска. Эта информация поступает по входу 18. Блок 10, получив команду назначить устройство, выполняет микрокоманду, в первом такте которой вблок 15 производится прием кода, определяющего номер пакета, и проверка битадействительности выбираемой строки счетчика 16. Эта информация в первом тактемикрокоманды считывается в регистр 17(возбужден управляющий выход 34 блока10), после чего анализируется блокомуправления 10. Если бит действительности не был установлен, то во второмтакте микрокоманды производится записьинформации, поступающей по входу 18 всчетчик 16 и установка бита действительности. Для этого возбуждается управляющий вход 32 счетчика 16. Если в первомтакте микрокоманды при анализе установлено наличие бита. действительности, тоопределяется ошибочная ситуация и формируется запрос на прерывание.При необходимости отменить назначениеустройства, выполняются аналогичные действия, за исключением того, что не производится анализа бита действительности.При первоначальной загрузке. сегмента во внешнюю память определяется номернакопителя на магнитных дисках, где может быть расположен сегмент и его местоположение на пакете магнитных днсков,т.е, определяется свободная строка в таблице сегментов, Для этого логическийадрес сегмента располагается в регистре1. В регистр 11 загружается указанная 1выше информация. В блоке 12 формируется виртуальный адрес сегмента, так,как, это указано выше.Блок 10, получив команду загрузитьсегмент, перед тем как осуществить поисксвободной строки сегментной таблицы,проверяет, был.ли загружен сегмент с указанным виртуальным адресом,При проверке выполняется следунмпео.В первом такте первый микрокоманды1производится обнуление блока 15 и чте15 966йие информации из счетчика 16 в регистр17 (возбуждается выход 34 блока управления 10). Далее производится анализ,установлен ли. бит действительности в регистре 17), Если бит действительностине установлен, то первая микрокоманда выполняется повторно. В этом случае производится наращивание содержимого блока 15 путем возбуждения его управляющего входа 33.Если бит действительности установлен, то 16выполняется вторая микрокоманда, гдепроизводится запись значения расстановки, сформированного генератором расстаяовки 14 так, как это описано выше, врегистр 59 генератора расстановки 14 и взрегистр: 5 1 блока 13. По значению раостановки, находящейся в регистре 5 1,производится чтение соответствующей строки сегментной таблицы в элементах памяти 39. По значению, находящемуся в регистре 59 генератора расстановки 14производится чтение соответствующейстроки из таблицы переходов, находящейся в каждом элементе 40. Крометого,производится продвижение единицы в сдви-уЗгающем регистре 47 (возбуждается управляющий вход 31 сдвигающего регистра 47).Информация, прочитанная из элементовпамяти 39 и 40 записывается в регистры 49 и 52 соответственно. Далее, если щхотя бы в одном иэ элементов 39 установлен сегмент с данным виртуальнымадресом, то этот адрес записывается врегистр 19 страницы 19 при возбуждении выхода 36 блока 10. Таким образом, определена ошибочная ситуация, иво втором такте микрокоманды формируется запрос на прерывайие,Далее производится анализ бита действительности в элементе 40, номер которого выбирается сдвигаюшим регистром 47. Если бит действительности, находящийся в регистре 49, выбранного элемента 62 не установлен, то в первом такте следующей микрокоманды производится продвижение единицы в сдвигающем регистре 47 и повторное выполнение анализа. Если бит действительности, находящийся в регистре 49, выбранного элемента 40 установлен, то открывается соответствуюций вход коммутатора 50 и в первом такте следующей микрокоманды новое значение расстановки из выбранного элемента памяти узла 40 помещается в регистр 51 и описанные выше35 действия повторяются.Такая проверка выполняется для всех значений расстановок, находящихся в эле 695 16ментах 40, для каждого из пакетов магнитных дисков, номер которого определяется значением содержимого блока 15.Если сегмент с указанным виртуальным адресом не был загружен, то осуществляется процедура поиска свободной строки сегментной таблицы следующим образом,В первом такте первой микрокоманды производится обнуление блока 15(возбуждается) и чтение из счетчика16 в регистр 17 (возбуждается выход34 блока управления 10), Далее производится анализ: установлен ли бит действительности в регистре 17. Если битдействительности не установлен, то первая микрокоманда выполняется повторно.В этом случае производится наращиваниесодержимого блока 15 путем возбуждения его управляющего входа 33 (выход33 блока 10),Если бит действительности установлен, то выполняется вторая микрокоманда, в первом цикле которой производится запись значения расстановки, сформированного генератором расстановки14 так, как описано выше в регистр 59генератора расстановки 14 и в регистр51 блока назначения 13, По значениюрасстановки, находящемуся в регистре51, производится чтение соответствующейстроки сегментной таблицы в элементах39, По значению, находящемуся в регистре 59 генератора расстановки 14, производится чтение соответствующей строкииз таблицы перехода, находящейся в элементах 40. Информация, прочитанная изэлементов памяти 39 и 40,записываетсяв регистры 49 и 52 соответственно. Крсьме того, производится продвижение единицы в сдвигаюшем регистре 47, С помощью элемента И 45 блока 13 определяется наличие свободной строки, а узелприоритета 43 определяет наименьшийномер узла сегментной таблицы, где обнаружена свободная строка, После этогопроцесс поиска свободной строки в таблице сегментов закончен.Если с помощью элемента И определено отсутствие свободной строки (открытое состояние элемента И 45), то с помощью элемента И 41 определяется наличие свободной строки в таблице перехода в элементах 40, а узел приоритета 44 определяет наименьший номерэлемента 40, где обнаружена свободнаястрока. Если свободная строка в таблице перехода обнаружена (закрытоесостояние элемента И 41), то во вто9666 ром такте микрокоманды осуществляется переход к выполнению поиска значений свободной расстановки для рассмат. риваемого пакета магнитных дисков, который осуществляется следующим образом.Поиск .значений свободных расстановок осуществляется в узле 46 индикации свободных расстановок, В первом такте первой микрокоманды осуществляется 10 17 18 95 35В последующих микрокомандах устанавливается сигнал на управляющем 31 узла 46, который, обеспечивает передачу содержимого регистров 73 через коммутатор 67 на адресные входы элементов памяти 69. В первом такте каждой из этих микрокоманд осуществляется сдвиг информации в сдвигаюшем регистре 77. Кроме этого, производится чтение информациид из соответствующих элементов памяти 69. Информация во всех элементах памяти 69, кроме последнего определяет группу свободных цилиндров на пакете магнитных дисков, В первом элементе памяти 69 находятся идентификаторы .Пзанятости для отдельного цилиндра. СЪпомощью соответствующего узла приори, тета 70 определяется наименьший номер группы цилиндров, которая является свободной для назначения сегментов. С .55 помощью соответствующих шифраторов 72 формируется двоичный код номера группы цилиндров. Во втором такте каждой из этих микрокоманд сформированный код.установка старшего разряда сдвигаюшегорегистра 77, Кроме этого, производится чтение информации из последнего группы элемента памяти 69, каждый разрядкоторой определяет номер записи на одной дорожке магнитных дисков. (Записьс номером нуль на каждой дорожке магнитных дисков описывает состояние дорожки и не используется для назначения сегментов). С помощью соответствуюшего узла приоритета 70 определяетсянаименьший номер записи на дорожкахмагнитных дисков, которая являетсясвободной для назначения сегментов. Спомощью соответствующего шифратора 2572 формируется двоичный код номеразаписи, Во втором такте первой микрокоманды сформированный код номера записи устанавливается в соответствующемрегистре 73. Если свободных номеров 50записей нет, то открывается последнийэлемент И 68, сигнал с выхода которого указывает, что значений свободныхрасстановок нет. номера группы цилиндров устанавливается в регистрах 73. Общее число выполняемых микрокоманд определяется количеством элементов памяти 69.После установки всех регистров 73 производится определение - находится ли полученное значение свободной расстановки, определяющее местонахождение сегмента на пакете, в пределах пакета магнитных дцсков заданного типа, Код определяющий тип пакета магнитных дис ков, считывается из счетчика 16 в регистр 17 и поступает с выхода соответствующих разрядов регистра 17 на входы уменьшаемого вычитателей 74 и 78 На входе уменьшаемого.вычитателя 74 устанавливается двоичный код константы 199, 1, определяющей максимальный номер цилиндра магнитных дисков. На входе уменьщаемого вычитателя 78 устанавливается двоичный код константы 1 для пакетов объемом 29 Мбайт или двоичный код константы 6 о 1 для пакетов объемом 100 Мбайт. Если разность, полученная хотя бы одним из вычитате лей 74 или 78, является отрицательным числом, то это свидетельствует о том, что адреса, находящиеся в регистрах 73 узла 46, превышают значения, определяемые данным типом пакета магнитных дисков. Сигнал с выхода элемента ИЛИ 75 определяет, что свободных расстано вок не найдено. В остальных случаях значение свободной расстановки для данного пакета магнитных дисков находится в Ьгистрах 73 узла 46.Далее продолжается процедура поиска свободной строки в сегментной таблице,Если узлом индикации свободных расстановок 46 определено отсутствие свободной расстановки для данного пакета магнитных дисков, то осуществляется переход к выполнению первой микрокоманы процедуры поиска свободной строки сегментной таблицы. Если узлом индикации свободных расстановок 46 определено значение свободной расстановки, то в первом тактв очередной микрокомаиды производится установка в сдвигаюшем регистре 47 значе ния с выхода узла приоритета 44, определяющего номер элемента 40, где обнаружена свободная строка таблицы перехода. Во втором такте этой микрокоманды производится запись значения расстановки в соответствующий элемент 40. После этого в первом такте следующей . микрокоманды записанное значение рас
СмотретьЗаявка
3260104, 09.01.1981
ПРЕДПРИЯТИЕ ПЯ М-5339
ЗАБЛОЦКИЙ ВЛАДИМИР НИКОЛАЕВИЧ, ЦЕСИН БОРИС ВУЛЬФОВИЧ
МПК / Метки
МПК: G06F 9/36
Метки: адреса, адресов, дисках, логических, магнитных, памяти, трансляции
Опубликовано: 15.10.1982
Код ссылки
<a href="https://patents.su/16-966695-ustrojjstvo-dlya-translyacii-logicheskikh-adresov-v-adresa-pamyati-na-magnitnykh-diskakh.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для трансляции логических адресов в адреса памяти на магнитных дисках</a>
Предыдущий патент: Микропрограммное устройство управления с контролем переходов
Следующий патент: Многоканальное устройство для обслуживания запросов в порядке их поступления
Случайный патент: Стенд для исследования сцепных свойств пневматической шины с грунтом