Изобретение относится к вычислительной технике и может быть исполь зовано в микропрограммных устройствах управления электронных вычислительных машин. Известно микропрограммное устройс во управления, в котором для хранения адреса возврата используется спе циальное запоминающее оборудование 1 . Однако наличие специального запоминающего оборудования, предназначен ного только для целей обеспечения возврата из микроподпрограмм, увеличивает оборудование устройства и сни жает его надежность в целом. Наиболее близким к изобретению яв ляется микропрограммное устройство управления, содержащее блок памяти микрокоманд, регистр адреса, регистр кода операции, блок управления, дешифраторы кода микрокоманды и кода ветвления соответственно, элементы И, И.ПИ, НЕ 2 . Однако в этом устройстве количест во точек возврата, а значит число микропрограмм, использующих общую микроподпрограмму, определяется числом ненулевых комбинаций младших раз рядов поля адреса следующей микроКоманды, которые дополняют формат кода операции до полного адреса. Следовательно, количество, точек возврата будет зависеть от объема памяти блока микрокоманд, что создает неудобства при микоопоограммировании. Кроме того, это устройство не позволяет ускорить выполнение команд, алгоритмы выполнения которых предусматривают ветвление по условиям, сформированным до входа в микропрограмму. Цель изобретения - расширение функциональных возможност ей устройст ва за счет снятия зависимости коли- ; чества точек возврата от объема блока памяти микрокоманд, а также повыше- ние быстродействия устройства за счет обеспечения возможности ветвления в некоторых командах при входе в микропрограмму . Поставленная цель достигается тем, что в микропрограммном устройстве управ ления, содержащем блок памяти микрокоманд, регистр адреса, регистр кода операции, блок управления, дешифраторы кода микрокоманды и кода ветвления, элементы И, ИЛИ., НЕ, причем выход микрокоманд блока памяти соединен через дешифратор кода микро команды с первым входом блока управления, выход ветвления блока памяти микрокоманд соединен с входом дешифратора кода ветвления, первый выход которого соединен со вторым входом блока управления, первый адресный выход блока памяти микрокоманд соединен с первым входом первого элемента 1И, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с выходом второго элемента И, а выход - с входом средних разрядов адреса регистра адреса, выход которого соединен с входом блока памяти микрокоманд, пер вый вход второго элемента ИЛИ соединен с выходом начала операции блока управления, второй вход второго элемента ИЛИ соединен со вторым выходом дешифратора кода ветвления, а выход соединен с первым входом второго эле мента И и через первый элемент НЕ со вторым входом первого элемента И, второй вход второго элемента И соеди нен с первым разрядным выходом регистра кода операции, адресный выход блока управления соединен с первым входом третьего элемента И, дополнительно введены дешифратор кода операции, элементы И, ИЛИ, НЕ, вход вто рого элемента НЕ соединен с выходом адреса возврата блока памяти микрокоманд и с первым входом четвертого элемента И, второй вход которого соединён с выходом ветвления блока памяти микрокоманд, а выход - с первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен с выходом второго элемен та НЕ и со вторым входом третьего элемента И, а второй вход - с входом приема кода операции устройства, вхо регистра кода операции соединен с вы ходом третьего элемента ИЛИ, второй разрядный выход регистра кода операции - с входом дешифратора кода операции, выход которого соединен с пер вым входом блока элемента И, второй вход, которого соединен с входом усло вий ветвления устройства, а выход бл ка элементов И соединен с входом бло ка элементов ИЛИ, выход которого соединен, с первым входом шестого элемента. И, второй вход которого соединен с выходом начала операции блока управления и через третий элемент НЕ с первым входом седьмого элемента И, вуорой вход которого соединен со вторим адресным выходом блока памяти микрокоманд, а выход - с первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом шестого элемента И, а выход - с вхо.дом старших разрядов адреса регистра адреса, выход третьего элемента И соединен с первым входом пятого элемента ИЛИ, второй вход которого соед нен с выходом восьмого элемента И, первый и второй входы которого соединены с выходом второго элемента ИЛИ и с третьим разрядным выходом регистра кода операции соответственно третий вход пятого элемента ИЛИ соединен с выходом девятого элемента И, первый и второй входы которого соединены с третьим адресным выходом блока памяти микрокоманд и с выходом первого элемента НЕ соответственно, а выход пятого элемента ИЛИ соединен : входом младших разрядов адреса регистра адреса. На фиг, 1 приведена функциональная схема микропрограммного устройства управления; на фиг. 2 - структурная схема блока управления. Устройство содержит блок 1 памяти микрокоманд, выход 2 микрокоманд блока 1, выход 3 ветвления, адресный выход 4 блока 1, дешифратор 5 кода микрокоманды, блок, б управления, дешифратор 7 кода ветвлений, четвертый элемент И 8, второй элемент НЕ 9, третий элемент И 10, пятый элемент И 11, вход 12 приема кода операции устройства, третий элемент ИЛИ 13, второй элемент ИЛИ 14, второй элемент И 15, восьмой элемент И 16, первый элемент НЕ 17, первый элементИ 18, девятый элемент И 19, первый элемент ИЛИ 20, регистр адреса 21, выход 22 начала операции блока 6, шестой элемент И 23, третий элемент НЕ 24, седьмой элемент И 25, четвертый элемент ИЛИ 26, регистр 27 кода операции, дешифратор 28 кода операции, блок элементов И 29, вход 30 условий ветвления устройства, блок элементов ИЛИ 31, пятый элемент ИЛИ 32. Блок 6 управления содержит коммутатор 33, шифратор 34, группу элементов И 35, группу элементов ИЛИ 36. Блок б управления работает следующим образом. При выполнении микрокоманды с ветвлением в выход 3 кода ветвления записывается соответствующий код, по которому возбуждается одна из шин первого выхода дешифратора 7, с которой единичный сигнал поступает на первый вход соответствующего элемента И 35 груцпы (или на первые входы соответствующих элементов И 36 группы) , опрашивая тем самым условие (или несколько условий) ветвления. При наличии условий ветвления на вторых входах соответствующих элементов И 35 группы на выходе последних появляется сигнал, который, пройдя через соответствующие элементы ИЛИ 36 группы, поступает на второй выход блока 6 управления. Выработанный таким образом код со второго выхода блока 6 через открытый элемент.И 10 и элемент ИЛИ 32 передается в младшие разряды регистра адреса 21. Таким образом, происходит модификация младших разрядов адреса микрокоманды. Микропрограммное устройство управ ления работает -следующим образом. После окончания выборки команды из запоминающего устройства код операции поступает на вход 12 и, пройдя через открытый элемент И 11 и элемен ИЛИ 13, поступает на вход регистра 2 Рассмотрим случай, когда в регист 27 принят код операции команды, алго ритм выполнения которой не требует ветвлений по условиям, сформированным до входа в микропрограмму. В это случае дешифратор 28 не срабатывает и на его выходе отсутствуют сигналы опроса условий ветвления. Вход в микропрограмму осуществляется путем выборки микрокоманды, имеющей в выходе 2 код, по которому блок 6 управления возбуждает выход 22 начала операции, открывается элемент И 23 и через элемент НЕ 24 блокируются входы элемента И 25, а на выходе элемента ИЛИ 14 появляется сигнал, разрешающий передачу содержимого регистра 27 через элемент И 15, элемент ИЛИ 20 и элемент И 16, элемент ИЛИ 32 в средние и младшие разряды регистра 21 адреса соответственно. Элемент НЕ 17 в этом случае блокирует входы элементов И 18 и 19 соответственно передающие средние и младшие разряды поля 4 адреса следую щей микрокоманды в старшие и младшие разряды регистра 21 адреса. В старшие разряды регистра 21 адреса через элемент И 23 и элемент ИЛИ 26 передается нулевой код. Таким образом, .процессор переходит к микропрограмме выполнения команды. При организации последовательности микрокоманд в микропрограмме вход и выход элемента ИЛИ 14 имеют нулевое значение, а выход элемента НЕ 17 - единичное значение, и адрес сле дующей микрокоманды образуется передачей в регистр 21 адреса старших разрядов адресного выхода 4 через элемент И 25 и элемент ИЛИ 26, средних разрядов адресного выхода 4 чере элемент И 18 и элемент ИЛИ 20 и млад ших разрядов адресного выхода 4 через элемент И 19 и элемент ИЛИ 32. В случае выполнения микрокоманды с ветвлением, в выход 3 записывается соответствующий код ветвления, который после дешифрации в дешифраторе 7 вырабатывает на выходе блока 6 управ ления код младших разрядов адреса, в соответствии с результатами выполнения текущей или предыдущих микрокоманд, которые через элемент И 10 и элемент ИЛИ 32 передается в младшие разряды регистра; 21 адреса. Младшие адреса в адресном выходе 4 должны иметь при этом нулевое значение, а старшие и средние разряды регистра 21 адреса в данном случае определяются старшими и младшими раз рядами адресного выхода 4 соответственно. При необходимости входа в общие микропрограммы в адресном выходе 4 записывается адрес начала микропод- программы, в выход 3 записывается адрес возврата в основную микропрограмму, а в бите записи адреса возврата записЕзюается 1. Единичное значение бита записи адреса возврата вызывает появление на четвертом выходе блока 1 памяти микрокоманд сигнала, разрешающего передачу содержимого выхода 3 через элемент И 8 и элемент ИЛИ 13. В этом случае элемент НЕ 9 блокирует входы элемента И 11 и для предотвращения ветвления входы элемен а И 10. В последней микрокоманде микроподпрограммы в выходе ветвления записывается код, возбуждающий второй выход дешифратора 7 и на выходе элемента ИЛИ 14 появляется сигнал, разрешающий передачу компоненты адреса возврата из регистра 27. Старшие разряды адреса, в этом случае, определяются старшими разрядами адресного выхода 4, поступающие через элемент И 25 и элемент ИЛИ 26 на старшие разряды регистра 21 адреса. Если в регистр 27 поступает код операции такой команды, которая сразу же может выполняться по одному из нескольких алгоритмов, в зависимости от некоторых условий, сформированных до начала входа в микропрограмму выполнения этой команды, то этот код, воздействуя на дешифратор 28, вызывает появление на первом входе блока элементов И 29 сигнала опроса. При этом на второй вход блока элементов И 29 со входа 30 условий ветвления поступают сигнс1лы условий ветвления. При совпадении сигнала опроса и сигналов условия ветвления на выходе блока элементов И 29 гюявляется единичный сигнал, который через блок элементов ИЛИ 31, элемент И 23 и элемент ИЛИ 26 поступает на старшие разряды регистра 21 адреса, на средние и младшие разряды которого поступает из регистра 27 значение кода операции. Таким образом, старшие разряды адреса при входе в микропрограмму по коду операции определяются наличием сигналов на входе 30 условий ветвления. Таким образом, в устройство количество точек не зависит от объема блока памяти микрокоманд, а опредеяется разрядностью регистра кода перации. Кроме того, устройство позволяет сократить время выполнения тех коанд, алгоритмы выполнения которых предусматривают ветвление по условиям, сформированным до момента вхоа в микропрограмму, за счет организации процесса ветвления при входе в микропрограмму. Формула изобретения Микропрограммное устройство управ ления, содержащее блок памяти микрокоманд, регистр адреса, регистр кода операции, блок управления, дешифратор кода микрокоманды, дешифратор кода ветвления, элементы ИЛИ, И, НЕ, причем выход микрокоманд блока памяти микрокоманд соединен через дешифратор кода микрокоманды с первым вхо дом блока управления, выход ветвления блока памяти микрокоманд соединен с входом дешифратора кода ветвле ния, первый выход которого соединен со вторым входом блока управления, первый адресный вход блока памяти микрокоманд соединен с первым входом первого элемента И, выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого .соединен с выходом второго элемента И, а выход - с входом средних разрядов адреса регистра адреса, выход которого соединен с выходом блока па мяти микрокоманд, первый выход второ го элемента ИЛИ соединен с выходом начала операции блока управления, второй вход второго элемента ИЛИ соединен со вторым -выходом дешифратора кода ветвления, а выход соединен с первым входом второго элемента И и через первый элемент НЕ со вторым входом первого элеменга ИГ, второй вход второго элемента И соединен первым разрядный выходом регистра кода операции, адресный выход бло ка управления соединен с первым входом третьего элемента И, отличающееся тем, что, с целью расширения функциональных воз можностей за счет снятия зависимост количества точек возврата от объема блока памяти микрокоманд и повышени быстродействия устройства, оно допо нительно содержит дешифратор кода операции, элементы И, ИЛИ, НЕ, причем вход второго элемента НЕ соединен с выходом адреса возврата блока памяти микрокоманд и с первым входо четвертого элемента И, второй вход которого соединен с выходом ветвления блока памяти микрокоманд, а выход четвертого элемента И - с первым входом третьего элемента ИЛИ, второй вход которого соединен с выходом пятого элемента И, первый вход которого соединен с выходом второго элемента НЕ и со вторым входом третьего элемента И, а второй вход пятого элемента И - с входом приема кода операции устройства, вход.регистра кода операции соединен с выходом третьего элемента ИЛИ, второй разрядный выход регистра кода операции - с входом дешифратора кода операции, выход которого соединен с первым входом блока элементов И, второй вход которого соединен с входом условий ветвления устройства, выход блока элементов И соединен с входом блока элементов ИЛИ, выход которого соединен с первым входом шестого элемента И, второй вход которого соединен с выходом начала операции блока управления и через третий элемент НЕ с первым входом седьмого элемента И, второй вход которого соединен со вторым адресным выходом блока памяти микрокоманд, выход седьмого элемента И соединен с первым входом четвертого элемента ИЛИ, второй вход которого соединен с выходом шестого элемента И, а выход - с входом старших разрядов .адреса регистра адреса,/выход третьего элемента И соединен с первым входом пятого элемента ИЛИ, второй вход которого соединен с выходом восьмого элемента И, первый и второй входы которого соединены с выходом второго элемента ИЛИ и с третьим разрядным выходом регистра кода операции соответственно третий вход пятого элементу ИЛИ соединен с выходом Девятого элемента И, первый ц второй входы которого соединены с третьим адресным выходом блока памяти микрокоманд и с выходом первого элемента НЕ соответственно, а выход пятого элемента ИЛИ соединен с входом младших разрядов адреса регистра адреса. Источники информации, принятые во внимание при экспертизе 1.Авторское .свидетельство СССР 596947, кл. G 06 F 9/16, 1976. 2.Авторское свидетельство СССР 503240, кл. G 06 F 9/16, 1974 (прототип).
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления | 1982 |
|
SU1084793A1 |
Микропрограммное устройство управления | 1980 |
|
SU934473A1 |
Микропрограммное устройство управ-лЕНия | 1978 |
|
SU807290A1 |
Микропрограммное устройство управления с контролем | 1985 |
|
SU1267414A1 |
Микропрограммный процессор | 1987 |
|
SU1517034A1 |
Микропрограммное устройство управления | 1974 |
|
SU503240A1 |
Микропрограммное устройство управления | 1984 |
|
SU1183964A1 |
Микропрограммное устройство управления | 1983 |
|
SU1100624A1 |
Микропрограммный процессор | 1985 |
|
SU1275457A1 |
Микропрограммное устройство для контроля и управления | 1985 |
|
SU1325476A1 |
Авторы
Даты
1981-11-15—Публикация
1980-01-02—Подача