первого элемента И, выход которого соединен с входом синхронизации счетчика и первым входом второго элемента И, первьй управляющий выход регистра микрокоманд соединен с вторым входом блока элементов И, третьим входом первого элемента И и первым входом третьего элемента И, выход которого соединен со счетным входом счетчика и входом синхронизации регистра контроля, второй управлякищй выход регистра микрокоманд соединен с входом синхронизации регистра кода операций, а третий управляющий выход регистра микрокоманд соединен с первым входом элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска, выход элемента И-НЕ соединен с вторым входом второго элемента И, выход которого соединен с вторым входом элемента ИЛИ и является выходом ошибки устройства, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, второй выход генератора тактовых импульсов соединен с входом синхронизации регистра микрокоманд и через элемент задержки с вторым, входом третьего элемента И.
название | год | авторы | номер документа |
---|---|---|---|
Микропрограммное устройство управления с контролем | 1983 |
|
SU1140121A1 |
Микропрограммное устройство управления | 1987 |
|
SU1490676A1 |
Микропрограммное устройство управления с контролем | 1986 |
|
SU1305679A1 |
Микропрограммное устройство управления | 1983 |
|
SU1108448A1 |
Устройство управления контролем | 1985 |
|
SU1285471A1 |
Микропрограммное устройство управления | 1983 |
|
SU1133595A1 |
Микропрограммное устройство управления | 1984 |
|
SU1179338A1 |
Микропрограммное устройство управления | 1986 |
|
SU1381506A1 |
Микропрограммное устройство для ввода-вывода информации | 1983 |
|
SU1144099A1 |
Мультимикропрограммная управляющая система | 1983 |
|
SU1133594A1 |
МИКРОПРОГРАММНОЕ УСТРОЙСТВО. УПРАВЛЕНИЯ, содержащее блок памяти микрокоманд, регистр адреса, регистр микрокоманд, триггер пуска, генератор тактовых импульсов, коммутатор адреса, мультиплексор и первый элемент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход, генератора тактовых импульсов соединен с первым входом первого элемента И, выход коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд, вход логических условий устройства соединен с первым информати онным входом мультиплексора, выход которого и первый выход блока памяти микрокоманд соединены с первым информационным входом коммутатора адреса, второй выход блока памяти микрокоманд соединен с информаци онным входом регистра микрокоманд, выход которого является информационным выходом устройства, о т л ичающееся тем, что, с целью рас1Ш1рения области применения устройства, в него введены регистр кода опера1Д1й, регистр контроля, счетчик, формирователь адреса первой микрокоманды, преобразователь кода операций в код числа команд,блок элементов И, второй и третий элементы И-НЕ,элемент ИЛИ-НЕ, элемент ИЛИ,элемент И-НЕ и элемент задержки, причем вход кода операции устройства соединен с информационным входом регистра кода операi ции, выход которого соединен с вхо(Л дами формирователя адреса первой микрокоманды и преобразователя кода операции в код числа команд, выход формирователя адреса первой микрокоманды соединен с вторим информационным входом коммутатора адреса, третий выход блока памяти микрокоманд соединен с вторым информационсо о эо ным входом мультиплексора, четвертый выход блока памяти микрокоманд соединен с информационными входами ре9 У1 гистра контроля и с первым входом блока элементов И, выходы регистра контроля соединены с соответствующими входами элемента И-НЕ, выход блока элементов И соединен с управляющим входом мультиплексора, выход преобразователя кода операции в код числа команд соединен с информационным входом счетчика, выходы которого соединены с соответствующими входами элемента ИЛИ-НЕ, выход элемента ИЛИНЕ соединен с управляющими входами .коммутатора адреса и вторым входом
Изобретение относится к цифровой вычислительной технике и может быть использовано при проектировании микропрограммных управляницих устройств для ЭВМ и вычислительных систем.
Известно микропрограммное .устройство управления с контролем, содержащее блок памяти микрокоманд, регистр адреса, буферный регистр, схему сравнения, элементы И, ИЛИ 1.
Недостатком указанного устройства являются его низкие функциональные возможности, обусловленные отсутствием контроля правильности работы устройства при реализации микропрограмм.
Известно микропрограммное устройство управления с контролем, содержащее блок памяти микрокоманд, регистр адреса микрокоманд, реги.стр адреса, буферный регистр, схемы сравнения, элементы И, ИЛИ 12.
Недостатком указанного устройства являются низкое быстродействие, обусловленное неэффективным использо ванием рабочего времени устройства.
Наиболее близким к предлагаемому изобретению по технической сущности является микропрограммное устройство управления, содержащее блок памяти микрокоманд, регистры адреса и микрокоманд, триггер пуска, генератор .тактовых импульсов, коммутатор адреса, мультиплексор -и элемент И, причем вход пуска устройства соедииен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход генератора тактовых импульсов соединен с первьш входом первого элемента И; выход коммутатора адреса соединен с информационным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд; вход логических условий устройства соединен с первым информационным входом мультиплексора, выход которого совместно с первым выходом блока памяти микрокоманд соединей с первым информационным входом коммутатора адреса ; второй выход блока памяти ми1 рокоманд соединен с информационным входом регистра микрокоманд, информационный выход которого соединен с информационным выходом устрЪйства 33.
Недостатком данного устройства является узкая область применения, вызванная невозможностью реализации составных команд. Это обусловлено тем, что после вьтолнения микропрограммы, интерпретирующей команду процессора вычислительной машины,
ля определения кода очередной микророграммы необходимо обращение к основной оперативной памяти процессора. При такой организации работы устойства после реализации последней икропрограммы текущей микропрограмы для определения адреса первой микрокоманды очередной микропрограммы необходимо обращение к основной оперативной памяти процессора для определения кода- операции. Таким образом, существенно снижается быстродействие процессора, в котором используется устройство за счет того, ч.то оно всякий раз после выполнения микропрограммы находится в режиме ожидания до момента поступления кода операции. В известном устройстве также отсутствует организация контроля ттрат вильности его функционирования. Это обуславливает низкую достоверность его функционирования, значительно ограничивает его функциональные возможности и область применения. Таким образом, невозможность реализации составных команд, временные задержки в работе микропрограммного устройства управления, обусловленные необходимостью ожидания поступления кода операции на вход устройства и отсутствие контроля правильности его функционирования значительно ограничивают функциональные возможности и сужают область применения устройст ва. Целью изобретения является расширение области применения устройства путем обеспечения микропрограммной реализации составных команд и органи зации контроля их выполнения. Поставленная цель достигается тем что микропрограммное устройство управления, содержащее блок памяти ь крокоманд, регистр адреса, регистр микрокоманд, триггер пуска, генерато тактовых импульсов, коммутатор адреса, мультиплексор и первый элемент И, причем вход пуска устройства соединен с единичным входом триггера пуска, единичный выход которого соединен с входом генератора тактовых импульсов, первый выход генератора тактовых импульсов соединен-с первым входом первого элемента И, выхсд ком мутатора адреса соединен с информаци онным входом регистра адреса, выход которого соединен с входом блока памяти микрокоманд, вход логических условий устройства соединен с первым информационным входом мультиплексора выход которого и первый выход блока памяти микрокоманд соединены с первым информационным входом коммутато ра адреса, второй выход блока памяти микрокоманд соединен с информационным входом регистра микрокоманд, ийформационный выход которого является информационным выходом устройства, дополнительно введены регистр кода операций, регистр контроля, счетчик, формирователь адреса первой микрокоманды, преобразователь кода операции в код числа команд, блок элементов И, второй и третий элементы И, элемент ИЛИ-НЕ, элемент ИЛИ, элемент ИНЁ и элемент задержки, причем вход кода операции устройства соединен с информационным входом регистра кода операции, выход которого соединен с входами формирователя адреса первой микрокоманды и преобразователя кода операции в код числа команд, выход формирователя адреса первой микрокоманды соединен с вторым информационным входом коммутатора адреса, третий выход блока памяти микрокоманд соединен с вторым информационным входом мультиплексора, четвертьй выход блока памяти микрокоманд соединен с информационными входами регистра контроля и с первым входом блока элементов И, выкоды регистра контроля соединены с соответствующими входами элемента И-НЕ, выход блока элементов И соединен с управляющим входом мультиплексора, выход преобразователя кода операции в код числа команд соединен с информационным входом счетчика, выходы которого соединены с соответствующими входами элемента ИЛИ-НЕ, выход элемента ИЛИ-НЕ соединен с управляющими входами коммутатора адреса и вторым входом первого элемента И, выход которого соединен с входом синхронизации счетчика и nepBbiM входом второго элемента И, первый управляющий выход регистра микрокоманд соединен с вторым входом блока элементов И, третьим входом первого элемента И и первым входом третьего элемента И, выход которого соединен со счетным входом счетчика и входом синхронизации регистра контроля, второй управляющий выход регистра микрокоманд соединен с входом синхронизации регистра кода операций, а третий управляющий выход регистра микрокоманд соединен с первым входом элемента ИЛИ, выход которого соединен с нулевым входом триггера пуска, выход элемента И-НЕ соединен с вторым входом второго элемента И, выход которого соединен с вто- рым входом элемента ИЛИ и является выходом ошибки устройства, первый выход генератора тактовых импульсов соединен с входом синхронизации регистра адреса, второй выход генерато ра тактовьпс импульсов соединен с входом синхронизации регистра микрокоманд и через элемент задержки с вторым входом третьего элемента И Сущность изобретения состоит в расширении области применения устройства путем выполнения Ьоставных команд на основе микропрограммной реализации переходов между командами за счет записи очередного кода операции в адресном поле последней микрокоманды текущей микропрограммы; организации контроля составных команд путемсложения контрольных признаков, записанных в свободных полях логических условий последних микрокоманд в микропрограммах. В процессе реализации микропрограммным устройством управления сос тавных команд в адресном поле послед ней микрокоманды записывается код, соответствующий адресу первой микро команды очередной микропрограммы. Если реализуется составная команда, содержащая четыре микропрограммы, т в последних микрокомандах первойтрет.ьей микропрограмм будут записаны коды, соответствующие адресам первых микрокоманд второй-четвертой микропрограмм соответственно В поле логических условий послед ней микрокоманды первой микропрогра мы будет записан код К, в соответствующем поле последней микрокоманды второй микропрограммы будет записан код К, в соответствующем поле последней микрокоманды третьей микропрограммы будет записан код К, а в поле логических условий последней микрокоманды четвертой микропрограм мы будет записан код К. Правильность вьшолнения составной команды определяется путем сложения на моду лю два контрольных кодов посл окончания вьтолнения последней микрокоманды последней микропрограммы. Следовательно, использование ест ственной избыточности форматов микрокоманд позволяет при реализации составных команд осуществлять переход на микропрограммном уровне мезкд образующими их элементарными командами и организовать koHTponb правильности реализации команд, что и повьштает быстродействие процессора, в котором используется устройство и достоверность его функционирования и тем самым способствует расширению области его применения. Сущность изобретения реализуется путем введения следующих элементов и связей. Введение регистра кода операции и обусловленных им связей необходимо для записи кода операции и его хранения . Введение регистра контроля и обусловленных им связей необходимо для организации контроля правильности реализации составных команд пугем суммирования по модулю контрольных признаков. Введение счетчика и обусловленных им связей необходимо для организа ции счета реализованных элементар- ных команд, образующих составную команду. Введение формирователя адреса первой микрокоманды и обусловленных им связей необходимо для формирования адреса первой микрокоманды реализуемой микропрограммы по коду ongрации. Введение преобразователя кода операции в код числа команд и обусловленных им связей необходимо для формирования кода числа элементарных команд, реализуемых устройством по соответствующему коду операции, Введение блока элементов И и обусловленных им связей необходимо для управления передачей в мультиплексор кода проверяемых логических условий при реализации микрокоманд условных переходов. Введение второго элемента И и условленных им связей необходимо для формирования сигнала прерывания работы устройства в случае возникровения сбоя или ошибки. Введение третьего элемента И и обусловленных им связей необходимо для формирования сигналов в управлении работой регистра контроля и импульсов счета числа реализованных элементарных команд. Введение элемента И-НЕ и обусловленньпс им связей необходимо для формирования сигнала ошибки при значении кода, записанного в регистр контроля не равном нулю. Введение элемента ИЛИ и обусловленных им связей необходимо для формирования сигнала прекращения работы устройства при возникновении сбоя, а также по. сигналу конца работы реги стра микрокоманд. Введение элемента ИЛИ-НЕ и обусловленных им связей необходимо для формирования сигнала управления коммутатором адреса для записи кода ад реса очередной микрокоманды в регист адреса, а также сигнала, разрешающего запись кода числа элементарных команд в счетчик. Таким образом, благодаря введению новых элементов и связей микропрограммное устройство управления обеспечивает более высокое быстродействие и достоверность функционирования процессора, что в значительной степе ни расширяет его функциональные возможности и область применения. На фиг. 1 представлена функциональная схема микропрограммного уст . ройства управления: на фиг. 2 - вре менная диаграмма его работы. Микропрограммное устройство управ ления (фиг. 1) содержит блок 1 памяти микрокоманд, счетчик 2, регистр 3 кода операции, регистр А адреса, регистр 5 микрокоманд, регистр 6 контроля, формирователь 7 ад реса первой микрокоманды, преоб(разователь 8 кода операции в код числа команд, мультиплексор 9, коммутатор 10 адреса, триггер 11 пуска, ге нератор 12 тактовых импульсов, первый элемент И 13, третий элемент И 14, второй, элемент И 15, блок 16 элементов И, элемент И-НЕ 1 элемент ИЛИ-НЕ 18, элемент ИЛИ 19, элемент 20 задержки, вход 21 кода операции устройства, вход 22 логических условий устройства, выход 23 устройства микрокоманд устройства, первый управляющий выход (конца команды) 23.1 регистра 5 микрокоманд, второй управляющий выход (занесения кода) операции 23.2 регистра 5 микрокоманд, третий управляющий выход (конца работы) 23.3 регистра 5 микрокоманд, выход 24 пуска устройства первый выход (немодифицирующих разрядов кода адреса) 25 блока 1 памяти микрокоманд, третий выход (модифицируемых разрядов кода адреса) 26 блока 1 памяти микрокоманд, четвертый выход (кода логических усло15 8 вий) 27 блока 1 памяти микрокоманд, второй выход (микроопераций) 28 блока 1 памяти микрокоманд, выход 29 ошибки устройства. Назначение основных элементов микропрограммного устройства управления (фиг. 1) состоит в следующем. Блок 1 памяти микрокоманд предназначен для хранения микропрограмм, реализуемых устройством. Счетчик 2 предназначен для записи и подсчета числа реализованных микропрограмм. Запись кода числа микропрограмм осуществляется по заднему фронту импульса синхронизации. Вычитание 1 из содержимого счетчика осуществляется также по заднему фронту импульса счета. Регистр 3 кода операции предназначен для записи и хранения кода опё|рации. Запись кода операции осуществляется по переднему фронту синхроимпульса. Регистр 4 адреса предназначен для хранения адреса очередной микрокоманды. Запись следующего адреса в регистр 4 адреса осуществляется по заднему фронту первого тактового импульса, формируемого генератором 12 тактовых импульсов. Регистр 5 микрокоманд предназначен для приема, хранения и вьщачи микрокоманд с полями: информационным (микроопераций); управляющими; метки конца команды, занесения кода операций, конца работы устройства. В информационном поле записываются коды микроопераций реализуемых микрокоманд; в поле метки Концы команды последней микрокоманды калздой микропрограммы записывается 1. Для остальных команд значение этого разряда равно О. В поле метки Запись кода операции записывается единичный сигнал последней микрокоманде последней микропрограммы составной или элементарной команды. Для остальных микрокоманд значение этого раз- ; ряда равно О. В поле метки Конец работы устройства записывается единичное значение в той микрокоманде, после реализации которой необходимо прервать (закончить) работу устройства. Для остальных микрокоманд значение этого разряда равно О. Регистр 6 контроля выполнен на Ттриггерах и предназначен для организации контроля правильности функционирования устройства путем суммирования по модулю для контрольных признаков, поступающих с выхода логических условий 27 блока 1 памяти микрокоманд. Суммирование осуществляется по заднему фронту импульса счета числа реализованных микропрограмм.
Формирователь 7 адреса первой микрокоманды предназначен для формирования кода адреса первой микрокоманды реализуемой микропрограммы по коду операции, преобразователь 8 кода операции в код числа команд предназначен для формирования кода числа реализуемых микропрограмм в соотвётствии с кодом операции.
Рассмотрим на конкретном примере алгоритмы функционирования формирователя 7 и преобразователя 8, т.е. алгоритмы формирования кодов адресов первых микрокоманд и кодов чисел реализуемых микропрограмм.
Предположим, что всю совокупность команд процессора, которую необходимо реализовать, можно представить следующим образом
K Kf UKf3UKf UK ,
где К - Составная команда К, которая реализуется устройством в соответствии с ука занной последовательностью Кг - составная команда - составная команда Kg Kg; К, - элементарная команда процессора, соответсвующая команде процессора (команда К может совпадать с любой из элементарных команд К -Kg) .
Пусть составной команде соответствует код операции 001; составной команде К - код операции СЮ; составной команде К - код опера-р ции 011, а элементарной команде соответствует код операции 100.
В соответствии с кодом операции формирователь 7 формирует код адреса первой микрокоманды первой микропрограммы в реализуемой составной (элементарной) команде.
Формирователь 7 реализует систему булевых функций, состоящую из управлений, каждое из которых описывает соответствующий выход формирователя и представляется в виде дизъюнктивной нормапьной формь. Число уравнений в системе определяется разрядностью адреса микрокоманд. Пусть разрядность адреса равна 4 и выбран следующий вариаат кодирования начальных адресов. При поступлении кода операции 001, соответствующего составной команде К, на выходе матрицы сформируется код 0001; при поступлении кода операции, соответствующего составной команде , сформируется код 0101; при поступлении кода операции 011, соответствующего составной команде Kj. сформируется код 1000; при поступлении кода операции 100, соответствующего элементарной команде, сформируется код 1010.
Тогда система управлений, реализуемых формирователем 7, будет иметь вид.
С,
где Ci.() i-ЯВыходная переменная фотзмйрователя 7, соответствующая i-му разряду кода адреса; xj() - j-я входная перемен ная .соответствующая j-му разряду кода операции.
В соответствии с данной системой управлений формирователь 7 может быть реализован на программируемой , логической матрице, имеющей три вхора х,Х2, Xj, четьфе выхода С , С, Сз. С4 .
Преобразователь 8 формирует код числа микропрограмм, интерпретирующих реализуемую процессором команду. Реализация составной команды К требует выполнения четьгрех микропрограмм; реализация составной команды К - трех микропрограмм; реализация составной команды К - двух микропрограмм; реализация элементарной команды к| потребует выполнения только одной микропрограммы. При поступлении навход преобразователя 8 кодов операций 001, 010, 011, 100, на выходе его будут сформированы коды числа микропрограмм 100, 011 010, 001 соответственно.
Система управлений, реализуемых преобразователем 8, имеет вид
С х Х2Хз;
, 7 У 3 7 ( И
всоответствии, с данной системой управлений преобразователь 8 может быть реализован на программируемой логической матрице, имеющей три входа х,,Х2, Xj, и три выхода С , и Cj,
Мультиплексор 9 предназначен для модификации адреса микрокоманды, следующей за микрокомандой ветвления Модификация адреса осуществляется путё.м изменения значения последнего разряда модифицируемых разрядов адреса. Для этой цели на первый информационный вход с входа 21 устройства поступает код значений логических условий. На управляющий вход мультиплексора 9 поступает код проверяемых логических условий. На второй информационный вход мультиплексора 9 поступают значения миадшего модифициру мого разряда адреса. При значениях проверяемых логических условий, рав ных О, изменения значений модифицируемых разрядов адреса не происхо дит. Адрес очередной микрокоманды определяется значением кода адреса на первом 25 выходе блока 1 памяти микрокоманд; В противном случае происходит модификация адреса путем изменения с нуля на единицу значени модифицируемого разряда адреса. Адрес очередной микрокоманды определяется немодифицируемыми разрядами, поступающими с первого 25 выхода блока 1 памяти микрокоманд, и модифицируемым разрядом, поступающим с выхода мультиплексора 9. Коммутатор 10 адреса предназначен для организации записи адреса очередной микрокоманды. При реализа ции первой микрокоманды составных и элементарных команд код адреса постзгпает с выхода формирователя 7 на второй информационный вход. Адре са всех остальных микрокоманд посту пают через первый информационный вход. Триггер 11 пуска предназначен дл управления работой генератора 12 тактовых импульсов. Генератор 12 тактовых импульсов предназначен для формирования синхроимпульсов. Синхр импульсы с первого выхода осуществляют синхронизацию записи кода числ элементарных команд в счетчик 2 и записи кода адреса в регистр 4 адре са. Синхроимпульсы с его второго выхода осуществляют синхронизацию
записи кода микрокоманд в регистр 5 микрокоманд.
Первьй элемент И 13 предназначен для управления синхровходом счетчика 2. Блок 16 элементов И предназна чен для управления подачей на мультй.плексор 9 кода проверяемых логических условий.
Второй элемент И 15 предназначен для формирования сигнала прерывания работы устройства при возникновении сбоя или ошибки в процессе функционирования. Третий элемент И 14 предназначен для управления подачей импульсов на счетный (вычитающий) вход ,счетчика 2. Элемент И-НЕ 17 предназначен для формирования сигнала ошибки работы устройства. Элемент ИЛИ 19 предназначен для формирования сигнала обнуления триггера 11 пуска. Элемент ИПИ-НЕ 18 предназначен для управления работой коммутатора 10 адреса при записи информации в регистр 4 адреса и формирования сигнала разрешения на запись информации в счетчик 2. Элемент 20 задержки предназначен для задержки синхроимпульса с второго выхода генератора 12 тактовых импульсов на время tj, причем Tj больше времени переключения элементов памяти регистра 5 микрокоманд. Вход 21 устройства является входом кода операции, который опреде- ляет адрес первой микрокоманды. Микропрограммное устройство управления функционирует следующим образом. В соответствии с кодом операции, поступающим на вход 21 устройства, осуществляется запись кода адреса первой микрокоманды в регистр 4 адреса и кода числа микропрограмм в счетчик 2. Так, поступлении ,кода операции 001, соответствующего составной команде ,,, в регистр 4 адреса будет записан код 0001, соответствующий адресу первой микрокоманды первой из четырех реализуемых микропрограмм. В счетчике 2 будет записан код 100, соответствующий чис.у реализуемых микропрограмм. Запись информации в регистр 4 адреса и счетчик 2 осуществляется одновременно по синхроимпульсам, поступаюпщм с первого выхода генератора 12 тактовых и тульсов. После считывания информации из блока 1 памяти микрокоманд осуществ131ляется ее запись в регистр 5 микрокоманд для управления работой процессора. Запись информации в регистр 5 микрокоманд осуществляется по синхроимпульсам, поступающим с второго выхода генератора 12 такт вых импульсов. Адрес очередной микр команды с первого 25 выхода блока 1 памяти микрокоманд через коммутатор 10 адреса записывается в регистр 4 адреса для дальнейшей реали зации цикла обработки микрокоманды. В случае необходимости перехода к адресу очередной микрокоманды по условному переходу в мультиплексоре 9 происходит модификация младшег разряда адреса по коду проверяемых условий и их значению. При нулевом значении проверяемого логического условия адрес очередной микрокоманды полностью определяется значениям немодифицируемых разрядов адреса. В случае единичного значения условия адрес очередной микрокоманды изменяется на единицу (в младшем ра ряде). После записи последней микро,команды первой микропрограммы в регис,тр 5 мии:рокоманд происходит умень шение содержимого счетчика 2 на единицу и запись контрольного признака К в регистр 6 контроля. Поскольку реализуемая команда К является составной, адрес первой микрокоманды очередной микропрограммы через коммутатор 10 адреса записывается в регистр 4 адреса с первого выхода блока 1 памяти микрокоманд. После реализации второй микропрограммы также происходит изменение состояния счетчика .2 и запись второго контроль ного признака К в регистр 6 конт;роля. После завершения считывания последней микрокоманды последней микропрограммы счетчик 2 обнуляется и происходит опрос значений инверсньк выходов регистра 6 контроля. При :нормальном функционировании устройства после выполнения последней элементарной команды регистр 6 должен быть обнулен и на выходе элемента И-НЕ 17 сигнал равен О. В случае возникновения сбоя или отказа в процессе функционирования устройства сигналом блокировки происходит обнуление триггера 11 пуска и работа устройства в рабочем режиме будет запрещена. При отсутствии сбоев или отказов в работе устройст5ва цикл реализации очередной команды по соответствующему коду операции будет повторен. В случае вьтолнения элементарной команды К, реализуемой одной микропрограммой, работа устройства будет аналогична описанной, однако после считывания последней микрокоманды микропрограммы в регистр 6 контроля будет занесен код, состоящий из одних нулей. Микропрограммное устройство управления работает следующим образом. В исходном состоянии все элементы памяти устройства (фиг. 1) находятся в нулевом состоянии. На выходе 23.2 регистра 5 присутствует единичный сигнал. Код операции, соответствующий коду составной команды К и равный 001, поступает с входа 21 кода операции устройства на информационный вход регистр 3 кода операции. По разрешающему сигналу с второго 23.2 управляющего выхода регистра 5 микрокоманд происходит запись кода операции в регистр 3. Формирователь 7 формирует код адреса 0001 первой микрокоманды первой микропрограммы. Код адреса поступает на второй информационный вход коммутатора 10 адреса, на управляющий вход которого поступает сигнал 1 с выхода элемента ИЛИ-НЕ 18. Преобразователь 8 формирует код числа микропрограмм, которые будут реализованы в течение цикла выполнения команды Kf. По сигналу Пуск с входа-21 устройства триггер 11 пуска устанавливается в единичное состояние и включает генератор 12 тактовых импульсов. Синхроимпульс с первого выхода генератора 12 тактовых импульсов поступает на синхровход регистра 4 адреса и по заднему его фронту осуществляefcя запись кода адреса, поступившего на его информационный вход с выхода коммутатора 10 адреса. Кроме того, синхроимпульс с первого выхода генератора 12 тактовых импульсов поступает .на первый вход первого элемента И 13, второй и третий входы которого открыты единичными сигналами с выхода элемента ИЛИ-НЕ 18 и выхода 23.1 регистра 5 микрокоманд соответственно. На выходе первого элемента И 13 формируется импульс, который поступает на синхровход счетчика 2 и по заднему его фронту осуществляется запись информа ции, поступающей на его информационные входы с выхода преобразователя 8 После записи информации содержимое счетчика 2 стало отличным от нуля и на выходе элемента ИЛИ-НЕ 18 появляется нулевой сигнал, который блокТнрует поступление информации по вто рому информационному входу коммутатора 10 адреса и разрешает ее прохождение по первому информационному; входу. Кроме того, этот сигнал закры вает первьй элемент И 13, запрещая тем самым Формирование на его выхрде синхроимпульса залией и опроса состояния регистра 6 контроля. После записи адреса первой микрокоманды в регистр 4 адреса происходит считывание соответствующей микро команды из блока 1 памяти микрокоманд. Немодифицируемйе разряды адреса очередной микрокоманды с первого его выхода 25 поступают на первый информационный вход коммутатора 10 адреса, который открыт управляющим сигналом с выхода элемента И-НЕ 18. Модифицируемьй разряд адреса очередной микрокоманды поступает с тре тьего 26 выхода блока 1 памяти микро команд на управляющий вход мультиплексора 9. Если реализуемая микрокоманда не является микрокомандой условного .перехода, то поле логических условий является свободным. Со вт орого выхода 28 блока 1 памяти мик рокоманд код микрооперации;и управляющие метки поступают на информационный вход регистра 5 микрокоманд. По заднему фронту синхроимпульса, по ступающего с второго выхода генерато ра 12 на синхровход регистра 5 микро команд происходит запись информации. Коды микроопераций поступают на выход 23 устройства. Нулевой сигнал с выхода 23.1 регистра 5 микрокоманд поступает на второй вход элемента И 13, управляющий вход блока 16 элементов И и на первый вход элемента И 14, закрывая его. Синхроимпульс с второго выхода генератора 1.2 такто вых импульсов через элемент 20 задержки через время Т поступит на второй вход элемента И 14. Изменения состояния счетчика 2 не произойдет. По очередному импульсу с первого выхода генератора 12 тактовых импульсов произойдет запись кода ад- 1 5 реса второй микрокоманды в регистр 4 адреса, В дальнейшем работа устройства будет продолжаться аналогично описанному. . . При записи последней микрокоманды первой микропрограммы значение сигнала на выходе 23.1 регистра 5 микрокоманд меняется на противоположное. Единичный сигнал с этого выхода блокирует элемент И 16, открывает элемент И 14 и поступает на заблокированный нулевым сигналом с выхода элемента ИЛИ-НЕ 18 элемент И 13. Синхроимпульс со второго выхода генератора 12 тактовых импульсов через элемент 20 задержки поступает на первый вход открытого элемента И 14, на выходе которого формируется импульс, поступакнций на счетный вычитающий. ; вход счетчика 2 я на синхровход регистра 6 контроля, разрешая запись контрольного кода, записанного в поле логических условий микрокоманды в регистр 6. В адресном поле считанной микрокоманды записан код адреса первой микрокоманды второй микропрограммы. В дальнейшем работа устройства будет аналогична описанной до момента считывания последней микрокоманды последней микропрограммы. При считывании последней микрокоманды последней микропрограммы из блока 1 памяти микрокоманд значение кода адреса равно нулю. По заднему фронту синхроимпульса, поступающего на синхровход микрокоманд, осуществЛяется запись информации в регистр 5. Единичный сигнал с выхода 23.1 поступает на первые входы элементов И 13, И 14. С выхода элемента 20 задержки поступает импульс -на второй вход элемента И 14, .Единичный сигнал на выходе этого элементаразрешает запись контрольного кода, записанного в поле логических условий считанной рокоманды, в регистр 6 контроля. Кроме того, по этому сигналу происходит обнуление счетчика 2 и на выходе элемента ИДИ-НЕ 18 появится сигнал 1, который поступает наа третий вход элемента И 13, поддерживая его в открытом состоянии, а также на управляю1ЦИЙ вход коммутатора 10 адреса, запрещая передачу адреса по первому информационному входу и разрешая передачу по второму информационному входу.
Синхроимпульс с первого выхода генератора 12 тактовых импульсов поступит на первый вход элемента И 13 и на вход синхронизации регистра 4 адреса. Единичный сигнал, сформированный на выходе элемента И 13, поступит на первый вход элемента И 15, опрашивая состояние инверсных выходов регистра 6 контроля. В случае безошибочной реализации микропрограммы на всех инверсных выходах регистра 6 контроля будут единичные сигналы, на выходе элемента И-НЕ 17 - нулевой сигнал, который поступает на второй вход элемента И 15. Сигнал ошибки устройства в этом случае сформирован не будет.
В случае неправильной реализации составной команды значение контрольной суммы, хранящейся в регистре 6 контроля, отлично от нуля и тогда на выходе элемента И-НЕ 17 присутствует единичный сигнал. В результате на выходе элемента И 15 будет сформирован сигнал ошибки, который поступает на второй вход элемента ИЛИ 19, этим сигналом обнулится триггер 11 пуска и работа устройства будет заблокирована.
При реализации элементарной команды К. формирователь 7 сформирует код адреса первой микрокоманды, равный 1010. Преобразователь на своем вьгходе сформирует код 001. Работа устройства по реализации микропрограммы не будет отличаться от описанной. При вьшолнении последней микрокоманды микропрограммы, кроме нулевого кода адреса очередной микрокоманды, нулевым будет и поле логических условий.
Использование изобретения позволит расширить область применения устройства благодаря осуществлению возможности реализации с;оставных команд. а
Фиг.1 23
Фиг2
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Микропрограммное устройство управления | 1982 |
|
SU1020824A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Способ отопления гретым воздухом | 1922 |
|
SU340A1 |
Переносная печь для варки пищи и отопления в окопах, походных помещениях и т.п. | 1921 |
|
SU3A1 |
и Новиков Г.И | |||
Структура ЭВМ-Л.,Машиностроение, 1979, с | |||
Способ получения древесного угля | 1921 |
|
SU313A1 |
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами | 1921 |
|
SU10A1 |
Авторы
Даты
1984-12-23—Публикация
1983-09-30—Подача