Устройство для управления оперативной памятью
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике, в частности к системам с иерархией адресов, и может быть применено в вычислительных машинах и системах с виртуальной памятью . Целью изобретения является повышение быстродействия устройства. Устройство содержит входной, выходной и буферный регистры данных, регистр адреса, регистр признаков, блок памяти страниц, блок местного управления, три коммутатора, счетчик и блок модификации адресов, который содержит накопитель логических адресов , накопитель базовых адресов, элемент сравнения, коммутатор, дешифратор , элемент И, триггеры и группу элементов И. Устройство выполняет распределение оперативной памяти и динамическую модификацию логических адресов пользователей в физические адреса оперативной памяти. Быстродействие повышается за счет исключения дополнительных преобразований адресов, для чего в качестве интерфейса между логическими и физическими адресами вводится одноуровневое адресное пространство, которое постранично размещается в оперативной памяти. Отображение сегментов логических адресов осуществляется с помощью таблицы сегментов, начало которой хранится в буферном регистре данных , номер сегмента поступает на регистр адреса, уникальные адреса одноуровневой п 1мяти определяются счетчиком . Логические адреса поступают в регистр адреса. Физический адрес страницы формируется из базового адреса , хранящегося в накопителе базовых адресов, и смещения, поступающего из регистра адреса. 1 з.п. ф-лы, 4 ил. с (5 (Л ко со о IsD
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (5D 4 G.06 F 1 /Оф
OllHCAHHE ИЗОБРЕТЕНИЯ
ЯЮ 3} %}фй, ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
90 ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 3954181/24-24 (22) 16.09.85 (46) 23.02.87. Бюл. N - 7 (72) В.Н.Заблоцкий и Б.В.Цесин(53) 681.327(088.8) (56) Катцан Г. Вычислительные машины системы 370. — M.: Мир, 1974, с. 410-436.
Авторское свидетельство СССР
))} 955076, кл. G F 13/06, 1980. (54) УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ОПЕРАТИВНОЙ ПАМЯТЬЮ (57) Изобретение относится к вычислительной технике, в частности к системам с иерархией адресов, и может быть применено в вычислительных машинах и системах с виртуальной памятью. Целью изобретения является повышение быстродействия устройства.
Устройство содержит входной, выходной и буферный регистры данных, регистр адреса, регистр признаков, блок памяти страниц, блок местного управления, три коммутатора, счетчик и блок модификации адресов, который содержит накопитель логических адресов, накопитель базовых адресов, эле„„SU„„1291992 А 1 мент сравнения, коммутатор, дешифратор, элемент И, триггеры и группу элементов И. Устройство выполняет распределение оперативной памяти и динамическую модификацию логических адресов пользователей в физические адреса оперативной памяти. Быстродействие повышается эа счет исключения дополнительных преобразований адресов, для чего в качестве интер— фейса между логическими и физическими адресами вводится одноуровневое адресное пространство, которое постранично размещается в оперативной памяти. Отображение сегментов логических адресов осуществляется с поЯ мощью таблицы сегментов, начало которой хранится а буферном регистре дан- (/) ных, номер сегмента поступает на регистр адреса, уникальные адреса одноуровневой памяти определяются счетчиком. Логические адреса поступают в регистр адреса. физический адрес страницы формируется из базового ад- Я реса, хранящегося в накопителе базо- Я вых адресов, и смещения, поступающе- »„ го из регистра адреса. 1 з.п. ф-лы, цр
4 ил.
1 1291992 2
Изобретение относится к вычислительной технике, в частности к системам с иерархией адресных пространств, и может быть использовано в вычислительных машинах и системах, обеспечивающих множественную виртуальную память.
Цель изобретения — повышение быстродействия устройства. f0
На фиг. 1 представлена функциональная схема предлагаемого устройства; на фиг. 2 — функциональная схема блока модификации адресов; на фиг.3 функциональная схема блока местного управления; на фиг.4 — функциональная .схема блока памяти страниц.
Устройство для управления оперативной памятью 1 (фиг. 1) содержит входной регистр 2 данных, выходной 20 регистр 3 данных, регистр 4 адреса, регистр 5 признаков, блок 6 местного управления, блок 7 памяти страниц, блок 8 модификации адресов, счетчик 9, буферный регистр 10 данных, коммута- 25 торы 11 — 1.3 с первого по третий, а также входы 14 и выходы 15 данных, адресные входы 16, информационный выход l?, вход 18 команд и вход 19 синхронизации устройства, выходы 20-22 30 с первой по третью группы регистра 4 адреса, первый 23 и второй 24 выходы, первый 25 и второй 26 входы блока 6 местного управления.
Б ок 8 модификации адресов (фиг.2) содержит накопитель 27 логических адресов, накопитель 28 Сазовых адресов, элемент 29 сравнения, элемент
И 30, коммутатор 31, дешифратор 32, группу элементов И 33 и триггеры 34. 40
Кроме того, устройство содержит (фиг. 1 и 2) адресные входы 35 и выходы 36 блока / памяти страниц, адресные выходы 37 и входы 38 и 39 блока 8 модификации адресов. 45
Блок 6 местного управления (фиг. 3) содержит регистр 40 команд, формирователь 41 синхросигналов, формирова— тель 42 потенциальных сигналов, триггеры 43-46, элементы И 47-53, элемен- 50 ты ИЛИ 54-56.
Блок 7 памяти страниц (фиг. 4) содержит накопитель 57 признаков, НВКо питель 58 состояния изменения, накопитель 59 обращений, коммутаторы 6061, элементы 62 сравнения, элементы
63 неравнозначности, элементы И 6471, элементы ИЛИ 72-75, а также выходы 76 †?8 накопителя 57. Блок 7 rra— мяти страниц содержит также накопитель 79 адресов.
Устройство работает следующим образом.
Для установки устройства в исходное состояние на вход 18 поступает потенциальный сигнал сброса, который осуществляет. сброс триггера 44 (фиг.3), содержащего признак занятости устрой1 ства, и запускает формирователь 42, с выхода которого сигналы поступают на входы сброса триггеров 34 (фиг.2) и счетчика 9 (фиг. 1) .
Устройство выполняет распределение физической памяти 1 и динамическую модификацию логических адресов адресных пространств, генерируемых при функционировании операционных систем множественной виртуальной памяти в физические адреса оперативной памяти 1. С целью исключения дополнительных преобразований адреса, обусловленных перемещением в иерархии адресных пространств, в качестве интерфейса между логической и физической памятями вводится одноуровневое адресное-пространство, объем которого достаточен для отображения логических адресных пространств пользователей, создаваемых в течение непрерывной работы операционной системы без повторного использования адресов. Логические адресные пространства посегментно отображаются на одноуровневое адресное пространство, которое постранично размещается в оперативной памяти 1 по запросам. Отображение сегментов логического адресного пространства любого уровня иерархии производится непосредственно на одноуровневое адресное пространство, минуя промежуточные отображения на логические адресные пространства более низкого уровня иерархии, и осуществляется с помощью таблицы сегментов, начало которой в оперативной памяти 1 хранится в регистре 10. В строке таблицы сегментов хранится адрес одноуровневого адресного пространства, назначенный логическому сегменту, а также признаки защиты сегментов.
Загрузка режимов работы устройства осуществляется при занесении кода операции в регистр 40. Код микроприказа поступает на вход 18. По синхросигналу Т, при условии отсутствия занятости устройства (триггер 44
1291992 сброшен) открывается элемент И 49, сигнал с выхода которого поступает на синхровход регистра 40, разрешая занесение. Этот же сигнал использует- . ся для сброса триггера 46, содержащий признак переадресации. Каждый разряд регистра 40 определеяет соответствующий режим реботы устройства. Установка одного из битов регистров 40 через элемент ИЛИ 54 формиру- 10 ет сигнал запроса, по которому сигнал с выхода триггера 44 запрещает прием кода следующей операции, если операция выполняется за два цикла синхронизации. В этом случае блокиру- 15 ется прохождение синхросигнала Т че1 рез элемент И 50. Если операция выполняется за два цикла, по синхросигналу Т устанавливается триггер 45 и сбрасывается триггер 43. Сброс триг-20 гера 44 осуществляется по переднему ц>ронту синхросигнала Т, разрешая прием информации в регистр 40 по синхросигналу Т„ через элемент И 50.
Исключение составляют режимы Чтение памяти" и "Запись в память" при отсутствии признака переадресации (триггер 46 не установлен) в первом цикле синхронизации. В этом случае открыты элемент ИЛИ 56 и элемент И 49.30
Сигнал с выхода элемента И 51 закры— вает элемент И 5?. В этом случае сброс триггера 44 осуществляется по переднему фронту синхросигнала Т во втором цикле синхронизации, так 35 как сигнал с выхода триггера 43 закрывает элементы И 49 и 51, что открывает элемент И 52, сигнал с выхода которого через элемент ИЛИ 55 по— ступает на вход триггера 44. 40
Режим загрузки логического пространства предназначен для переключения логических адресных пространств пользователей. Производится установ.— ка регистра 10, содержимое которо "î 45 указывает начало таблицы сегментов выбираемого логического адресного пространства, а также перевод в недействительное состояние всех строк накопителей 27 и 28 в блоке 8 (фиг.2) 50 путем сброса триггеров 34.
Информация, которая должна записаться в регистр 10, поступает с входов 14 на коммутатор 12 и по синхросигналу Т при установленном тригге- 55
1 ре 43 пгинимается в регистр 2, а по синхросигналу Т содержимое регистра 2 переписывается в регистр 10. Одновременно с этим потенциальный сигнал признака режима поступает на .входы триггеров 34. Операция выполняется за один цикл синхронизации.
Режим загрузки сегмента предназначен для присвоения логическому сегменту уникального адреса и размещения его в соответствующей таблице сегментов, начало которой опеределяется содержимым регистра 10. Кроме того, в таблице сегментов размещаются параметры защиты сегмента: блокировка защиты или защита по записи.
Уникальные адреса одноуровневой памяти определяются содержимым счетчика 9.
Номер отображаемого логического сегмента поступает с входа 16 в регистр 4 и по синхросигналу Т при
1 установленном триггера 43 принимается в регистр 4. Информация, определяющая параметры защиты, поступает с младших разрядов входа 14 и в совокупности с содержимым счетчика 9, выходы которого являются группой старших разрядов, через другой вход коммутатора 12 (при наличии сигнала логической единицы с выхода 23) поступает в регистр 2 по синхросигналу Т при установленном триггере 43.
Содержимое счетчика 9 модифицируется во время синхросигнала Т, поступаю— щего с выхода 24 на синхровход счетчика 9. Во время синхросигнала Тустанавливается регистр 5, состояние которого определяется сигналом переполнения счетчика 9 с его выхода переноса, который в качестве признака результата определяет, что одноуровневое адресное пространство исчерпаАо для отображения логических сегментов. Через коммутатор 11 на адресный вход памяти 1 поступает физический адрес требуемой строки таблицы сегментов, образованный как совокупность начального адреса таблицы сегментов (из регистра 10) и индекса сегмента с выходов 20 регистра 4). . Запись содержимого регистра 2 в память 1 производится по синхросигналу Т6., поступающему на синхровход памяти 1 с выхода 24.
Модифицированное содержимое счетчика 9 через коммутатор 13 по синхросигналу Т поступает в регистр 3, сохраняется в нем и поступает на выход 15.
Режим пЗапись адреса" предназначен для загрузки таблицы страниц, 129199
5 размещенной в накопителях 79, 57
59 (фиг. 4) блока 7. Информация, которая должна записываться в соответствующую строку накопителей 56 и 57, поступает с входа 14 через коммута5 тор 12 в регистр 2, где фиксируется по сигналу, поступающему «a его синхровход. Информация в накопитель 79 поступает с группы старших разрядов, а в накопитель 57 — с младших разря- 1р дов регистра 2. В накопители 58 и 59 записываются нули.
Адрес страницы, соответствующий номеру строки накопителей 79, 57-59, поступает с входа 16 на регистр 4.
Содержимое регистра 4 через коммутатор 11 поступает на адресные входы накопителей 79, 57-59 на управляющие входы которых подается сигнал записи во время синхросигнала Т„ . 2p
Режим "Чтение адреса предназначен для считывания строк таблицы страниц, размещенной в блоке 7. Выбор строк накопителей 57-59 и 79 осуществляется также, как в режиме "За- 25 лись адреса". Считанная из накопителей 79, 57-59 информация подается на вход коммутатора 13 (при наличии потенциального сигнала на управляющем его входе, поступающем с выхо- 30 да 23) и затем — на вход регистра 3 во время синхросигнала Т с выхо6 да 24. С выхода регистра 3 информация поступает на выход 15. Режим сброса бита обращения используется управляющей про граммой операционной системы для определения частоты обра— щения к страницам. Во время синхросигнала Т сигнал с выхода 24 поступает на вход блока 7, в результате 40 записывается входная информация в выбранную ячейку накопителя 59.
В режиме Запись в память" входная информация записывается в оперативную память 1. Выполняется динамическая модификация адресов, проверка параметров защиты и установка признаков результата операции.
Информация, которая должна записываться в память 1, поступает с вхо- gp да 14 на коммутатор 12, откуда заносится в регистр 2, с выхода которого подается на вход данных памяти 1.
Логический адрес с входа 16 поступает в регистр 4 также, как и при за- 55 писи адреса.
Логический адрес страницы образованный совокупностью индекса сегмента с выходов 20 и индекса страницы
2 6. с выходов 21, поступает на входы 38 блока 8. Группа младших разрядов входа 38 используется для адресации накопителей 27 и 28 (фиг. 2). Группа старших разрядов логического адреса страницы и содержимое выбранной строки накопителя 27 сравниваются между собой с помс>щью элемента 29 сравнения. С выхода дешифратора 32 на выход коммутатора 31 поступает признак действительности выбранной строки, хранящийся в соответствующем триггере 34. Если совпадение произошло и информация в выбранной строке действительна, открывается элемент И 30, сигнал с выхода которого устанавливает триггер 46, содержащий признак переадресации, по синхросигналу Т
У поступающему на вход триггера 46через открытые элементы И 49, 53 и элемент ИЛИ 56. В остальных случаях триггер 46 не устанавливается.
При установке триггера 46 базовый адрес страницы считывается из соот— ветствующей строки накопителя 28 и в совокупности с группой разрядов смещения с выходов 22 регистра 4 че— рез коммутатор 11 при наличии призна— ка переадресации на выходе 23 посту— пает на вход оперативной памяти 1 и на адресный вход блока 7.
Установка триггера 46 закрывает элемент И 51, сигнал с выхода которо— го во время синхросигнала Т откры5 вает элемент И 52 и через элемент
ИЛИ 55 обеспечивает сброс триггера 44.
Обращение к оперативной памяти 1 в этом случае осуществляется за один цикл синхронизации.
В блоке 7 осуществляется проверка параметров защиты и установка признаков результата.
Запись в память 1 производится во время синхросигнала Т при отсут6 ствии ошибки записи (не установлен соответствующий разряд регистра 5, поступающий на вход 26 блока 6) по сигналу, поступающему с входа 23 на вход памяти 1. При ошибке защиты запись в память 1 не производится.
Если триггер 46 сброшен, осуществляется процедура переадресации.
Для этого через коммутатор 11 на вход оперативной памяти 1 поступает совокупность содержимого регистра 10 и индекса сегмента с выходов 20 регистра 4, определяющие строку таблицы сегментов соответствующего ло1 291992 гического адресного пространства, по сигналу с выхода 23 блока 6. Информация, считанная из оперативной памяти 1, через коммутатор 13 поступает на вход регистра 3, в который записывается по поступающему на его синхровход синхросигнал Т . Совокуп6 ность содержимого регистра 3 и ин-декса страницы с выходов 21 регистра 4 образует адрес требуемой логи- 10 ческой страницы с одноуровневым адресным пространством.
При отсутствии установки триггера 46 в первом цикле синхронизации (установлен триггер 43) открывается элемент И 51, сигнал с выхода которого закрывает элемент И 52, запрещая сброс триггера 44 в первом цикле синхронизации и разрешая установку триггера 45 во время синхросигнала
Т (второй цикл синхронизации).
Во в гором цикле синхронизации адрес одноуровневого адресного пространства, поступающий на вход 35 блока 7 с помощью элементов 63 неравнозначность (фиг. 4), преобразуется в код, разрядность которого соответствует разрядности физического адреса страницы оперативной памяти 1.
Информация с выхода элементов 63 неравнозначность через коммутатор 60 (при отсутствии сигнала на его управляющем входе) поступает на адресные входы накопителей 57-59, 79 блока 7.
Информация, считанная из накопите- 35 ля 79, сравнивается с адресом страницы одноуровневой памяти, поступившим на вход 35 с помощью элемента 62 сравнения.
В случае совпадения (при установленном бите действительности строки на выходе 76 накопителя 57) открываются элемент И 64 и элемент ИЛИ 72. Сигнал с выхода элемента ИЛИ 72 устанавливает признак "Данные в памяти", 45 а информация с выхода элементов 63 неравнозначность, соответствующая физическому адресу страницы памяти 1, с выхода 36 блока 7 через коммутатор 11 поступает на вход оперативной памяти 1 и на вход 39 блбка 8.
В блоке 8 по адресу, определяемому группой младших разрядов логического адреса, с входа 38 в накопители 27 и 28 записываются соответственно группа старших разрядов логического адреса и физический адрес с входа 39. Кроме этого устанавливается признак действи гельности строки путс и установки соответствующего триггера 34, выбранного дешифратором 32 че— рез открытый элемент И 33.
Если элементом 62 сравнения не определено соответствие или выбранная строка таблицы страниц недействительна (сигнал на выходе 76 накопителя 57 равен нулю), закрывается элемент И 64 и не устанавливается признак Данные в памяти . В результате этого не производится запись в накопите 1H 58 и 59, в память 1 и не производится карре кция соде ржимо го и акопителей 27 и 28 в блоке 8.
В режиме ™Чтение" информация считывается из памяти 1 и помещается в регистр 3. Выполняется динамическая модификация адресов и установка признаков результата операции.
Логический адрес, поступающий с входа 16, преобразуется и поступает на вход памяти 1 также, как и при записи в памяти.
Если триггер 46 установлен, данные считываются из памяти 1 и принимаются в регистр 3. Запись в накопитель 59 производится аналогично режиму "3aпись в память". Запись в накопитель 58 не производится, так как закрыт элемент И 68, управляющий записью в накопитель 58, а также элемент И 65, вырабатывающий признак "Ошибка записи".
Если триггер 46 не установлен, данные из памяти 1 считываются во втором цикле синхронизации и принимаются в регистр 3 также, как и в первом цикле.
Функционирование блоков 7 и 8 соответствует режиму Запись в память
Формула изобретения
1. Устройство для управления оперативной памятью, содержащее входной и выходной регистры данных, регистр адреса, регистр признаков, блок местного управления и блок памяти страниц, управляющий вход которого подключен к первому выходу блока местного управления, второй выход которого соединен с входами синхронизации блока памяти сграниц, регистра адреса, регистра признаков, входного и выходного регистров данных, о т л ич а ю щ е е с я тем, что, с целью повышения быстродействия устройства. в него введены блок модификации адресов, счетчик, буферный регистр данных и коммутаторы, причем выходы первого коммутатора подключены к одним из адресных входов блока памяти страниц и блока модификации адресов,, другие адресные входы которого соединены с выходами первой и второй групп регистра адреса, выходы второго коммута-,îðà соединены с информационными входами входного регистра данных, выходы которого подключены к входам данных блока памяти страниц и входам буферного регистра данньгх, выходы которого и выходы первой группы регистра адреса подключены к входам первой группы первого коммутатора, входы второй группы которого соединены с одними из выходов третьей группы регистра адреса и адресными выходами блока памяти страниц, информационные выходы которого и выходы счетчика подключены к одним из входов третьего коммутатора, выходы которого соединены с информационными входами выходного регистра данных, другие адресные входы блока памяти страниц подключены соответственно к 3/ ) выходам выходного регистра данных и выходам второй группы регистра aJIpc.—
ca, выходы с первой ло трс- тью гр /п11 которого соединены с входами тре ьой группы первого коммутатора, входы четвертой группы которого подключены к выходам третьей группы регистра адреса и адресным выходам блока -/оцификации адресов. Ннформацион13ый выход входы сброса и синхронизания ко,4 j) торого соединены соответственно с -е, -
ВЫМ ВХОДОМр С ПЕРВЫМ И ВГОР//1М 136IXO дами блока местного управления, выхог1, переноса счетчика и управляющие выхо-ды блока памяти страниц подключены
// r к входам регистра признаков, выход ко" з торого соединен с вторым входом блока местного управления, первый выход которого подключен к управляющим вхо-. дам коммутаторов и входу сброса счет/ О чика, входы синхронизации счетчика и буферного регистра данных соединены с BTopbIM В61хОДОМ блОка ме с тн0 1 О у пp ÉBления, одни из входов второго комму-. татора подключены к выходам счетчика, а другие входы являются входами дан13ьгх устройства, адресными входами и информационным выходом которого являются входы регистра адреса и выход регистра признаков, выходы выходного регистра данных являются выходами данных устройства, входом команд, входом и выходом синхронизации которого являются соответственно третий и четвертый входы и второй выход блока местного управления, выходы входного регистра да11ных и первого коммутатора являются KQHTpoëbIIûìè выходами устройства, контрольными входами которого являются другие входы третьего коммутатора.
2. Устройство по и. 1, о т л ич а ю щ е е с я тем, что блок модификации адресов содержит накопитель логических адресов, накопитель базовых адресов, элемент сравнения, элемент И, коммутатор, дешифратор, триггеры и группу элементов И, причем входы сброса триггеров являются входом сброса блока, входом синхронизации котозого являются первые входы злемент013 И Группь| J/праВляюшие входы н/акопителя логических адресов !
GKoIIèòåëB базовых адресов, информационные Входы и выходы которого являк1тся оцни1 I из адресных входов и адресными В61ходами блока, адресные
3J:oäb1 накопите:.BIjI и входы дешифратора являются млацшими разрядами другнх адреснь1Х входов блока, а информационные входы накопителя логических адресов и одни из Входов злемента сравнения — старп1ими разрядами
jI!J у1 их адресных ВхО;1ОВ блока, инфОР11а ДНОННЫМ Бь|Х/013 ОМ которо го JIB JIB C TO II г61ход злеме13та И, первый вход которого подключен к выходу элемента сравнения другие ВхОды кОтОрОГО соединены с выхопа;113 накопителя логических адресов.. Выход дешифратора подключен к вторь м входам элементов
И группы и управляющему входу коммутатора, в61хоц которого соединен с вторым входом элемента И, а вхопы подключены к вь1ходам триггеров. установочные Входы которых подключены к выходам з. ементов И группы.
1291992
1291992 м л г
Составитель Т. Зайцева
Техред И.Попович Корректор M.Ëeì÷èê
Редактор Н. Рогулич
Заказ 272/48 Тираж 673 Подписное.
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб., д. 4/5
Производственно-полиграфическое предприятие, г.ужгород, ул.Проектная, 4