Микропрограммное устройство управления
Иллюстрации
Показать всеРеферат
Союз Советских
Социалистических
Республик
ОП ИСАНИЕ
ИЗОБРЕТЕНИЯ
К. АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к ввт. саид-ву— (22) Заявлено 020180 (23) 2860451/18-24 с присоединением заявки Ио— р )м. кл.з
G 06 F 9/22
Государственный комитет
СССР по делам изобретений и открытий (23) Приоритет
Опубликовано 15.1181. Бюллетень М42
Дата опубликования описания 15.1181 (5Ç) УДК 681.ЗЛ (088. 8) Б.М. Дворецкий и Р.Б. Навыков
1 ь
1 (72) Авторы изобретения (71) Заявитель (54) МИКРОПРОГРАММНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ
Изобретение относится к вычислительной технике и может быть исполь зовано в микропрограммных устройствах управления электронных вычислительных машин.
Известно микропрограммное устройство управления, в котором для хранения адреса вознрата используется специальное запоминающее оборудование (1) .
Однако наличие специального запоминающего оборудования, предназначенного только для целей обеспечения возврата из мнкроподпрограмм, увеличивает оборудование устройства и сни- 5 жает его надежность н целом.
Наиболее близким к изобретению является микропрограммное устройство управления, содержащее блок памяти микрокоманд, регистр адреса, регистр 20 кода операции, блок управления, дешифраторы кода микрокоманды и кода ветвления соответственно, элементы
И, ИЛИ, НЕ (2) .
Однако в этом устройстве количест- 2 во точек возврата, а значит число микропрограмм, использующих общую микроподпрограмму, определяется числом ненулевых комбинаций младших разрядов поля адреса следующей микро- 30 команды, которые дополняют формат кода операции до полного адреса. Следовательно, количество, точек возвра" та будет зависеть от объема памяти блока микрокоманд, что создает неудобства при микоопоогоаммировании.
Кроме того, это устоойство не позволяет ускорить выполнение команд, алгоритмы выполнения которых предус.матривают ветвление по условиям, сформированным до входа в микропрограмму.
Цель изобретения — расширение функциональных возможностей устройства за счет снятия зависимости количестна точек возврата от объема блока памяти микрокоманд, а также повышение быстродействия устройства за счет обеспечения возможности ветвления в некоторых командах при входе в микропрограмму.
Поставленная цель достигается тем, что н микропрограммном устройстве управления, содержащем блок памяти микрокоманд, регистр адреса, регистр кода операции, блок управления, дешифраторы кода микрокоманды и кода ветвления, элементы И, ИЛИ., НЕ, причем выход микрокоманд блока памяти соединен через дешифратор кода микро
881748 команды с первым входом блока управления, выход ветвления блока памяти микрокоманд соединен с входом дешифратора кода ветвления, первый выход которого соединен со вторым входом блока управления, первый адресный выход блока памяти микрокоманд соединен с первым входом первого элемента
И, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, а выход — с входом средних разрядов адреса регистра адреса, выход которого соединен с входом блока памяти микрокоманд, первый вход второго элемента ИЛИ соединен с выходом начала операции блока управления, второй вход второго элемента ИЛИ соединен со вторым выходом дешифратора кода ветвления, а выход соединен с первым входом второго элемента И и через первый элемент НЕ со 2О вторым входом первого элемента И, второй вход второго элемента И соединен с первым разрядным выходом регистра кода операции, адресный выход блока управления соединен с первым входом третьего элемента И, дополнительно введены дешифратор кода операции, элементы И, ИЛИ, НЕ, вход второго элемента НЕ соединен с выходом адреса возврата блока памяти микрокоманд и с первым входом четвертого элемента И, второй вход которого соединен с выходом ветвления блока памяти микрокоманд, а выход — с первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен с выходом второго элемента НЕ и со вторым входом третьего элемента И, а второй вход — c входом приема кода операции устройства, вход 40 регистра кода операции соединен с выходом третьего элемента ИЛИ, второй разрядный выход регистра кода операции — c входом дешифратора кода операции, выход которого соединен с пер- 4 вым входом блока элемента И, второй вход которого соединен с входом условий ветвления устройства, а выход блока элементов И соединен с входом блока элементов ИЛИ, выход которого соединен с первым входом шестого элемента.И, второй вход которого соединен с выходом начала операции блока управления и через третий элемент
НЕ с первым входом седьмого элемента
И, второй вход которого соединен со вторйм адресным выходом блока памяти микрокоманд, а выход — с первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом шестого элемента И, а выход — с вхо- 4Q ,дом старших разрядов адреса регистра адреса, выход третьего элемента И соединен с первым входом пятого элемента ИЛИ, второй вход которого соединен с выходом восьмого элемента И, 65 первый и второй входы которого соединены с выходом второго элемента
ИЛИ и с третьим разрядным выходом регистра кода операции соответственно третий вход пятого элемента ИЛИ соединен с выходом девятого элемента И, первый и второй входы которого соединены с третьим адресным выходом блока памяти микрокоманд и с выходом первого элемента HE соответственно, а выход пятого элемента ИЛИ соединен с входом младших разрядов адреса регистра адреса.
На фиг, 1 приведена функциональная схема микропрограммного устройства управления; на фиг. 2 — структурная схема блока управления.
Устройство содержит блок 1 памяти микрокоманд, выход 2 микрокоманд блока 1, выход 3 ветвления, адресный выход 4 блока 1, дешифратор 5 кода микрокоманды, блок. 6 управления, дешифратор 7 кода ветвлений, четвертый элемент И 8, второй элемент HE 9, третий элемент И 10, пятый элемент
И 11, вход 12 приема кода операции устройства, третий элемент ИЛИ 13, второй элемент ИЛИ 14, второй элемент
И 15, восьмой элемент И 16, первый элемент НЕ 17, первый элемент И 18, девятый элемент И 19, первый элемент
ИЛИ 20, регистр адреса 21, выход 22 начала операции блока 6, шестой элемент И 23, третий элемент HE 24, седьмой элемент И 25, четвертый элемент ИЛИ 26, регистр 27 кода операции, дешифратор 28 кода операции, блок элементов И 29, вход 30 условий ветвления устройства, блок элементов ИЛИ
31, пятый элемент ИЛИ 32. Блок 6 управления содержит коммутатор 33, шиф.ратор 34, группу элементов И 35, группу элементов ИЛИ 36.
Блок 6 управления работает следующим образом.
При выполнении микрокоманды с ветвлением в выход 3 кода ветвления записывается соответствующий код, по которому возбуждается одна из шин первого выхода дешифратора 7, с которой единичный сигнал поступает на первый вход соответствующего элемента И 35 группы (или на первые входы соответствующих элементов И 36 группы), опрашивая тем самым условие (или несколько условий) ветвления.
При наличии условий ветвления на вторых входах соответствующих элементов И 35 группы на выходе последних появляется сигнал, который, пройдя через соответствующие элементы ИЛИ
36 группы, поступает на второй выход блока 6 управления. Выработанный таким образом код со второго выхода блока 6 через открытый элемент И 10 и элемент ИЛИ 32 передается в младшие разряды регистра адреса 21. Таким образом, происходит модификация младших разрядов адреса микрокоманды.
881748
Микропрограммное устройство управления работает следующим образом.
После окончания выборки команды из запоминающего устройства код операции поступает на вход 12 и, пройдя через открытый элемент И 11 и элемент
ИЛИ 13, поступает на вход регистра 27.
Рассмотрим случай, когда в регистр
27 принят код операции команды, алгоритм выполнения которой не требует ветвлений по условиям, сформированным до входа в микропрограмму. B этом случае дешифратор 28 не срабатывает и на его выходе отсутствуют сигналы опроса условий ветвления.
Вход в микропрограмму осуществляется путем выборки микрокоманды, имеющей в выходе 2 код, по которому блок 6 управления возбуждает выход
22 начала операции, открывается элемент И 23 и через элемент НЕ 24 блокируются входы элемента И 25, а на 2Q выходе элемента ИЛИ 14 появляется сигнал, разрешающий передачу содержимого регистра 27 через элемент И
15, элемент ИЛИ 20 и элемент И 16, элемент HJIH 32 в средние и младшие 75 разряды регистра 21 адреса соответственно. Элемент НЕ 17 в этом случае блокирует входы элементов И 18 и 19, соответственно передающие средние и младшие разряды поля 4 адреса следую-З щей микрокоманды в старшие и младшие разряды регистра 21 адреса ° В старшие разряды регистра 21 адреса через элемент И 23 и элемент ИЛИ 26 передается нулевой код. Таким образом,,процессор переходит к микропрограмме выполнения команды.
При организации последовательности микрокоманд в микропрограмме входы и выход элемента ИЛИ 14 имеют нуле- 40 вое значение, а выход элемента НЕ
17 — единичное значение, и адрес следующей микрокоманды образуется передачей в регистр 21 адреса старших разрядов адресного выхода 4 через элемент И 25 и элемент ИЛИ 26, средних разрядов адресного выхода 4 через элемент И 18 и элемент ИЛИ 20 и младших разрядов адресного выхода 4 через элемент И 19 и элемент ИЛИ 32.
В случае выполнения микрокоманды с ветвлением, в выход 3 записывается соответствующий код ветвления, который после дешифрации в дешифраторе 7 вырабатывает на выходе блока 6 управления код младших разрядов адреса, в соответствии с результатами выполнения текущей или предыдущих микрокоманд, которые через элемент И 10 и элемент ИЛИ 32 передается в младшие разряды регистра 21 адреса. Младшие и) разряды адреса в адресном выходе 4 должны иметь при этом нулевое значение, а старшие и средние разряды регистра 21 адреса в данном случае
Определяются старшими и младшими раз- 5 рядами адресного выхода 4 соответственно.
При необходимости входа в общие микропрограммы в адресном выходе 4 записывается адрес начала микроподпрограммы, в выход 3 записывается адрес возврата в основную микропрограмму, а в бите записи адреса возврата записывается 1.
Единичное значение бита записи адреса возврата вызывает появление на четвертом выходе блока 1 памяти микрокоманд сигнала, разрешающего передачу содержимого выхода 3 через элемент И 8 и элемент ИЛИ 13.
В этом случае элемент HE 9 блокирует входы элемента И 11 и для предотвращения ветвления входы элемента И 10.
В последней микрокоманде микроподпрограммя в выходе ветвления записывается код, возбуждающий второй выход дешифратора 7 и на выходе элемента ИЛИ 14 появляется сигнал, разрешающий передачу компоненты ацреса возврата из регистра 27. Старшие разряды адреса, в этом случае, определяются старшими разрядами адресного выхода 4, поступающие через элемент
И 25 и элемент ИЛИ 26 на старшие разряды регистра 21 адреса.
Если в регистр ?7 поступает код операции такой команды, которая сразу же может выполняться по одному из нескольких алгоритмов, в зависимости от некоторых условий, сформированных до начала входа в микропрограмму выполнения этой команды, то этот код, воздействуя на дешифратор 28, вызывает появление на первом входе блока элементов И 29 сигнала опроса. При этом на второй вход блока элементов
И со входа 30 условий ветвления поступают сигналы условий ветвления.
При совпадении сигнала опроса и сигналов условия ветвления на выходе блока элементов И 29 появляется единичный сигнал, который через блок элементов ИЛИ 31, элемент И 23 и элемент ИЛИ 26 поступает на старшие разряды регистра 21 адреса, на средние и младшие разряды которого поступает из регистра 27 значение кода операции. Таким образом, старшие разряды адреса при входе в микропрограмму по коду операции определяются наличием сигналов на входе 30 условий ветвления.
Таким образом, в устройство количество точек не зависит от объема блока памяти микрокоманд, а определяется разрядностью регистра кода операции.
Кроме того, устройство позволяет сократить время выполнения тех команд, алгоритмы выполнения которых предусматривают ветвление по условчям, сформированным до момента входа в микропрограмму, за счет органи881748 зации процесса ветвления при входе в микропрограмму.
Формула изобретения
Микропрограммное устройство управ- 5 ления, содержащее блок памяти микрокоманд, регистр адреса, регистр кода операции, блок управления, дешиф ратор кода микрокоманды, дешифратор кода ветвления, элементы ИЛИ, И, НЕ, 10 причем выход мйкрокоманд блока памя ти микрокоманд соединен через дешифратор кода микрокоманды с первым sxoдом блока управления, выход ветвления блока памяти микрокоманд соединен с входом дешифратора кода ветвления, первый выход которого соединен со вторым входом блока управления, первый адресный вход блока памяти микрокоманд соединен с первым входом 2О первого элемента И, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого ,соединен с выходом второго элемента
И, а выход — с входом средних разрядов адреса регистра адреса, выход которого соединен с выходом блока памяти микрокоманд, первый выход второго элемента ИЛИ соединен с выходом начала операции блока управления, второй вход второго элемента ИЛИ со- 30 единен со вторым выходом дешифратора кода ветвления, а выход соединен с первым входом второго элемента И и. через первый элемент НЕ со вторым входом первого элемента И, второй 35 вход второго элемента И соединен с первым разрядный выходом регистра кода операции, адресный выход блока управления соединен с первым входом третьего элемента И, 4 о т л и ч а ю щ е е с я тем, что, с целью расширения функциональных возможностей за счет снятия зависимости количества точек возврата от объема блока памяти микрокоманд и повышения быстродействия устройства, оно дополнительно содержит дешифратор кода операции, элементы И, ИЛИ, НЕ причем вход второго элемента НЕ соединен с выходом адреса возврата блока памяти микрокоманд и с первым входом 50 четвертого элемента И, второй вход которого соединен с выходом ветвления блойа памяти микрокоманд, а выход четвертого элемента И вЂ” с первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен с выходом второго элемента
НЕ и со вторым входом третьего элемента И, а второй вход пятого элемента И вЂ” с входом приема кода операции устройства, вход.регистра кода операции соединен с выходом третьего элемента ИЛИ, второй разрядный выход регистра кода операции — с входом дешифратора кода операции, выход которого соединен с первым входом блока элементов И, второй вход которого соединен с входом условий ветвления устройства, выход блока элементов И соединен с входом блока элементов ИЛИ, выход которого соединен с первым входом шестого элемента И, второй вход которого соединен с выходом начала операции блока управления и через третий элемент НЕ с первым входом седьмого элемента И, второй вход. которого соединен со вторым адресным выходом блока памяти микрокоманд, выход седьмого элемента И соединен с первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом шестого элемента И, а выход — с входом старших разрядов .адреса регистра адреса,/выход третьего элемента И соединен с первым входом пятого элемента ИЛИ,- второй вход которого соединен с выходом восьмого элемента И, первый и второй входы которого соединены с выходом второго элемента ИЛИ и с третьим разрядным выходом регистра кода операции соответственно третий вход пятого элемента ИЛИ соединен с выходом девятого элемента И, первый и второй входы которого соединены с третьим адресным выходом блока памяти микрокоманд и с выходом первого элемента НЕ соответственно, а выход пятого элемента
ИЛИ соединен с входом младших разрядов адреса регистра адреса.
Источники информации, принятые во внимание при эксйертизе
1. Авторское .свидетельство СССР
Р 596947, кл. G 06 F 9/16, 1976.
2. Авторское свидетельство СССР
Р 503240, кл. G 06 F 9/16, 1974 (прототип) .