Двухуровневое устройство для управления памятью микрокоманд
Иллюстрации
Показать всеРеферат
Изобретение относится к программируемым, адаптивным, распределенным системам памяти и может быть использовано в вычислительных системах динамической архитектуры, для реализации операционных систем, сложных имитаторов при построении комплексов отладки. Устройство содержит блок 1 памяти адресных микрокоманд, блок 2 памяти кодов настройки, узлы 29 операционных микрокоманд, коммутаторы 5, 6, 32 адреса, регистры 3, 4, 31 адреса, регистры 14, 15 хранения, регистры 26 выдачи, блоки 7, 8, 33 модификации адреса, группу элементов ИЛИ 13 и обеспечивает адаптивное управление процессом формирования операционных микрокоманд с оперативным изменением архитектуры и алгоритмов функционирования. 4 ил., 2 табл.
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН
С 06 F 9!44 15/38
OllHCAHHE ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
SuE00%3 l Я
ГОСУДАРСТВЕННЫЙ НОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) 4354118/24-24 (22) 02.10.87 (46) 07.10.89 Бюл. к- 37 (72) Г.В.Дворецкий, Ю.П.Обухов, В.И.Мартюгин и В.П.Беликов (53) 681.325(088.8) (56) Авторское свидетельство СССР
Р 1283798, кл, G 06 F 15/38, С 06 F 9/44, 1985.
Авторское свидетельство СССР
И 1453416., кл. G 06 F 15/38, 1987.
„„SU„„! 5! 3448 А1
2 (54) ДВУХУРОВНЕВОЕ УСТРОЙСТВО ДЛЯ
УПРАВЛЕНИЯ ПАМЯТЬЮ МИКРОКОМАНЦ (57) Изобретение относится к программируемым, адаптивным, распределенным системам памяти и может быть использовано в вычислительных системах динамической архитектуры, для реализации операционных систем, сложных имитаторов при построении комплексов отладки. Устройство содержит блок памяти адресных микрокоманд, блок 2
3 памяти кодов настройки, узлы 29 операционных микрокоманд,коммутаторы 5,6
32 адреса, регистры 3,4,31 адреса, регистры 14, .15 хранения, регистры 2 выдачи, блоки 7, 8, 33 модификации адреса, группу элементов ИЛИ 13 и
1513448 4 обеспечивает адаптивное управление процессом формирования операционных микрокоманд с оперативным изменением
6 архитектуры и алгоритмов Аункциониро5 вания. 3 ил. 2 табл..
Изобретение относится к вычислительной технике и может быть использовано для управления памятью 15 микрокоманд при реализации программируемых адаптивных, распределенных, иерархических .систем памяти в специализированных управляющих и вычислительных системах динамической архи-20 тектуры, при реализации операционных систем, сложных имитаторов при построении комплексов отладки.
Цель изобретения — повышение быстродействия и расширение функциональ- 25 ных возможностей за счет расширения средств настройки и адаптивной распределенной обработки инАормации, На фиг.1 приведена Аункциональная схема предлагаемого устройства; 30 на фиг.2 — функциональная схема блока модификации адреса, на Аиг.3 — схема перестановки операционных микропрограмм.
35 двухуровневое устройство для управления памятью микрокоманд содержит блок 1 памяти адресных микрокоманд (фиг. 1), блок 2 памяти кодов настройки, регистр 3 адреса, регистр 4 адре- 40 са кодов настройки, коммутатор 5 адреса микрокоманд, коммутатор 6 адреса кодов настройки, блок 7 модификации адреса, блок 8 модификации адреса кодов настройки, первый 9, вто- . 45 рой 10, третий 11 и четвертый 12 элементы задержки, блок 13 элементов
ИЛИ, первый 14 и второй 15 регистры хранения адресных микрокоманд, первый 16 и второй 17 регистры хранения
50 кодов настройки, первый 18 и второй 19 информационные входы устройства,первый 20 и второй 2 1 входы синхрониза. ции устройства, первый 22 и второй 23 входы установки в "0" устройства,пер- . вый 24 и второй 25 входы условий устройства, N регистров 26 выдачи, вход 27 синхронизации регистров 26 выдачи, группу 28 выходов устройства, N узлов 29 операционных микрокоманд.
Каждый узел 29 операционных микрокоманд содержит блок 30 памяти операционных микрокоманд, регистр 31 адреса операционных микрокоманд, коммутатор 32 адреса операционных микрокоманд, блок 33 модификации адреса операционных микрокоманд, первый 34 и второй 35 элементы задержки, первый 36 и второй 37 информационные входы узла операционных микрокоманд,третий вход 38 синхронизации устройства, вход 39 установки в "0" группы устройства, первый 40 и второй 41 выходы, входы 42 условий группы устройства.
Каждый из блоков 7,8 и 33 модификации адреса содержит (фиг.2) регистра 43, поразрядный сумматор 44 по модулю два, вход 45 синхронизации, первую 46 группу входов, вход 47 группы условий блока, группу 48 выходов блока.
Регистры 3 и 4 адреса предназначены для временной записи кода адреса очередной микрокоманды и информации о состоянии узлов операционных микрокоманд, Регистр 3 адреса разбит на зоны (фиг.1), где RI — зона адреса очередной микрокоманды; R2,,...jR2 части зоны информации о состоянии соответственно (1,...,N) узлов операционных микрокоманд. На выходе регистра адреса Аормируется адрес микрокоманды, дешифрируемый в блоке I памяти.
Регистр 4 адреса кодов настройки раз-. бит на зоны (фиг.1), где RI — зона адреса очередного кода настройки; R2..
R2ö — части зоны информации о состоянии соответственно (1,...N) узлов операционных микрокоманд. На выходе регистра адреса кодов настройки формируется адрес кода настройки, дешифрируемый в блоке 2 памяти, 1513
448 6 внешней информации. Затем на входы 18 и 19 устройства подается адрес, по
Блок 1 памяти предназначен для хранения кодов адресных микрокоманд и информации об адресе очередных адресных микрокоманд, а также для хране- . ния инАормации по координации работы узлов 29 операционных микрокоманд и разбит на ряд полей памяти, каждбму из которых соответствует своя группа выходов блока 1 памяти. Разделение бло;0 ка 1 памяти на поля и соответствующие им группы выходов приведены на фиг.1, где П1 — поле управления коммутатором адреса П2,, П2 „ — поля координации работы соответственно (1... М) узлов операционных микрокоманд; ПЗ вЂ” поле адресных микрокоманд; П4 — поле адресов проверки условий формирования адресных микрокоманд, П5 — после немодифицируемых адресов очередной адресной 20 микрокоманды; П6 — поле управления регистрации хранения.
Блок памяти 2 предназначен для хранения адресов кодов настройки и имеет аналогичный блоку памяти 1, сос- 25 тав и назначение полей памяти.
Коммутатор 5 адреса, коммутатор 6 адреса кодов настройки и коммутатор 32 операционных микрокоманд предназначен для формирования зоны R1 регистров 30 адреса 3, 4, 31 соответственно в зависимости от инАормации, записанной в поле П1 соответствующих блоков памяти.
Если соответствующий полю П1 первый информационный выход соответствующего блока памяти имеет значение
"Лог.1", то соответствующий .коммутатор адреса переключается на прием очередного входного слова с входа 18 (36) устройства, а если данный выход имеет значение "Лог.0", то соответствующий коммутатор адреса переключается на прием следующего адреса очередной микрокоманды (кода настройки) » поступающего с группы выходов соответствующего блока модификации адреса . и пятой группы выходов соответствую,щего: блока памяти (поля П5)., Регистр 31 адреса узла операционных микрокоманд предназначен для временной записи адреса очередноЯ операционной микрокоманды (или началь ного адреса) выходной последовательности операционных микрокоманд) и информации по координации работы узла
55 операционных микрокоманд.
Регистр 31 адреса разбит на зоны (Фиг.1), где R1 — зона адреса очередной операционной микрокоманды; R2 эона информации по координации работы узла операционных микрокоманд.
На выходе регистра адреса 31 формируется адрес, дешифрируемый в блоке 30 памяти операционных микрокоманд.
Блок 30 памяти операционных микрокоманд предназначен для хранения операционных микрокоманд и информации об адресе очередной операционной микрокоманды, а также для хранения информации о состоянии узла операционных микрокоманд, Блок 30 памяти разбит на ряд полей памяти, каждому из которых соответствует своя группа выходов блока 30 памяти. Разделение блока 30 памяти на поля и соответствующие им группы выходов приведены на
Аиг.1, где П1 — поле управления коммутатором адреса узла операционных микрокоманд; П2 — поле информации о состоянии узла операционных микрокоманд; ПЗ вЂ” поле кодов операционных микрокоманд; П4 — поле адресов проверки условий формирования операционных микрокоманд; П5 — поле немодифицируемых адресов очередной операционной микрокоманды.
Блок 7 модификации адреса адресных микрокоманд предназначен для изменения условий формирования адреса очередной адресной микрокоманды, а также для направления процесса формирования адреса по одному из возможных путей, определяемому соответствующими внешними условиями.
Блоки 8 и 33 модификации адресов кодов настройки и операционных микрокоманд имеют аналогичное назначение и отличаются, например, разрядностью.
Устройство работает в двух режимах: настройки и основном.
В режиме. настройки. работает только блок 2 памяти кодов настройки. На вход коммутатора адреса кодов настройки 6 с одного из входов 19 через блок 13 элементов ИЛИ устройства подается единичный сигнал, обеспечивающий переключение коммутатора 6 на прием которому соответствующим синхроимпульсом производится запись данных в блок 2 памяти кодов настройки (входы данных и записи не показаны). Запись данных циклически повторяется до тех пор, пока не будут заполнены корректирующими кодами все необходимые
1513448 для изменения функционирования блока 1 памяти адресных микрокоманд зоны блока 2 памяти кодов настройки, На этом режим заканчивается.
Работа устройства в основном режиме происходит следующим образом. !
В начале производится обнуление устройства. Для этого на входы всех регистров адреса подаются сигнал 10 сброса, а затем синхроимпульсы,обеспечивающие считывание нулевых ячеек всех блоков памяти устройства. Информация, записанная по нулевому адресу,переводит все коммутаторы адре- 15 са на прием информации извне и устанавливает нулевые значения на входах К2,...,R2 регистров 3 и 4.
Затем на информационный вход устройства подается код операции. 20
1 .По соответствующему синхроимпульсу в регистры 3 и 8 адреса блоков па1 мяти 1 и 2 (поле R1) записывается с
1 выхода коммутаторов 5 и 6 код операции, формируя совместно с информаци- 25 ей о состоянии блоков памяти операционных микрокоманд (поле К2) на чальный адрес микропрограмм блока па,мяти адресных микрокоманд и блока памяти кодов настройки, и этим же синхроимпульсом, задержанном на эле1 ментах задержки 9 и 10, производится выборка информации на этих блоках
1 памяти, Информация полей П2, ПЗ поступает на вход регистров хранения и выдается на входы узлов операционных микрокоманд с выходов регистров 14 и 15, или 16 и 17 в зависимости от значения признака коррекции в коде операции и соответственно от значения поля П6 блоков памяти.
Признак коррекции формируется в случае необходимости изменения функционирования узлов операционных микро 45 команд, в частности при реализации операции перестановки операционных микропрограмм. На фиг.3 приняты следующие обозначения. AR1-ARÇ-коды адресных микрокоманд; R1-RÇ коды операционных микрокоманд. По нулевому значению признака коррекций блок 1памяти адресных микрокоманд выходит в область памяти основной работы, где в поле П6 записано единичное значе55 ние, открывающее, при выполнении операции чтения из этого блока, регистры 14 и 15 выдачи, при этом блок 2 памяти кодов настройки переходит в зону с нулевым значением доля П6, блокируя выходы регистров 16 и 17, При единичном значении признака коррекции происходит обратное, Блок 1 памяти адресных микрокоманд переходит в область с нулевым значением поля
П6„ а блок 2 памяти кодов настройки переходит в область с единичным значением поля П6, т.е. коды адресных микрокоманд поступают на входы узлов операционных микрокоманд из этого блока.
Информация поля П2 по соответствующему синхроимпульсу записывается в регистры 31 адреса (поле R2)(1. ..N) узлов 29 операционных микрокоманд.
В эти же регистры 31 (поле R1) записывается с выходов коммутаторов 32 информация поля ПЗ, формируя начальный адрес операционной микропрограммы. Через время, определяемое временем задержки элемента 35, будет произведена выборка информации из блоков 30 памяти операционных микрокоманд.
Каждая очередная микрокоманда может быть либо выходным кодом линейной последовательности микрокоманд, либо ее код зависит от некоторых условий, определяющих ветвление соответствующего участка микропрограммы. В этом случае информация поля П1 блоков памяти устройства поступает на управляющие входы соответствующих коммутаторов .и переключает их на прием слов полей П4, П5 соответствующих блоков памяти, Очередной немодифицируемый адрес формируется в поле П5 блока памяти и поступает на коммутатор. Адрес проверки условий ветвления формируется в поле П4 блока памяти и модифицируется некоторыми внешними условиями в блоке модификации адреса, после чего также поступает на коммутатор адреса, где формируется адрес очередной микрокоманды, который через коммутатор поступает на входы регистра адреса, Информация о состоянии каждого из (1,...,N) узлов 29 операционных микрокоманд поступает с выходов П2 блоков 30 памяти операционных микрокоманд на входы зоны R2 регистров адреса. блоков 1 и 2 памяти, создавая дополнительный код перехода на фиксируемую, заранее заданную, область памяти этих блоков, в частности, информация о занятости узлов операционных Микрокоманд обеспечивает пере1513448
10 ход блоков памяти адресных микроко манд и настройки в области циклического ожидания сигналов об освобождении, блокирующую выдачу информации из этих блоков.
Коды операционных микрокоманд с выходов. полей П3 блоков 30 памяти узлов операционных микрокоманд поступают на входы регистров 2б выдачи и
I по соответствующим синхроимпульсам с выходов элементов 35 задержки записываются в них, после чего поступают на выходы устройства. 1 15
Блоки 7,8 и 33 модификации адреса работают следующим образом.
На вход группы условий подается параллельный код входных условий и по синхроимпульсу, подаваемому на вход синхронизации блока, записывается в регистр 43, через регистр 43 (при наличии единицы в первом разряде первой группы подаваемой на управляющий вход регистра) подаются на вход поразрядного сумматора 44 по модулю два.
Одновременно параллельный код входных условий подается на второй вход поразрядного сумматора 44. На третий вход поразрядного сумматора 44 подается адрес проверки условий ветвле30 ния с первой группы входов блока модификации адреса.
Работа поразрядного сумматора 44 описывается следующим уравнением (уравнение описывает операции над Х-м 35 разрядом входных слов) (Ai V Bi) О+ Ci = Di> где Ai — i-й разряд слова, хранящегося в запоминающем регистре; 40
Bi — i-й разряд слова входных условий, подаваемогб непосредственно на сумматор 34, Ci — i-й разряд адреса проверки условий ветвления,:
Di — i-й разряд выходного слова блока модификации адреса, Ч вЂ” операция ЛОГИЧЕСКОЕ ИЛИ;
О+ — операция СЛОЖЕНИЕ ПО МОДУЛЮ
ДВА. 50
Таким образом., блок модификации ад,реса реализует функцию модификации адреса как в зависимости от содержания текущего кода входных условий, так и от содержимого заранее.поданного в произвольный момент времени кода входных условий, зафиксированного по соответствующей команде в запоминающем регистре.
Рассмотрим работу устройства в случае возникновения неисправности в отдельных блоках. Факт возникновения неисправности в блоке памяти операционных микрокоманд может быть зафиксирован при выходе этого блока из рабочей зоны путем задания изменения значений поля адресов проверки условий
П4 при выходе из этой зоны. Данное изменение выводит блок памяти опера-. ционных микрокоманд в область памяти, содержащую в поле П2 код неисправности, который выводит блоки памяти адресных микрокоманд или кодов настройки в область памяти, содержащую процедуры, адаптирующие устройство к возникшей неисправности.
Наличие блока 2 памяти кодов настройки с соответствующими связями обеспечивает дополнительные возможности повьппения достоверности функционирования устройства.
Зафиксированная узлами 29 операционных микрокоманд неисправность блока 1 памяти адресных микрокоманд выводит узлы 44 на участок памяти, в поле П2 которого записан код, выводящий (через зону R2 регистра адреса) блок 1 памяти адресных микрокоманд в зону, блокирующую (с использованием поля Пб) выдачу информации из этого блока, а блок 2 памяти кодов настройки в зону, разрешающую (поле
Пб) выдачу этого блока 2 информации, дублирующей информацию блока 1 памяти адресных микрокоманд. Тем самым производится подмена одного блока памяти другим.
В табл.1 приведен пример структуры прошивок памяти операционных микрокоманд, в табл.2 — адресных (в случае трех блоков операционных микрокоманд)..
Формула изобретения
Двухуровневое устройство для управления памятью микрокоманд, содержащее коммутатор адреса микрокоманд, регистр адреса, блок памяти адресных микрокоманд, блок модификации адреса и с первого по И-й узлы операционных микрокоманд, первые информационные выходы которых являются с первого но И-й выходами устройства соответственно, первый информационный вход коммутатора адреса микрокоманд является первым информационным входом
1513448
20 устройства, выход коммутатора адреса микрокоманд соединен с первым информационным входом регистра адреса, выход которого соединен с адресным входом блока памяти адресных микрокоманд, выходы первого, пятого и четвертого полей которого соединены с управляющим входом и разрядами первой группы второго информационного входа коммутатора адреса микрокоманд и первым информационным входом блока модификации адреса, второй информационный вход и разряды выходов которого соединены соответственно с первым входом условий устройства и с разрядами второй группы второго информационного входа коммутатора адреса микрокоманд, вторые информационные выходы с первого по М-й узлов операционньгх микрокоманд соединены с второго по (N+1)-й информационными входами регистра адреса соответственно, входы условий и установки в "0" с первого по N-й узлов операционных микрокоманд образуют группы входов условий и установки в "0" устройства, соответственно, входы синхронизации регистра адреса, блока памяти адресных мпкрокоманд, блока модификации ад- 0 реса и с первого по И-й узлов операционных микрокоманд являются соответствующими входами группы входов синхронизации устройства, вход установки в и
0 регистра адреса является первым одноименным входом устройства, о тл и35 ч а ю щ е е с я тем, что, с целью повышения быстродействия и расширения функциональных возможностей за счет ! расширения средств настроики и адаптив 0 ной распределенной обработки информации, в него введены коммутатор адреса кодов настройки, регистр адреса кодов настройки, блок памяти кодов настройки, блок модификации адреса кодов «ra-
45 стройки, блок элементов ИЛИ, первый и второй регистры хранения адресных микрокоманд и первый и второй регистры хранения кодов настройки, первый информационный вход коммутатора адреса 50 кодов настройки соединен с первым информационным входом устройства„выход коммутатора адреса кодов настройки соединен с первым информационным входом регистра адреса кодов настройки, вход установки в 0" и выход которого соединены с вторым входом установки в
"0" устройства и с адресным входом блока памяти кодов настройгси, выходы с первого по пятое полей которого соединены с первым входом. блока элементов ИЛИ, информационными входами первого и второго регистров хранения кодов настройки, первым информационным входом блока модификации адреса кодов настройки и разрядами первой группы второго информационного входа коммутатора адреса кодов настройки, разряды второй группы второго информационного входа которого соединены с разрядами выхода блока модификации адреса кодов настройки, второй информационный вход которого является вторым входом условий устройства, выходы второго и третьего полей блока памяти адресных микрокоманд соединены с информационными входами первого и второго регистров хранения адресных микрокоманд соответственно, вьгходьг которых.соединены с выходами первого и второго регистров хранения кодов настройки и первым и вторым информационными входами всех. узлов операционных микрокоманд соответственно, вторые информационные выходы которых соединены с входами первой группы блока элементов .ИЛИ, выход и вьгходы группы которого соединены с управляющим входом коммутатора адреса кодов настройки и с второго по (N+1)-й информационными входами регистра адреса кодов настрой; ки соответственно, входы второй группы и второй вход блока элементов
ИЛИ являются вторым информационным входом и входом управления режимом устройства соответственно, входы синхронизации регистра адреса кодов настройки, блока памяти кодов настройки, блока модификации адреса кодов настройки,перых и вторых регистров хранения адресных микрокоманд и кодов настройки являются соответствующими
;входами группы входов синхронизации устройства, 13
14
1513448
Таблица
I
П1 П2 ПЗ ° П4 П5
Иикрокоманды
АО
AR1
О
0
О
О
О
P
Е
POO
R11
К12
R13
R14
К21
R22
R23
R31
R32
RNN
ОО
tO
) т T 1 пгз
АО
AR3
AR1
BR3
АК1
AR3
AR2
AR2
AR2
AR3
AR3
AR1
AR2
AR1
AR1
ARO
AR2
ARO
ARO
АЗ
AN
ASI
° ° °
° ° °
° ° °
»
П р и м е ч а н и е: AN — область памяти при наличии сигналов неисправности от узлов операционных микрокоманд;
АР— область памяти при наличии признака коррекции, ASi - i-я область памяти ожидания сигналов готовности узлов операционных микрокоманд, Иикрокоманды П1 П21 П22
L l
00 АК1+1
00 АК! +2
00 AR1+3
00 — АО
00 AR2+1
00 AR2+2
АО АО
00 АКЗ+1
00 АО
00 АО . k.
Таблица 2
Ъ
ПЗ П4 П5 П6
Ъ»
AR0 00 00 1
000 00 -A1+1. 1
000 00 А1+2 1
000 00 АО 1
000 00 А2+1 1
000 00 АО 1
000 00 АО 1
AN О
AP О
° ° ° ° ° °
AS О
1513448
Составитель В.Кумыкамп
Техред Л.Олийнык Корректор О,Ципле
Редактор Л,Зайцева
Заказ 6080/48 Тираж 668
ВНИИПИ Государственного комитета по изо р P р ССС
113035, Москва, R-35, Раушская наб., д. 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул. Гагарина, 101
ЬпОк /7ЯР1ямИ
Вуесны ииирясманд
Енк rruesrnu иРоЕ накрой ка
Подписное ! б етениям и отк ытиям и и ГКНТ Р