Изобретение относится к вычисли- , тельной технике, в частности к системам с иерархией адресных пространств, и может быть использовано в вычислительных машинах и системах, обеспечивающих множественную виртуальную память. I
Цель изобретения - повышение быстродействия устройства.
На фиг. 1 представлена функциональная схема предлагаемого устройства; на фиг. 2 - функциональная схема блока модификации адресов; на фиг.З - функциональная схема блока местного управления; на фиг,4 - функциональная схема блока памяти страниц.
Устройство Для управления оперативной памятью 1 (фиг. 1) содержит входной регистр 2 данных, выходной регистр 3 данных, регистр 4 адреса, регистр 5 призЕ1аков, блок 6 местного управления, блок 7 памяти страниц, блок 8 модификации адресов, счетчик 9 буферный регистр 10 данных, коммута- торы 11-13 с первого по третий, а также входы 14 и выходы 15 данных, адресные входы 16, информационньм выход 17, вход 18 команд и вход 19 синхронизации устройства, выходы 20-22 с первой по третью группы регистра 4 адреса, первый 23 и второй 24 выходы первый 25 и второй 26 входы блока 6
Устройство выполняет распределение физической памяти 1 и динамическую модификацию логических адресов адресных пространств, генерируемых при функционировании операционных систем множественной виртуальной па- мя-ви в физические адреса оперативной памяти 1. С целью исключения дополнительных преобразований адреса, обусловленных перемещением в иерархии адресных пространств, в качестве интерфейса между логи ческой и физической па мяТ Ями вводится одноуровневое адреснЬё -пространство, объем которого достаточен для отобр жения логических адресных пространств пользователей, создаваемых в течение непрерывной работы операционной системы без повторного использования адресов. Логические адместного управления.
„ ,, ,/J. п ресные пространства посегментно отБюк 8 модификации адресов (.фиг.2;
содержит накопитель 27 логических
ображаются на одноуровневое адресное пространство, которое постранич но размещается в оперативной памяти по запросам. Отображение сегментов логического адресного пространства любого уровня иерархии производится непосредственно на одноуровневое адресное пространство, минуя промежуточные отображения на логические адресные пространства более низкого уровня иерархии, и осуществляется с помощью таблицы сегментов, начало которой в оперативной памяти 1 хранится в регистре 10. В строке табли цы сегментов хранится адрес одноуров невого адресного пространства, на- значенньй логическому сегменту, а также признаки защиты сегментов.
адресов, накопитель 28 базовых адресов, элемент 29 сравнения, элемент И 30, коммутатор 31, дешифратор 32, группу элементов И 33 и триггеры 34.
Кроме того, устройство содержит (фиг. 1 и 2) адресные входы 35 и выходы 36 блока / памяти страниц, адресные выходы 37 и входы 38 и 39 блока 8 модификации адресов.
Блок 6 местного управления (фиг.З) содержит регистр 40 команд, формирователь 41 синхросигналов, формирователь 42 потенциальных сигналов, триггеры 43-46, элементы И 47-53, элемен- ты ИЛИ 54-56.
Блок 7 памяти страниц (фиг. 4) содержит накопитель 57 признаков, накопитель 58 состояния изменения, накопитель 59 обращений, коммутаторы 60- 61, элементы 62 сравнения, элементы 63 неравнозначности, элементы И 64- 71, элементы ИЛИ 72-75, а также выходы 76-78 накопителя 57. Блок 7 памяти страниц содержит также накопитель 79 адресов.
Устройство работает следующим образом.
Для установки устройства в исходное состояние на вход 18 поступает потенциальный сигнал сброса, который осуществляет:сброс триггера 44 (фиг.З) содержащего признак занятости устройства, и запускает формирователь 42, с выхода которого сигналы поступают на входы сброса триггеров 34 (фиг.2) и счетчика 9 (фиг. 1).
Устройство выполняет распределение физической памяти 1 и динамическую модификацию логических адресов адресных пространств, генерируемых при функционировании операционных систем множественной виртуальной па- мя-ви в физические адреса оперативной памяти 1. С целью исключения дополнительных преобразований адреса, обусловленных перемещением в иерархии адресных пространств, в качестве интерфейса между логи ческой и физической па мяТ Ями вводится одноуровневое адреснЬё -пространство, объем которого достаточен для отображения логических адресных пространств пользователей, создаваемых в течение непрерывной работы операционной системы без повторного использования адресов. Логические адображаются на одноуровневое адресное пространство, которое постранично размещается в оперативной памяти 1 по запросам. Отображение сегментов логического адресного пространства любого уровня иерархии производится непосредственно на одноуровневое адресное пространство, минуя промежуточные отображения на логические адресные пространства более низкого уровня иерархии, и осуществляется с помощью таблицы сегментов, начало которой в оперативной памяти 1 хранится в регистре 10. В строке таблицы сегментов хранится адрес одноуровневого адресного пространства, на- значенньй логическому сегменту, а также признаки защиты сегментов.
Загрузка режимов работы устройства осуществляется при занесении кода операции в регистр 40. Код микроприказа поступает на вход 18. По синхросигналу Т при условии отсутствия занятости устройства (триггер 44
3
сброшен) открывается элемент И 49, сигнал с выхода которого поступает на синхровход регистра 40, разрешая занесение. Этот же сигнал используе ся для сброса триггера 46, содержа- щий признак переадресации. Каждый разряд регистра 40 определеяет соответствующий режим реботы устройства. Установка одного из битов регисров 40 через элемент ИЛИ 54 формиру ет сигнал запроса, по которому сигнал с выхода триггера 44 запрещает прием кода следующей операции, если операция выполняется за два цикла синхронизации. В этом случае блокиру
ется прохождение синхросигнала Т. через элемент И 50. Если операция выполняется за два цикла, по синхросигналу Т устанавливается триггер 45 и сбрасывается триггер 43. Сброс триг гера 44 осуществляется по переднему фронту синхросигнала T,j , разрешая прием информации в регистр 40 по синхросигналу Т через элемент И 50. Исключение составляют режимы Чтение памяти и Запись в память при отсутствии признака переадресации (триггер 46 не установлен) в первом цикле синхронизации. В этом случае открыты элемент ИЛИ 56 и элемент И 49 Сигнал с выхода элемента И 51 закрывает элемент И 52. В этом случае сброс триггера 44 осуществляется по переднему фронту синхросигнала Т во втором цикле синхронизации, так как сигнал с выхода триггера 43 закрывает элементы И 49 и 51, что открывает элемент И 52, сигнал с выхода которого через элемент ИЛИ 55 поступает на вход триггера 44.
Режим загрузки логического пространства предназначен для переключения логических адресных пространств пользователей. Производится установка регистра 10, содержимое которого указывает начало таблицы сегментов выбираемого логического адресного пространства, а также перевод в недействительное состояние всех строк
накопителей 27 и 28 в блоке 8 (фиг.2) 50 мять 1
лу Tg,, памяти
путем сброса триггеров 34.
Информация, которая должна записаться в регистр 10, поступает с входов 14 на коммутатор 12 и по синхросигналу Т при установленном тригге- ре 43 принимается в регистр 2, а по синхросигналу Т содержимое регистра 2 переписывается в регистр 10. Одновременно с этим потенциальньй сигнал признака режима поступает на .входы триггеров 34. Операция выполнется за один цикл синхронизации.
Режим загрузки сегмента предназнчен для присвоения логическому сегменту уникального адреса и размещения его в соответствующей таблице сегментов, начало которой опереде- ляется содержимым регистра 10. Кроме того, в таблице сегментов размещаются параметры защиты сегмента: блокировка защиты или защита по записи.
Уникальные адреса одноуровневой памяти определяются содержимым счетчика 9.
Номер отображаемого логического сегмента поступает с входа 16 в регистр 4 и по синхросигналу Т при установленном триггера 43 принимается в регистр 4. Информация, определяющая параметры защиты, поступает с младших разрядов входа 14 и в совокупности с содержимым счетчика 9, выходы которого являются группой старших разрядов, через другой вход коммутатора 12 (при наличии сигнала логической единицы с выхода 23) поступает в рег истр 2 по синхросигналу Т при установленном триггере 43. Содержимое счетчика 9 модифицируется во время синхросигнала Т,,, поступающего с выхода 24 на синхровход счетчика 9. Во время синхросигнала Т устанавливается регистр 5, состояние которого определяется сигналом переполнения счетчика 9 с его выхода переноса, который в качестве признака результата определяет, что одноуровневое адресное пространство исчерпа- яо для отображения логических сегментов. Через коммутатор 11 на адресный вход памяти 1 поступает физический адрес требуемой строки таблицы сегментов, образованньм как совокупность начального адреса таблицы сегментов (из регистра 10) и индекса сегмента с выходов 20 регистра 4). Запись содержимого регистра 2 в память 1
производ11тся по синхросигналу Tg,, поступающему на синхровход памяти 1 с выхода 24,
Модифицированное содержимое счетчика 9 через коммутатор 13 по синхросигналу Tg поступает в регистр 3, сохраняется в нем и поступает на выход 15.
Режим Запись адреса предназначен для загрузки таблицы страниц.
512
размещенной в накопителях 79, 57 - 59 (фиг. 4) блока 7. Информация, которая должна записываться в соответствующую строку накопителей 56 и 57, поступает с входа 14 через коммутатор 12 в регистр 2, где фиксируется по сигналу, поступающему на его син- хровход. Информация в накопитель 79 поступает с группы старших разрядов,, а в накопитель 57 - с младших разрядов регистра 2. В накопители 58 и 59 записываются нули.
Адрес страницы, соответствующий номеру строки накопителей 79, 57-59, поступает с входа 16 на регистр 4. Содержимое регистра 4 через коммутатор 1 1 поступает на адресные входы накопителей 79, 57-59, на управляющие входы которых подается сигнал записи во время синхросигнала Т .
Режим Чтение адреса предназначен для считывания с ррок таблицы страниц, размещенной в блоке 7. Выбор строк накопителей 57-59 и 79 осуществляется также, как в режиме Запись адреса. Считанная из накопителей 79, 57-59 информация подается на вход коммутатора 13 (при наличии потенциального сигнала на управляющем его входе, поступающем с выхода 23) и затем - на вход регистра 3 во время синхросигнала Т с выхода 24 . С выхода регистра 3 информация поступает на выход 15. Режим сброса бита обращения используется управляющей программой операционной системы для определения частоты обращения к страницам. Во время синхросигнала Tg сигнал с выхода 24 поступает на вход блока 7, в результате записывается входная информация в выбранную ячейку накопителя 59.
В режиме Запись .в память входная информация записывается в оперативную память 1. Выполняется динамическая модификация адресов, проверка параметров защиты и установка признаков результата операции.
Информация, которая должна записываться в память 1, поступает с входа 14 на коммутатор 12, откуда заносится в регистр 2, с выхода которого подается на вход данных памяти 1.
Логический адрес с входа 16 поступает в регистр 4 также, как и при записи адреса.
Логический адрес страницы образо- ванньй совокупностью индекса с егмен- та с выходов 20 и индекса страницы
992ь
с выходов 21, постуггает на входы 38 блока 8. Г руппа младших разрядов входа 38 используется для адресации накопителей 27 и 28 (фиг. 2). Группа
старших разрядов логического адреса страницы и содержимое выбранной строки накопителя 27 сравниваются между собой с помощью элемента 29 сравне- ния. С выхода дешифратора 32 на коммутатора 31 поступает признак действительности выбранной строки, хранящийся в соответствующем триггере 34. Если совпадение произошло и информация в выбранной строке дей5 ствительна, открывается элемент И 30, сигнал с выхода которого устанавливает триггер 46, содержащий признак переадресации, по синхросигналу Т , поступающему на вход триггера 460 через открытые элементы И 49, 53 и элемент ИЛИ 56. В остальных случаях триггер 46 не устанавливается.
При установке триггера 46 базовый адрес страницы считывается из соот5 ветствующей строки накопителя 28 и в совокупности с группой разрядов смещения с выходов 22 регистра 4 через коммутатор 11 при наличии признака пере.здресации на выходе 23 посту0 пает на вход оперативной памяти 1 и на адресный вход блока 7.
Установка триггера 46 закрывает элемент И 51, сигнал с выхода которого во время синхросигнала Т открыD
зс вает элемент И 52 и через элемент
ИЛИ 55 обеспечивает сброс триггера 44. Обращение к оперативной памяти 1 в этом случае осуществляется за один цикл синхронизации.
0
В блоке 7 осуществляется проверка параметров защиты и установка признаков результата.
Запись в память 1 производится 5 во время синхросигнала Tg при отсутствии ошибки записи (не установлен соответствующий разряд регистра 5, поступающий на вход 26 блока 6) по сигналу, поступающему с входа 23 на 50 вход памяти 1. При ошибке защиты запись в память 1 не производится.
Если триггер 46 сброшен, осуществляется процедура переадресации,
Для этого через коммутатор 11 на 55 вход оперативной памяти 1 поступает совокупность содержимого регистра 10 и индекса сегмента с выходов 20 регистра 4, определяющие строку таблицы сегментов соответствующего ло
гического адресного пространства, по сигналу с выхода 23 блока 6..Hti- формация, считанная из оперативной памяти 1, через коммутатор 13 поступает на вход рег истра 3, в который записывается по поступающему на его синхровход синхросигнал Т.,. Совокупо .
ность содержимого регистра 3 и ин- декса страницы с выходов 21 регистра 4 образует адрес требуемой логи- ческой страницы с одноуровневым адресным пространством.
При отсутствии установки триггера 46 в первом цикле синхронизации (установлен триггер 43) открывается элемент И 51, сигнал с выхода которого закрывает элемент И 52, запрещая сброс триггера 44 в первом цикле синхронизации и разрешая установку триггера 45 во время синхросигнала Tf (второй цикл синхронизации).
Во втором цикле синхронизации адрес одноуровневого адресного пространства, поступающий на вход 35 блока 7 с помощью элементов 63 неравнозначность (фиг, 4), преобразуется в код, разрядность которого соответствует разрядности физического адреса страницы оперативной памяти 1.
Информация с выхода элементов 63 неравнозначность через коммутатор 60 (при отсутствии сигнала на его управляющем входе) поступает на адресные входы накопителей 57-59, 79 блока 7. Информация, считанная из накопите- ля 79, сравнивается с адресом страницы одноуровневой памяти, поступившим на вход 35 с помощью элемента 62 сравнения.
В случае совпадения (при установ- ленном бите действительности строки на выходе 76 накопителя 57) открываются элемент И 64 и элемент ИЛИ 72. Сигнал с выхода элемента ИЛИ 72 устанавливает признак Данные в памяти, а информация с выхода элементов 63 неравнозначность, соответствующая физическому адресу страницы памяти 1 с выхода 36 блока 7 через коммутатор 11 поступает на вход оперативной
памяти 1 и на вход 39 блока 8, I
В блоке 8 по адресу, определяемому группой младших разрядов логического адреса, с входа 38 в накопители 27 и 28 записываются соответственно группа старших разрядов логического адреса и физический адрес с входа 39. Кроме этого устанавливается
0
5
О
5
признак действительности строки путем установки соответствующего триггера 34, выбранного дешифратором 32 через открытый элемент И 33,
Если элементом 62 сравнения не определено соответствие или выбрар{- ная строка таб.пицы страниц недействительна (сигнал на выходе 76 накопителя 57 равен нулю), закрывается элемент И 64 и не устанавливается признак Данные в памяти. В результате этого не производится запись в накопители 58 и 59, в память 1 и не производится коррекция содержимого накопителей 27 и 28 в блоке 8.
В режиме Чтение информация считывается из памяти 1 и помещается в регистр 3. Выполняется динамическая модификация адресов и установка признаков результата операции.
Логический адрес, поступающий с входа 16, преобразуется и поступает на вход памяти 1 также, как и при записи в памяти.
Если триггер 46 установлен, данные считываются из памяти 1 и принимаются в регистр 3. Запись в накопитель 59 производится аналогично режиму Запись в память. Запись в накопитель 58 не производится, так как закрыт элемент И 68, управляющий записью в накопитель 58, а также элемент И 65, вырабатывающий признак Ошибка записи .
Если триггер 46 не установлен, данные из памяти 1 считываются во втором цикле синхронизации и принимаются в регистр 3 также, как и в первом цикле.
Функционирование блоков 7 и 8 соответствует режиму Запись в память .
0
45 Формула изобретения
1. Устройство для управления оперативной памятью, содержащее входной и выходной регистры данных, регистр адреса, регистр признаков, блок местного управления и блок памяти страниц, управляющий вход которого подключен к первому выходу блока местного управления, второй выход которого соединен с входами синхронизации блока памяти страниц, регистра адреса, регистра признаков, входного и выходного регистров данных, отличающееся тем, что, с целью
912
повышения быстродействия устройства, в него введены блок модификации адресов, счетчик, буферный регистр данных и коммутаторы, причем выходы первого коммутатора подключены к одним из адресных входов блока памяти страниц и блока модификации адресовj другие адресные входы которого соединены с выходами первой и второй групп регистра адреса, выходы второ
го коммутатора соединены с информационными входами входного регистра данных, выходы которого подключены к входам данных блока памяти страниц и входам буферного регистра данных, выходы которого и выходы первой группы регистра адреса подключены к входам первой группы первого коммутатора, входы второй группы которого соединены с одними из выходов третьей группы регистра адреса и адресными выходами блока памяти страниц, информационные выходы которого и выходы счетчика подключень к одним из входов третьего коммутатора, выходы которого соединены с информационными входами выходного регистра данных, другие адресные входы блока памяти страниц подключены соответственно к выходам выходного регистра данных и выходам второй группы регистра адреса, выходы с первой по третью групп которого соединены с входами третьей группы первого коммутатора; входы четвертой группы которого подключены к выходам третьей группы регистра адреса и адресным вькодам блока модификации адресов, информационньв т выход, входы сброса и синхронизации которого соединены с.оответстрзенно с riev вым входом, с первым и вторым выходами блока местного управления, переноса счетчика и управляющие выходы блока памяти страниц подключены к входам регистра признаков, выход ко торого соединен с вторым входом блока местного управления, первый выход которого подключен к управляющим входам коммутаторов и входу сброса счетчика, входы синхронизации счетчика и буферного регистра данных соединены с вторым выходом блока местного управления, одни из входов второго комму
10
0
5
0
.45
татора подключены к выходам счетчика, а другие входы являются входами данных устройства, адресными входами и информационным выходом которого являются входы регистра адреса и выход регистра признаков, выходы выходного регистра данных являются выходами данных устройства, входом команд, входом и выходом синхронизации которого являются соответственно третий и четвертый входы и второй выход блока местного управления, выходы входного регистра данных и первого коммутатора являются контрольными выходами устройства, контрольными входами которого являются другие входы третьего коммутатора.
2. Устройство по п, 1, отличающееся тем, что блок модификации адресов содержит накопитель логических адресов, накопитель базовых адресов, элемент сравнения, элемент И, коммутатор, дешифратор, триггеры и 5 руппу элементов И, причем входы сброса триггеров являются входом сброса блока, входом синхронизации которого являются первые входы элементов И группы, управляющие входы н.акопителя логических адресов .и накопителя базовых адресов, информационные входы и выходы которого яв- .ляштся одними из ад,ресных входов и ад.ресньми вьгхода:чи блока, адресные входы накопителей и входы дешифратора являются младшими разрядами других адресных входов блока,, а информационные входы накопителя логических адресов и одни из входов э.пемен- та сравнения -- старшими разрядами д,ру1 их адресных входов блока, информационным выхол.ом которого является выход элемента И,, первый вход которого подключен к выходу элемента сравнения, другие входы которого соединены с- выходами накопителя логических адресов, вькод дешифратора подключен к вторым входам элементов И группы и управляющему входу коммутатора, тзыход которого соединен с вторым входом элемента И, а входы подключены к выходам тр.иггероВ5 установочные В5соды KoTopbiX подключены к выходам элементов И группы.
название | год | авторы | номер документа |
---|---|---|---|
Устройство управления виртуальной памятью | 1980 |
|
SU1023336A1 |
Устройство для трансляции логических адресов в адреса памяти на магнитных дисках | 1981 |
|
SU966695A1 |
Устройство управления загрузкой микропрограмм | 1983 |
|
SU1119019A1 |
Устройство управления загрузкой микропрограмм | 1983 |
|
SU1136175A2 |
Процессор с микропрограммным управлением | 1990 |
|
SU1700564A1 |
Устройство для управления виртуальной памятью | 1980 |
|
SU955076A1 |
Устройство для сопряжения вычислительного комплекса накопителей на магнитной ленте | 1983 |
|
SU1142839A1 |
Устройство для обмена данными между группой каналов ввода-вывода и оперативной памятью | 1985 |
|
SU1280642A2 |
Микропрограммный процессор | 1985 |
|
SU1275457A1 |
Устройство регистрации программных событий памяти | 1985 |
|
SU1297065A1 |
Изобретение относится к вычислительной технике, в частности к системам с иерархией адресов, и может быть применено в вычислительных машинах и системах с виртуальной памятью. Целью изобретения является повышение быстродействия устройства. Устройство содержит входной, выходной и буферный регистры данных, регистр адреса, регистр признаков, блок памяти страниц, блок местного управления, три коммутатора, счетчик и блок модификации адресов, который содержит накопитель логических адресов, накопитель базовых адресов, элемент сравнения, коммутатор, дешифратор, элемент И, триггеры и группу элементов И. Устройство выполняет распределение оперативной памяти и динамическую модификацию логических адресов пользователей в физические адреса оперативной памяти. Быстродействие повышается за счет исключения дополнительных преобразований адресов, для чего в качестве интерфейса между логическими и физическими адресами вводится одноуровневое адресное пространство, которое постранично размещается в оперативной памяти. Отображение сегментов логических адресов осуществляется с помощью таблицы сегментов, начало которой хранится в буферном регистре данных, номер сегмента поступает на регистр адреса, уникальные адреса одноуровневой п 1мяти определяются счетчиком. Логические адреса поступают в регистр адреса. Физический адрес страницы формируется из базового адреса, хранящегося в накопителе базовых адресов, и смещения, поступающего из регистра адреса. 1 з.п. ф-лы, 4 ил. с (5 (Л ко со о IsD
39
-nSLJ I
Pf
PutJ
35OmZ
n ги
Катцан Г | |||
Разборное колесо | 1921 |
|
SU370A1 |
- М.: Мир, 1974, с | |||
Устройство анодов катодных ламп | 1923 |
|
SU410A1 |
Устройство для управления виртуальной памятью | 1980 |
|
SU955076A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Авторы
Даты
1987-02-23—Публикация
1985-09-16—Подача