Микропрограммное устройство управления

Иллюстрации

Показать все

Реферат

 

МИКРОПРОГРАММНОЕ УСТРОЙСТВО. УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, триггер пуска, генератор тактовых импульсов, коммутатор адреса, мультиплексор и первый элемент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход, генератора тактовых импульсов соединен с первым входом первого элемента И, выход коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд, вход логических условий устройства соединен с первым информати онным входом мультиплексора, выход которого и первый выход блока памяти микрокоманд соединены с первым информационным входом коммутатора адреса, второй выход блока памяти микрокоманд соединен с информаци онным входом регистра микрокоманд, выход которого является информационным выходом устройства, о т л ичающееся тем, что, с целью рас1Ш1рения области применения устройства , в него введены регистр кода опера1Д1й, регистр контроля, счетчик, формирователь адреса первой микрокоманды , преобразователь кода операций в код числа команд,блок элементов И, второй и третий элементы И-НЕ,элемент ИЛИ-НЕ, элемент ИЛИ,элемент И-НЕ и элемент задержки, причем вход кода операции устройства соединен с информационным входом регистра кода операi ции, выход которого соединен с вхо (Л дами формирователя адреса первой микрокоманды и преобразователя кода операции в код числа команд, выход формирователя адреса первой микрокоманды соединен с вторим информационным входом коммутатора адреса, третий выход блока памяти микрокоманд соединен с вторым информационсо о эо ным входом мультиплексора, четвертый выход блока памяти микрокоманд соединен с информационными входами ре9 У1 гистра контроля и с первым входом блока элементов И, выходы регистра контроля соединены с соответствующими входами элемента И-НЕ, выход блока элементов И соединен с управляющим входом мультиплексора, выход преобразователя кода операции в код числа команд соединен с информационным входом счетчика, выходы которого соединены с соответствующими входами элемента ИЛИ-НЕ, выход элемента ИЛИНЕ соединен с управляющими входами .коммутатора адреса и вторым входом

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК ()9) SU((() 1 3 0

ОПИСАНИЕ ИЗОБРЕТ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВЪ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (2,1) 3647732/24-24 (22) 30.09.83 (46) 23.12.84. Бюл. Р 47 (72) В.С.Харченко, С.Н.Ткаченко, Г.Н.Тимонькин, В.В .Самарский, М.П.Ткачев и И.П.Барбаш (53) 681. 3 (088.8) (56) 1. Авторское свидетельство СССР

М 1020824, кл. С 06 F 9/22, 1982 °

2-. Патент США В 3586599, кл. 340-172. 5, 1970.

3. Майоров С.А. и Новиков Г.И.

Структура ЭВМ-Л,, "Машиностроение", 1979, с. 313-3 15, рис . 10. 4 (прототип), (54) (57) МИКРОПРОГРАММНОЕ УСТРОИСТВ0

УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, триггер пуска, генератор тактовых импульсов, коммутатор адреса, мультиплексор и первый элемент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход. генератора тактовых импульсов соединен с первым входом первого элемента И, выход коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд, вход логических условий устройства соединен с первым информационным входом мультиплексора, выход которого и первый выход блока памяти микрокоманд соединены с первым информационным входом коммутатора адреса, второй выход блока памяти микрокоманд соединен с информациЗО9 G 06 F 9/22; G 06 F 11/00 онным входом регистра микрокоманд, выход которого является информационным выходом устройства, о т л ич ающе е с я тем, что, с целью расширения области применения устройства, в него введены регистр кода операций, регистр контроля, счетчик, формирователь адреса первой микрокоманды, преобразователь кода операций в код числа команд, блок элементов И, второй и третий элементы И-НЕ,элемент

ИЛИ-НЕ,элемент ИЛИ,элемент И-НЕ и элемент задержки, причем вход кода операции устройства соединен с информационным входом регистра кода операции, выход которого соединен с входами формирователя адреса первой микрокоманды и преобразователя кода операции в код числа команд, выход формирователя адреса первой микрокоманды соединен с вторым информационным входом коммутатора адреса, третий выход блока памяти микрокоманд соединен с вторым информационным входом мультиплексора, четвертый выход блока памяти микрокоманд соединен с информационными входами регистра контроля и с первым входом блока элементов И, выходы регистра контроля соединены с соответствунщими входами элемента И-НЕ, выход блока элементов И соединен с управляющим входом мультиплексора, выход преобразователя кода операции в код числа команд соединен с информационным входом счетчика, выходы которого соединены с соответствующими входами элемента ИЛИ-HE выход элемента ИЛИНЕ соединен с управляющими входами коммутатора адреса и вторым входом

11308 первого элемента И, выход которого соединен с входом синхронизации счетчика и первым входом второго элемента И, первый управляющий выход регистра микрокоманд соединен с вторым входом блока элементов И, третьим входом первого элемента И и первым входом третьего элемента И, выход которого соединен со счетным входом счетчика и входом синхронизации регистра контроля, второй управляющий выход регистра микрокоманд соединен с входом синхронизации регистра кода операций, а третий управляющий выход регистра микрокоманд соединен с пер«65 вым входом элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска, выход элемента И-НЕ соединен с вторым входом второго элемента И, выход которого соединен с вторым входом элемента ИЛИ и является выходом ошибки устройства, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, второй выход генератора тактовых импульсов соединен с входом синхронизации регистра микрокоманд и через элемент задержки с вторым. входом третьего элемента И.

Изобретение относится к цифровой вычислительной технике и может быть использовано при проектировании микропрограммных управляющих устройств для ЭВИ и вычислительных систем.

Известно микропрограммное .устройство управления с контролем, содержащее блок памяти микрокоманд, регистр адреса, буферный регистр, схему сравнения, элементы И, ИЛИ (1) . 10

Недостатком указанного устройства являются его низкие функциональные возможности, обусловленные отсутствием контроля правильности работы устройства при реализации микропро- 15 грамм.

Известно микропрограммное устрой-! ство управления с контролем, содержащее блок памяти микрокоманд, регистр адреса микрокоманд, регистр 20 адреса, буферный регистр, схемы сравнения, элементы И, ИЛИ (23 .

Недостатком указанного устройства являются низкое быстродействие, обусловленное неэффективным использо-25 ванием рабочего времени устройства..

Наиболее близким к нредлагаемому изобретению по технической сущности является микропрограммное устройство управления, содержащее блок памя- gp ти микрокоманд, регистры адреса и микрокоманд, триггер пуска, генератор,тактовых импульсов, коммутатор адреса, мультиплексор -и элемент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход генератора тактовых импульсов соединен с первым входом первого элемента И; выход коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд;.вход логических условий устройства соединен с первым информационным входом мультиплексора, выход которого совместно с первым выходом блока памяти микрокоманд соединен с первым инфор-! мационным входом коммутатора адреса; второй выход блока памяти микрокоманд соединен с информационным входом регистра микрокоманд, информационный выход которого соединен с информационным выходом устройст ва (33.

Недостатком данного устройства является узкая область применения, вызванная невозможностью реализации составных команд. Это обусловлено тем, что после выполнения микропрограммы, интерпретирующей команду процессора вычислительной машины, для определения кода очередной микропрограммы необходимо обращение к основной оперативной памяти процессора.

При такой организации работы устройства после реализации последней микропрограммы текущей микропрограммы для определения адреса первой микрокоманды очередной микропрограм865 з 1130 мы необходимо обращение к основной оперативной памяти процессора для определения кода операции. Таким об разом, существенно снижается быстродействие процессора, в котором ис- 5 пользуется устройство за счет того, что оно всякий раз после выполнения микропрограммы находится в режиме ожидания до момента поступления кода операции. 10

В известном устройстве также отсутствует организация контроля пра-, вильности его функционирования. Это обуславливает низкую достоверность

его функционирования, значительно 15 ограничивает его функциональные возможности и область Применения.

Таким образом, невозможность реализации составных команд, временные задержки в работе микропрограммного 20 устройства управления, обусловленные необходимостью ожидания поступления кода операции на вход устройства и отсутствие контроля правильности его функционирования значительно ограни- 25 чивают функциональные возможности и сужают область применения устройст; ва.

Целью изобретения является расширение области применения устройства gp путем обеспечения микропрограммной реализации составных команд и организации контроля их выполнения.

Поставленная цель достигается тем, что микропрограммное устройство 35 управления, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, триггер пуска, генератор тактовых импульсов, коммутатор адреса, мультиплексор и первый эле- 40 мент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход генератора 45 тактовых импульсов соединен с первым входом первого элемента И, выход. коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока 5р памяти микрокоманд, вход логических условий устройства соединен с первым информационным входом мультиплексора, выход которого и первый выход блока памяти микрокоманд соединены с первым информационным входом коммутатора адреса, второй выход блока памяти микрокоманд соединен с информационным входом регистра микрокоманд, ийформационный выход которого является информационным выходом устройства, дополнительно введены регистр кода операций, регистр контроля, счетчик, формирователь адреса первой микрокоманды, преобразователь кода операции в код числа команд, блок элементов И, второй и третий элементы И, элеиент ИЛИ-НЕ, элемент ИЛИ, элемент ИНЕ и элемент задержки, причем вход кода операции устройства соединен с информационным входом регистра кода операции, выход которого соединен с входами формирователя адреса первой микрокоманды и преобразователя кода операции в код числа команд, выход формирователя ад*реса первой микрокоманды соединен с вторым инфор.мационным .входом коммутатора адреса, третий выход блока памяти микроко/ манд соединен с вторым информационным входом мультиплексора, четвертый выход блока памяти микрокоманд соединен с информационными входами регистра контроля и с первым входом блока элементов И, выходы регистра контроля соединены с соответствующими входами элемента И-НЕ, выход блока элементов И соединен с управляющим входом мультиплексора, выход преобразователя кода операции в код числа команд соединен с информационным входом счетчика, выходы которого соЕдинены с соответствующими входами элемента ИЛИ-НЕ,. выход элемента ИЛИ-НЕ сое- динен с управляющими входами коммутатора адреса и вторым входом первого элемента И, выход которого соединен с входом синхронизации счетчика и первым входом второго элемента И, первый управляющий выход регистра микрокоманд соединен с вторым входом блока элементов И, третьим входом первого элемента И и первым входом третьего элемента И, выход которого соецинен со счетным входом счетчика и входом синхронизации регистра контроля, второй управляющий выход регистра микрокоманд соединен с входом синхронизации регистра кода операций, а третий управляющий выход регистра микрокоманд соединен с первым входом элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска, выход элемента И-НЕ соединен с вторым входом второго элемента И, выход которого соединен с вто1130835 рым входом элемента ИЛИ и является выходом ошибки устройства, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, второй выход генерато- 5 ра тактовых импульсов соединен с входом синхронизации регистра микрокоманд и через элемент задержки с вторым входом третьего элемента И.

Сущность изобретения состоит в расширении области применения устройства путем выполнения составных команд на основе микропрограммной реализации переходов между командами за счет записи очередного кода операции в адресном поле последней микрокоманды текущей микропрограммы; организации контроля составных команд путем сложения контрольных признаков, записанных в свободных полях логических условий последних микрокоманд в микропрограммах, В процессе реализации микропрограммным устройством управления составных команд в адресном поле послед- 25 ней микрокоманды записывается код, соответствующий адресу первой микрокоманды очередной микропрограммы.

Если реализуется составная команда, содержащая четыре микропрограммы, то ЗО в последних микрокомандах первойтретьей микропрограмм будут записаны коды, соответствующие адресам первых микрокоманд второй-четвертой микропрограмм соответственно. 35

В поле логических условий послед-, ней микрокоманды первой микропрограммы будет записан код К„", в соответствующем поле последней микрокоманды второй микропрограммы будет записан 4р код Кф, в соответствующем поле последней микрокоманды третьей микропрограммы будет записан код К", а в поле логических условий последней микрокоманды четвертой микропрограм- 45 мы будет записан код K*. Правильность выполнения составной команды определяется путем сложения на модулю два контрольных кодов К"„-Kf после окончания выполнения последней мик- N рокоманды последней микропрограммы.

Следовательно, использование естественной избыточности форматов микрокоманд позволяет при реализации составных команд осуществлять переход на микропрограммном уровне между образующими их элементарными командами H организовать koHTpoJIb npaвильности реализации команд, что и повышает быстродействие процессора, в котором используется устройство и достоверность его функционирования и тем самым способствует расширению области его применения.

Сущность изобретения реализуется путем введения следующих элементов и связей.

Введение регистра кода операции и обусловленных им связей необходимо для записи кода операции и его хранения °

Введение регистра контроля и обусловленных им связей необходимо для организации контроля правильности реализации составных команд путем суммирования по модулю контрольных признаков.

Введение счетчика и обусловленных им связей необходимо для организа ции счета реализованных элементар1 ных команд, образующих составную команду.

Введение формирователя адреса первой микрокоманды и обусловленных им связей необходимо для формирования адреса первой микрокоманды реализуемой микропрограммы по коду операции.

Введение преобразователя кода операции в код числа команд и обусловленных им связей необходимо для формирования кода числа элементарных команд, реализуемых устройством по соответствующему коду операции.

Введение блока элементов И и обусловленных им связей необходимо для управления передачей в мультиплексор кода проверяемых логических условий при реализации микрокоманд условных переходов.

Введение второго элемента И и условленных им связей необходимо для формирования сигнала прерывания работы устройства в случае возникновения сбоя или ошибки.

Введение третьего элемента И и обусловленных им связей необходимо для формирования сигналов в управлении работой регистра контроля и импульсов счета числа реализованных элементарных команд.

Введение элемента И-HE и обусловленных им связей необходимо для формирования сигнала ошибки при значении кода, записанного в регистр контроля не равном нулю.

1130865

Введение элемента ИЛИ и обусловленных им связей необходимо для фор мирования сигнала прекращения работы устройства при возникновении сбоя, а также по сигналу конца работы реги- 5 стра микрокоманд.

Введение элемента ИЛИ-НЕ и обусловленных им связей необходимо для формирования сигнала управления коммутатором адреса для записи кода адреса очередной микрокоманды в регистр адреса, а также сигнала, разрешающего запись кода числа элементарных команд в счетчик.

Таким образом, благодаря введению 15 новых элементов и связей микропро граммное устройство управления обеспечивает более высокое быстродействие и достоверность функционирования процессора, что в значительной степе- о ни расширяет его функциональные возможности и область применения.

На фиг. 1 представлена функциональная схема микропрограммного уст. ройства управления: на фиг. 2 — вре- 25 менная диаграмма его работы.

Микропрограммное устройство управления (фиг. 1) содержит блок 1 памяти микрокоманд, счетчик 2, регистр 3 кода операции, регистр 4 адреса, регистр 5 микрокоманд, регистр 6 контроля, формирователь 7 адреса первой микрокоманды, преобразователь 8 кода операции в код числа команд, мультиплексор 9, коммутатор 10 адреса, триггер 11 пуска, генератор 12 тактовых импульсов, первый элемент И 13, третий элемент И 14, второй элемент И 15, блок 16 элементов И, элемент И-HE 17,4О элемент ИЛИ-НЕ 18, элемент ИЛИ 19, элемент 20 задержки, вход 21 кода операции устройства, вход 22 логических условий устройства, выход 23 устройства микрокоманд устройства, 45 первый управляющий выход (конца команды) 23.1 регистра 5 микрокоманд, второй управляющий выход (занесения кода) операции 23.2 регистра 5 микрокоманд, третий управляющий выход (конца работы) 23.3 регистра 5 микрокоманд, выход 24 пуска устройства, первый выход (немодифицирующих разрядов кода адреса) 25 блока 1 памя- ти микрокоманд, третий выход (модифицируемых разрядов кода адреса) 26 блока 1 памяти микрокоманд, четвертый выход (кода логических условий) 27 блока 1 памяти микрокоманд, второй выход (микроопераций) 28 бло ка 1 памяти микрокоманд, выход 29 ошибки устройства.

Назначение основных элементов микропрограммного устройства управления (фиг. 1) состоит в следующем.

Блок 1 памяти микрокоманд предназначен для хранения микропрограмм, реализуемых устройством.

Счетчик 2 предназначен для записи и подсчета числа реализованных микропрограмм. Запись кода числа микропрограмм осуществляется по заднему фронту импульса синхронизации. Вычитание "1" из содержимого счетчика осуществляется также по заднему фронту импульса счета.

Регистр 3 кода операции предназначен для записи и хранения кода операции. Запись кода операции осуществляется по переднему фронту синхроимпульса.

Регистр 4 адреса предназначен для хранения адреса очередной микрокоманды. Запись следующего адреса в регистр 4 адреса осуществляется по заднему фронту первого тактового импульса, формируемого генератором 12 тактовых импульсов.

Регистр 5 микрокоманд предназначен для приема, хранения и выдачи микрокоманд с полями: информационным (микроопераций); управляющими; метки конца команды, занесения кода операций, конца работы устройства. В ииформационном поле записываются коды микроопераций реализуемых микрокоманд; в поле метки "Концы команды" последней микрокоманды каждой микроцрограммы записывается "1". Для остальных команд значение этого разряда равно "0". В поле метки "Запись кода операции" записывается единичный сигнал последней микрокоманде последней микропрограммы составной или элементарной команды. Для остальных микрокоманд значение этого разряда равно "0". В поле метки "Конец работы" устройства записывается единичное значение в той микрокоманде, после реализации которой необходимо прервать (закончить) работу устройства. Для остальных микрокоманд значение этого разряда равно "0".

Регистр 6 контроля выполнен на Ттриггерах и предназначен для организации контроля правильности функцио10

11308 нирования устройства путем суммирования по модулю для контрольных признаков, поступающих с выхода логичес. ких условий 27 блока 1 памяти микрокоманд. Суммирование осуществляется по заднему фронту импульса счета числа реализованных микропрограмм.

Формирователь 7 адреса первой микрокоманды предназначен для формирования кода адреса первой микроко- 1О манды реализуемой микропрограммы по коду операции, преобразователь- 8 кода операции в код числа команд предназначен для формирования кода числа реализуемых микропрограмм в соответ- 15 ствии с кодом операции.

Рассмотрим на конкретном примере алгоритмы функционирования формирователя 7 и преобразователя 8, т.е. алгоритмы формирования кодов адресов 20 первых микрокоманд и кодов чисел реализуемых микропрограмм.

Предположим, что всю совокупность команд процессора, которую необходимо реализовать, можно представить 25 следующим образом

КК64 ПК6з ПКб ПКб( л з где К вЂ” составная команда К, К К5К4, которая реализуется устройством в соответствии с ука-3g занной последовательностью;

К, — составная команда К5К(,Ку, К сОставная кОманда Kg К З

К, — элементарная команда процессора, соответсвующая команде процессора К,о (команда К может совпадать с любой из элементарных кОманд К1 К9)

С

Пусть составной команде К соот- 4О ( ветствует код операции 001; составной команде К вЂ” код операции 010;

6 составной команде К вЂ” код опера3 ции 011, а элементарной команде К, " соответствует код Операции 100. 45

В соответствии с кодом операции формирователь 7 формирует код адреса первой микрокоманды первой микропро-. граммы в реализуемой составной (элементарной) команде. N

Формирователь 7 реализует систему булевых функций, состоящую из управ" лений, каждое из которых описывает соответствующий выход формирователя и представляется в виде дизъюнктивной нормальной формы. Число уравнений в системе определяется разряд-. ностью адреса микрокьманд. Пусть раз65 рядность аДреса равна 4 и выбран следующий вариант кодирования начальных адресов. При поступлении кода операции 001, соответствующего составной команде К„, на выходе матри- цы сформируется код 0001; при поступлении кода операции, соответствующего составной команде К, сформируется код 0101; при поступлении кода операции 011, соответствующего составной команде К5, сформируется код 1000; при поступлении кода операции 100, соответствующего элементарной команде, сформируется код 1010.

Тогда система управлений, реализуемых формирователем 7, будет иметь вид

С, =х„xgхз+х xgxg

С =х„х х

С5 =х(х хз, С4. x(x x +xqx xg где C. (i=1,4) — i-я. выходная переменная формирователя 7, соответствующая i-му разряду кода адреса; х (j=1,3) — j-я входная перемен-. ная соответствующая

j-му разряду кода операции.

В соответствии с данной системой управлений формирователь 7 может ,быть реализован на программируемой огической матрице, имеющей три вхо-!

a x(,x» хз, четыре выхода С,, С, С ис

Преобразователь 8 формирует код числа микропрограмм, интерпретирующих реализуемую процессором команду.

Реализация составной команды К

1 требует выполнения четырех микропрограмм; реализация составной команды ф — трех микропрограмм; реализация составной команды К вЂ” двух б

Ъ микропрограмм реализация элементарной команды К4 потребует выполнения только одной микропрограммы. При поступлении на вход преобразователя 8 кодов операций 001, 010, 011

100, на выходе его будут сформированы коды числа микропрограмм 100, 011, 010, 001 соответственно.

Система управлений, реализуемых преобразователем 8, имеет вид

C(х(х2хз

С =x(х хз+х(х2х х(x> x +х(х2хэ °

65

11 11308

В соответствии. с данной системой управлений преобразователь 8 может быть реализован на программируемой логической матрице, имеющей три входа х,х, х> и три выхода С, С

5 и СЗ, Мультиплексор 9 предназначен для модификации адреса микрокоманды, следующей за микрокомандой ветвления.

Модификация адреса осуществляется путем изменения значения последнего разряда модифицируемых разрядов адреса. Для этой цели на первый информационный вход с входа 21 устройства поступает код значений логических условий. На управляющий вход мультиплексора 9 поступает код проверяемых логических условий. На второй информационный вход мультиплексора 9 поступают значения младшего модифицируе- 20 мого разряда адреса. При значениях проверяемых логических условий, рав ных "0", изменения значений модифицируемых разрядов адреса не происходит. Адрес очередной микрокоманды определяется значением кода адреса на первом 25 выходе блока 1 памяти микрокоманд.: В противном случае происходит модификация адреса путем изменения с нуля на единицу значения ЗО модифицируемого разряда адреса. Адрес очередной микрокоманды определяется немодифицируемыми разрядами, поступающими с первого 25 выхода блока 1 памяти микрокоманд, и моди- З фицируемым разрядом, поступающим с выхода мультиплексора 9.

Коммутатор 10 адреса предназначен для организации записи адреса ,очередной микрокоманды. При реализа- 4р ции первой микрокоманды составных и элементарных команд код адреса поступает с выхода формирователя 7 на второй информационный вход. Адреса всех остальных микрокоманд посту- 45 пают через первый информационный вход.

Триггер 11 пуска предназначен для управления работой генератора 12 тактовых импульсов. Генератор 12 тактовых импульсов предназначен для .формирования синхроимпульсов. Синхроимпульсы с первого выхода осуществляют синхронизацию записи кода числа элементарных команд в счетчик 2 и записи кода адреса в регистр 4 адреса. Синхроимпульсы с его второго выхода осуществляют синхронизацию записи кода микрокоманд в регистр 5 микрокоманд.

Первый элемент И 13 предназначен для управления синхровходом счетчика 2. Блок 16 элементов И предназна чен для управления подачей на мультн- плексор 9 кода проверяемых логических условий.

Второй элемент И 15 предназначен для формирования сигнала прерывания работы устройства при возникновении сбоя или ошибки в процессе функционирования. Третий элемент И 14 предназначен для управления подачей импульсов на счетный (вычитающий) вход счетчика 2. Элемент И-НЕ 17 предназначен для формирования сигнала ошибки работы устройства. Элемент ИЛИ !9 предназначен для формирования сигнала обнуления триггера 11 пуска. Элемент ИЛИ-НЕ 18 предназначен для управления работой коммутатора 10 адреса при записи информации в регистр 4 адреса и формирования сигнала разрешения на запись информации в счетчик 2. Элемент 20 задержки предназначен для задержки синхроимпульса с второго выхода генератора 12 тактовых импульсов на время 1, причем Т больше времени переключения элементов памяти регистра 5 микрокоманд. Вход 21 устройства является входом кода операции, который определяет адрес первой микрокоманды.

Микропрограммное устройство уйравления функционирует следующим образом.

В соответствии с кодом операции, поступающим на вход 21 устройства, осуществляется запись кода адреса первой микрокоманды в регистр 4 адреса и кода числа микропрограмм— в счетчик 2. Так, при поступлении ,кода операции 001, соответствующего составной команде К1 =K1К К К, 6< в регистр 4 адреса будет записан код 0001, соответствующий адресу первой микрокоманды первой из четырех реализуемых микропрограмм.

В счетчике 2 будет записан код 100, соответствующий чис..у реализуемых микропрограмм. Запись информации в регистр 4 адреса и счетчик 2 осуществляется одновременно по синхроимпульсам, поступающим с первого выхода генератора 12 тактовых импульсов. После считывания информации из блока 1 памяти микрокоманд осуществ14

l3

1130865 ляется ее запись в регистр 5 макрокоманд для управления работой процессора. Запись информации в регистр 5 микрокоманд осуществляется по синхроимпульсам, поступающим 5 с второго выхода генератора 12 тактовых импульсов. Адрес очередной микрокоманды с первого 25 выхода блока 1 памяти микрокоманд через коммутатор 10 адреса записывается в регистр 4 адреса для дальнейшей реализации цикла обработки микрокоманды.

В случае необходимости перехода к адресу очередной микрокоманды по условному переходу в мультиплексо- 15 ре 9 происходит модификация младшего разряда адреса по коду проверяемых условий и их значению. При нулевом значении проверяемого логического условия адрес очередной микрокоман- 20 ды полностью определяется значениями немодифицируемых разрядов адреса.

В случае единичного значения условия адрес очередной микрокоманды изменяется на единицу (в младшем раз-2S ряде). После записи последней микро,команды первой микропрограммы в ре-, гистр 5 микрокоманд происходит уменьшение содержимого счетчика 2 на единицу и запись контрольного призна- 30 ка К* в регистр 6 контроля. Посколь4 б„ ку реализуемая команда К " является составной, адрес первой микрокоманды очередной микропрограммы через коммутатор 10 адреса записывается в регистр 4 адреса с первого выхода блока 1 памяти микрокоманд. После реализации второй микропрограммы также происходит изменение состояния счетчика,2 и запись второго контроль-40 ного признака К* в регистр 6 конт2

,роля После завершения считывания последней микрокоманды последней микропрограммы счетчик 2 обнуляется и происходит опрос значений инверс- 4 ных выходов регистра 6 контроля.

При:нормальном функционировании устройства после выполнения последней элементарной команды регистр 6 должен быть обнулен и на выходе эле- 50 мента И-НЕ 17 сигнал равен "0".

В случае возникновения сбоя или отказа в процессе функционирования устройства сигналом блокировки про- . исходит обнуление триггера 11 пуска 55 и работа устройства в рабочем режиме будет запрещена. При отсутствии сбоев или отказов в работе устройства цикл реализации очередной команды по соответствующему коду операции будет повторен.

В случае выполнения элементарной команды К„, реализуемой одной микропрограммой, работа устройства будет аналогична описанной, однако после считывания последней микрокоманды микропрограммы в регистр 6 контроля будет занесен код, состоящий из одних нулей.

Микропрограммное устройство управления работает следующим образом.

В исходном состоянии все элементы памяти устройства (фиг. 1) находятся в нулевом состоянии. На выходе 23.2 регистра 5 присутствует единичный сигнал. Код операции, соответствующий коду составной команды К 4 и равный 001, поступает с входа 21 кода операции устройства на информационный вход регистр 3 кода операции. По разрешающему сигналу с второго 23.2 управляющего выхода регистра 5 микрокоманд происходит запись кода операции в регистр 3.

Формирователь 7 формирует код адре са 0001 первой микрокоманды первой микропрограммы. Код адреса поступает на второй информационный вход коммутатора 10 адреса, на управляющий вход которого поступает сигнал "1" с выхода элемента ИЛИ-НЕ .18, Преобразователь 8 формирует код числа микропрограмм, которые будут реализованы в течение цикла выполнения команКб4 °

По сигналу "Пуск" с входа-21 устройства триггер 11 пуска устанавливается в единичное состояние и включает генератор 12 тактовых импульсов.

Синхроимпульс с первого выхода генератора 12 тактовых импульсов поступает на синхровход регистра 4 адреса и по заднему его фронту осуществляется запись кода адреса, поступивmего íà его информационный вход с выхода коммутатора 10 адреса. Кроме того, синхроимпульс с первого выхода генератора 12 тактовых импульсов поступает,на первый вход первого элемента И 13, второй и третий входы которого открыты единичными сигналами с выхода элемента ИЛИ-НЕ 18 и выхода 23.1 регистра 5 микрокоманд соответственно. На выходе первого элемента И 13 формируется импульс, который поступает на синхро11308

15 вход счетчика 2 и по заднему его фронту осуществляется запись информации, поступающей на его информационные входы с выхода преобразователя 8.

После записи информации содержимое 5 счетчика 2 стало отличным от нуля и на выходе элемента ИЛИ-HE 18 появляется нулевой сигнал, который блокирует поступление информации по второму информационному входу коммута- 10 тора 10 адреса и разрешает ее прохождение по первому информационному входу. Кроме того, этот сигнал закрывает первый элемент И 13, запрещая тем самым формирование на его выходе синхроимпульса записи и опроса состояния регистра 6 контроля.

После записи адреса первой микрокоманды в регистр 4 адреса происходит считывание соответствующей микро- 20 команды из блока 1 памяти микрокоманд. Немодифицируемь1е разряды адреса очередной микрокоманды с первого его выхода 25 поступают на первый информационный вход коммутатора 10 адреса, который открыт управляющим сигналом с выхода элемента И-НЕ 18.

Модифицируемый разряд адреса очередной микрокоманды поступает с третьего 26 выхода блока 1 памяти микро-30 команд на управляющий вход мультиплексора 9. Если реализуемая микрокоманда не является микрокомандой условного перехода, то поле логических условий является свободным. Со второго выхода 28 блока 1 памяти микрокоманд код микрооперации и управ- . ляющие метки поступают на информационный вход регистра 5 микрокоманд.

По заднему фронту синхроимпульса, по-40 ступающего с второго выхода генератора 12 на синхровход регистра 5 микрокоманд происходит запись информации. Коды микроопераций поступают на выход 23 устройства. Нулевой сигнал с 45 выхода 23.1 регистра 5 микрокоманд поступает на второй вход элемента И 13, управляющий вход блока 16 элементов И и на первый вход элемента И 14, закрывая его. Синхроимпульс 10 с второго выхода генератора 12 тактовых импульсов через элемент 20 sa- держки через время Т поступит на второй вход элемента И 14. Изменения состояния счетчика 2 не произойдет. у

По очередному импульсу с первого

1 выхода генератора 12 тактовых импульсов произойдет запись кода ад65 16 реса второй микрокоманды в регистр 4 адреса. В дальнейшем работа устройства будет продолжаться аналогично описанному.

При записи последней микрокоманды первой микропрограммы значение сигнала на выходе 23.1 регистра 5 микрокоманд меняется на противоположное. .Единичный сигнал с этого выхода бло кирует элемент И 16, открывает элемент И 14 и поступает на заблокированный нулевым сигналом с выхода элемента ИЛИ-НЕ 18 элемент И 13. Синхроимпульс со второго выхода генератора 12 тактовых импульсов через элемент 20 задержки поступает на первый вход открытого элемента И 14, на выходе которого формируется импульс, поступающий на счетный вычитающий. вход счетчика 2 и на синхровход регистра 6 контроля, разрешая запись контрольного кода, записанного в поле логических условий микрокоманды в регистр 6. В адресном поле считанной микрокоманды записан код адреса первой микрокоманды второй микропрограммы. В дальнейшем работа устройства будет аналогична описанной до момента считывания последней микрокоманды последней микропрограммы.

При считывании последней микрокоманды последней микропрограммы из блока 1 памяти микрокоманд значение кода адреса равно нулю. По заднему фронту синхроимпульса, поступающего на синхровход микрокоманд, осуществ:ляется запись информации в регистр 5. ,Единичный сигнал с выхода 23.1 поступает на первые входы элементов И 13 °

И 14. С выхода элемента 20 задержки поступает импульс -на второй вход элемента И 14. Единичный сигнал на выходе этого элемента разрешает запись контрольного кода, записанного в п