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

Реферат

 

Изобретение относится к автоматике и вычислительной технике. Применяется при построении систем управления технологическими процессами. Устройство содержит блок памяти микрокоманд, счетчик адреса, регистр микроопераций, счетчик времени задержки, коммутатор направления приема адреса, триггер режима, дешифратор направления передачи управления, шифратор признака микропрограммы, элемент запрета, шину микроопераций, пять элементов ИЛИ, шифратор адреса приема управления, регистр признака микропрограммы, счетчик количества передач управления, триггер настройки, группу элементов ИЛИ, шесть элементов И и элемент задержки. 6 ил.

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

Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, мультиплексоры адреса и логических условий, демультиплексор, два регистра логических условий, регистр номера, два коммутатора, два дешифратора, шифратор, генератор тактовых импульсов, триггеры пуска и управления, блок элементов ИЛИ, группу элементов ИЛИ, два элемента И и два элемента ИЛИ (а.с. СССР N 1647519, кл. G 05 B 19/18; опубл. 07.05.91, БИ N 17).

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

Наиболее близким к предлагаемому устройству по технической сущности является устройство для программного управления, содержащее блок памяти микрокоманд, счетчики адреса и времени задержки, регистр микроопераций, коммутатор направления приема адреса, триггер режима, шифратор направления приема управления, дешифратор направления передачи управления, шину микроопераций, элемент запрета, четыре элемента ИЛИ и два элемента И (а.с. СССР N 1800445, кл. G 05 B 19/18; опубл. 07.03.93; БИ N 9).

Недостатком данного устройства является узкая область применения, обусловленная низкой функциональной гибкостью, что объясняется следующими особенностями. При функционировании устройства в составе управляющей системы обеспечивается возможность приема управления (инициализации) как от внешнего устройства, так и от других аналогичных устройств. Прием управления происходит после появления единичного сигнала на одной из входных линий инициализации устройства и осуществляется с использованием фиксированного ("жесткого") адреса, который однозначно определяется номером входной линии, по которой поступает сигнал инициализации, т.е. номером другого устройства, выполняющего передачу управления. Принятый способ определения адресов приема управления не позволяет организовать возможность многократного приема управления от одного и того же устройства по различным адресам инициализации и, следовательно, вводит существенные ограничения на порядок размещения фрагментов микропрограмм в памяти отдельных модулей системы. Так, например, если при реализации s-й микропрограммы имеет место передача управления между устройствами l и m (l _ m), то передача управления вида l _ m при реализации другой (t-й) микропрограммы оказывается невозможной, так как приводит к инициализации устройства m с одного и того же "жесткого" адреса. В силу аналогичных причин невозможны последовательности передач управления вида l _ m, m _ n, ..., q _ l, l _ m при реализации одной микропрограммы. Рассмотренные особенности организации взаимодействия устройства с другими аналогичными устройствами снижают его функциональную гибкость и, таким образом, существенно ограничивают область применения.

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

Техническая задача решается тем, что в модульное устройство для программного управления, содержащее блок памяти микрокоманд, счетчик адреса, регистр микроопераций, счетчик времени задержки, коммутатор направления приема адреса, триггер режима, дешифратор направления передачи управления, шифратор признака микропрограммы, элемент запрета, шину микроопераций, первый и второй элементы И, с первого по четвертый элементы ИЛИ, причем входы шифратора признака микропрограммы с первого по l-й (где l - максимальное число идентичных устройств, образующих управляющую систему) соединены с входами инициализации устройства с первого по l-й соответственно, выход первого элемента ИЛИ подключен к J-входу триггера режима и к первому и второму управляющим входам коммутатора направления приема адреса, выход которого соединен с информационным входом счетчика адреса, выход которого соединен с адресным входом блока памяти микрокоманд, выход микроопераций которого подключен к информационному входу регистра микроопераций, выход которого соединен с информационным входом элемента запрета, выход которого подключен к шине микроопераций, выход признака формата блока памяти микрокоманд подключен к управляющему входу дешифратора направления передачи управления, к первому входу второго элемента ИЛИ и к K-входу триггера режима, прямой выход которого соединен с управляющим входом элемента запрета, а также с вторым входом второго элемента ИЛИ, выход которого подключен к первым входам первого и второго элементов И, выход адреса/номера модуля блока памяти микрокоманд соединен с информационным входом дешифратора направления передачи управления, с первым информационным входом коммутатора направления приема адреса и группой входов третьего элемента ИЛИ, выход которого соединен с управляющим входом счетчика адреса, выход времени задержки блока памяти микрокоманд подключен к информационному входу счетчика времени задержки, выход переноса которого соединен с синхровходом и счетным входом счетчика адреса, информационный выход счетчика времени задержки подключен к входам четвертого элемента ИЛИ, выход которого соединен с управляющим входом счетчика времени задержки, первый вход синхронизации устройства соединен с синхровходом триггера режима и с вторым входом первого элемента И, выход которого подключен к синхровходу и счетному входу счетчика времени задержки, второй вход синхронизации устройства является вторым входом второго элемента И, выход которого соединен с синхровходом регистра микроопераций, дополнительно введены шифратор адреса приема управления, регистр признака микропрограммы, счетчик количества передач управления, триггер настройки, группа из l-1 элементов ИЛИ, с третьего по шестой элементы И, пятый элемент ИЛИ и элемент задержки, причем входы инициализации устройства с первого по l-й соединены с соответствующими входами пятого элемента ИЛИ, выход которого подключен к первым входам третьего и четвертого элементов И и к синхровходу триггера настройки, на D-входе которого постоянно находится потенциал логической единицы, инверсный выход триггера настройки соединен с вторым (инверсным) входом третьего элемента И и с вторым входом четвертого элемента И, выход которого подключен к входу элемента задержки, выход которого подключен к синхровходу регистра признака микропрограммы, информационный вход которого соединен с выходом шифратора признака микропрограммы, выход третьего элемента И подключен к первому входу первого элемента ИЛИ, выход которого соединен со счетным входом счетчика количества передач управления, выход которого в объединении с выходом регистра признака микропрограммы подключен к входу шифратора адреса приема управления, выход которого соединен с вторым информационным входом коммутатора направления приема адреса, l-й вход инициализации устройства соединен с вторым входом первого элемента ИЛИ, а также с первыми входами первого, второго,..., (l-1)-го элементов ИЛИ группы, вторые входы которых подключены к первому, второму, . . ., (l-1)-му выходам дешифратора направления передачи управления соответственно, а выходы являются первым, вторым,...,(l-1)-м выходами передачи управления устройства соответственно, выход признака формата блока памяти микрокоманд соединен с третьим и четвертым управляющими входами коммутатора направления приема адреса, с первым входом пятого элемента И и с первым входом шестого элемента И, выход которого соединен с входом сброса регистра микроопераций, выход переноса счетчика времени задержки подключен к второму входу шестого элемента И и к второму входу пятого элемента И, выход которого подключен к входам сброса регистра признака микропрограммы, счетчика количества передач управления и триггера настройки, выход признака конца микропрограммы блока памяти микрокоманд соединен с третьим входом пятого элемента И и с входом третьего элемента ИЛИ.

Сущность изобретения заключается в следующем.

Предлагаемое устройство совместно с другими аналогичными устройствами (модулями) включается в состав управляющей системы, которая обеспечивает возможность реализации микропрограмм значительной сложности путем распределения их фрагментов между различными устройствами и организации возможности последовательной передачи управления. Передача и прием управления между каждой парой устройств осуществляется путем подачи единичных сигналов по двум физическим линиям и использования фиксированных ("жестких") адресов приема управления, что обеспечивает минимальную сложность межмодульного интерфейса. В отличие от прототипа, где адрес приема управления однозначно определяется номером входа, на который поступает сигнал передачи управления (направлением приема управления), в предлагаемом устройстве указанный адрес не зависит от направления приема управления, а определяется порядковым номером текущей передачи управления данному устройству (номером обращения к данному устройству) и признаком выполняемой микропрограммы. Для обеспечения возможности запуска системы со стороны внешнего устройства (центрального процессора) каждый модуль имеет дополнительный вход, а номер выполняемой микропрограммы однозначно задается номером модуля, запускаемого при инициализации управляющей системы первым.

Сущность изобретения поясняется чертежами, где на фиг. 1 представлена функциональная схема модульного устройства для программного управления; на фиг. 2 - пример управляющей системы, построенной на базе пяти идентичных устройств; на фиг. 3 - форматы микрокоманд, реализуемых устройством; на фиг. 4, 5 приведены временные диаграммы работы устройства при инициализации от внешнего устройства, выполнении фрагмента микропрограммы (фиг. 4), передаче и приеме управления от другого аналогичного устройства (фиг. 5), а на фиг. 6 дан пример алгоритма управления.

Модульное устройство для программного управления (фиг. 1) содержит блок 1 памяти микрокоманд, счетчик 2 адреса, регистр 3 микроопераций, коммутатор 4 направления приема адреса, триггер 5 режима, счетчик 6 времени задержки, дешифратор 7 направления передачи управления, шифратор 8 признака микропрограммы, элемент 13 запрета, шину 14 микроопераций, первый 15 и второй 16 элементы И, третий 22, второй 23, четвертый 24 и первый 25 элементы ИЛИ, причем входы шифратора 8 признака микропрограммы с первого по l-й (где l - максимальное число идентичных устройств, образующих управляющую систему) соединены с входами 28.1-28.l инициализации устройства соответственно, выход элемента ИЛИ 25 подключен к J-входу триггера 5 режима и к первому и второму управляющим входам коммутатора 4 направления приема адреса, выход которого соединен с информационным входом счетчика 2 адреса, выход которого соединен с адресным входом блока 1 памяти микрокоманд, выход 1.1 микроопераций которого подключен к информационному входу регистра 3 микроопераций, выход которого соединен с информационным входом элемента 13 запрета, выход которого подключен к шине 14 микроопераций, выход 1.2 признака формата блока 1 памяти микрокоманд подключен к управляющему входу дешифратора 7 направления передачи управления, к первому входу элемента ИЛИ 23 и к K-входу триггера 5 режима, прямой выход которого соединен с управляющим входом элемента 13 запрета, а также с вторым входом элемента ИЛИ 23, выход которого подключен к первым входам элементов И 15 и 16, выход 1.3 адреса/номера модуля блока 1 памяти микрокоманд соединен с информационным входом дешифратора 7 направления передачи управления, с первым информационным входом коммутатора 4 направления приема адреса и группой входов элемента ИЛИ 22, выход которого соединен с управляющим входом счетчика 2 адреса, выход 1.4 времени задержки блока 1 памяти микрокоманд подключен к информационному входу счетчика 6 времени задержки, выход переноса которого соединен с синхровходом и счетным входом счетчика 2 адреса, информационный выход счетчика 6 времени задержки подключен к входам элемента ИЛИ 24, выход которого соединен с управляющим входом счетчика 6 времени задержки, первый вход синхронизации 30.1 устройства соединен с синхровходом триггера 5 режима и с вторым входом элемента И 15, выход которого подключен к синхровходу и счетному входу счетчика 6 времени задержки, второй вход синхронизации 30.2 устройства является вторым входом элемента И 16, выход которого соединен с синхровходом регистра 3 микроопераций, а также дополнительно введенные шифратор 9 адреса приема управления, регистр 10 признака микропрограммы, счетчик 11 количества передач управления, группу элементов ИЛИ 12.1-12.l-1, четвертый 17 и третий 18 элементы И, триггер 19 настройки, пятый 20 и шестой 21 элементы И, пятый элемент ИЛИ 26 и элемент 27 задержки, причем входы 28.1-28.l инициализации устройства соединены с соответствующими входами элемента ИЛИ 26, выход которого подключен к первым входам элементов И 17, 18 и к синхровходу триггера 19 настройки, на D-входе которого постоянно находится потенциал логической единицы, инверсный выход триггера 19 настройки соединен с вторым (инверсным) входом элемента И 18 и с вторым входом элемента И 17, выход которого подключен к входу элемента 27 задержки, выход которого подключен к синхровходу регистра 10 признака микропрограммы, информационный вход которого соединен с выходом шифратора 8 признака микропрограммы, выход элемента И 18 подключен к первому входу элемента ИЛИ 25, выход которого соединен со счетным входом счетчика 11 количества передач управления, выход которого в объединении с выходом регистра 10 признака микропрограммы подключен к входу шифратора 9 адреса приема управления, выход которого соединен с вторым информационным входом коммутатора 4 направления приема адреса, вход 28.l инициализации устройства соединен с вторым входом элемента ИЛИ 25, а также с первыми входами элементов ИЛИ 12.1-12. l-1, вторые входы которых подключены к первому, второму,..., (l-1)-му выходам дешифратора 7 направления передачи управления соответственно, выходы элементов ИЛИ 12.1-12. l-1 являются выходами 29.1-29.l-1 передачи управления устройства соответственно, выход 1.2 признака формата блока 1 памяти микрокоманд соединен с третьим и четвертым управляющими входами коммутатора 4 направления приема адреса, с первым входом элемента И 20 и с первым входом элемента И 21, выход которого соединен с входом сброса регистра 3 микроопераций, выход переноса счетчика 6 времени задержки подключен к второму входу элемента И 21 и к второму входу элемента И 20, выход которого подключен к входам сброса регистра 10 признака микропрограммы, счетчика 11 количества передач управления и триггера 19 настройки, выход 1.5 признака конца микропрограммы блока 1 памяти микрокоманд соединен с третьим входом элемента И 20 и с входом элемента ИЛИ 22.

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

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

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

Регистр 3 микроопераций предназначен для приема, временного хранения, а также для выдачи сигналов микроопераций на шину 14 микроопераций.

Коммутатор 4 обеспечивает выбор направления приема адреса следующей микрокоманды и формирует нулевой адрес при функционировании текущего устройства в режиме передачи управления другому аналогичному устройству.

Триггер 5 режима предназначен для управления режимами работы устройства. Единичное состояние триггера 5 соответствует рабочему режиму устройства, а нулевое - либо исходному состоянию, либо состоянию ожидания передачи управления от другого устройства.

Счетчик 6 времени задержки служит для управления временем обработки микрокоманд, т. е. задания времени присутствия сигналов микроопераций на шине 14 и аналогично счетчику 2 функционирует либо в режиме счета, либо в режиме приема информации - кода времени задержки - в параллельном коде. Первый из указанных режимов активизируется при единичном, а второй - при нулевом уровне сигнала на управляющем входе счетчика 6. Момент переполнения счетчика 6 при работе в счетном режиме индицируется появлением импульса p переноса на одноименном выходе.

Дешифратор 7 обеспечивает выбор направления передачи управления при функционировании устройства в режиме передачи управления другому аналогичному устройству. Выбор указанного направления состоит в возбуждении единичного сигнала на выходе дешифратора 7, соответствующем коду номера модуля, которому передается управление. Дешифратор 7 имеет специальный управляющий вход (V) и функционирует только при наличии на этом входе единичного уровня сигнала. Число выходов дешифратора 7 определяется максимально возможным числом l устройств в составе управляющей системы и равно l-1.

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

Шифратор 9 служит для преобразования кода признака выполняемой микропрограммы, объединенного с кодом текущей передачи управления данному устройству, в адрес начала фрагмента микропрограммы (адрес приема управления) в блоке 1.

Регистр 10 предназначен для приема, хранения и выдачи кода признака микропрограммы. Запись указанного кода в регистр 10 осуществляется при инициализации управляющей системы от внешнего устройства; состояние регистра 10 остается неизменным до момента окончания выполнения всех фрагментов микропрограммы, закрепленных за текущим устройством. Этот момент индицируется появлением единичной метки конца микропрограммы в формате очередной микрокоманды, считываемой из блока 1.

Счетчик 11 количества передач управления предназначен для формирования кода номера текущей передачи управления данному устройству. Исходное состояние счетчика 11 является нулевым, а изменение состояния происходит в момент возникновения положительного (0 _ 1) перепада уровня сигнала на счетном входе при возбуждении одного из входов 28.1-28.l инициализации устройства.

Группа элементов ИЛИ 12 введена для объединения сигналов передачи управления, формируемых дешифратором 7, и сигнала настройки системы на выполнение требуемой микропрограммы, поступающего с входа 28.l устройства. При настройке системы единичный сигнал с входа 28.l i-го устройства через элементы ИЛИ 12.1-12.l-1 одновременно проходит на выходы 29.1-29.l-1 устройства, поступает на соответствующие входы 28.i остальных устройств и формирует на выходах шифраторов 8 устройств признак выполняемой микропрограммы, который в дальнейшем фиксируется в регистрах 10. Признак выполняемой микропрограммы однозначно определяется номером устройства, инициализируемого от внешнего устройства при запуске системы.

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

Элементы И 15, 16 служат для блокировки подачи тактовых импульсов t1 и t2 соответственно на синхровход, счетный вход счетчика 6 и на синхровход регистра 3 микроопераций.

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

Элемент И 18 служит для формирования сигнала приема управления при передаче управления от другого устройства и блокировки процесса приема управления при работе устройства в режиме настройки на выполнение требуемой микропрограммы.

Триггер 19 настройки предназначен для управления прохождением сигналов через элементы И 17 и 18, а также индикации текущего режима работы устройства. На D-входе триггера 19 постоянно присутствует потенциал логической единицы и данный триггер переходит в единичное состояние по заднему фронту (срезу) сигнала на его синхровходе.

Элемент И 20 служит для формирования сигнала сброса регистра 10, счетчика 11 и триггера 19 после завершения выполнения устройством всех закрепленных за ним фрагментов текущей микропрограммы.

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

Элементы ИЛИ 22 и 24 предназначены для формирования сигналов управления счетчиками 2 и 6 соответственно.

Элемент ИЛИ 23 служит для формирования сигнала управления (разрешения/блокировки) элементами И 15, 16, Элемент ИЛИ 25 предназначен для объединения сигналов приема управления, возникающих соответственно при инициализации устройства со стороны внешнего устройства (на входе 28.l устройства) и передаче управления от другого аналогичного устройства (на выходе элемента И 18).

Элемент ИЛИ 26 предназначен для объединения сигналов, поступающих на входы 28.1-28.l инициализации устройства, и управления переключением триггера 19, а также управления элементами И 17, 18.

Элемент 27 задержки обеспечивает сдвиг переднего фронта сигнала записи информации в регистр 10 на время установления кода признака выполняемой микропрограммы на выходе шифратора 8.

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

Первоначально все регистры, счетчики и триггеры устройства (фиг.1) находятся в состоянии логического нуля, поэтому элемент 13 запрета переведен в состояние высокого импеданса, а нулевой код с выхода счетчика 2 поступает на адресный вход блока 1 и обеспечивает считывание микрокоманды специального формата ФО (фиг.3), размещенной в ячейке блока 1 с нулевым адресом. На выходе 1.2 блока 1 находится нулевой сигнал (признак формата микрокоманды). Этот сигнал и нулевой сигнал с прямого выхода триггера 5 режима обусловливают наличие нулевого уровня сигнала на выходе элемента ИЛИ 23 и тем самым блокируют элементы И 15 и 16. На выходе 1.5 блока 1 также присутствует нулевой сигнал: элемент И 20 закрыт, а нулевой сигнал с выхода 1.2 блока 1 запрещает работу дешифратора 7 и обусловливает наличие нулевых сигналов на выходах 29.1-29.l-1 устройства.

Функционирование устройства (и системы в целом) начинается с приходом на вход 28.l единичного сигнала инициализации от внешнего устройства (центрального процессора). Будем считать, что сигнал инициализации поступает на вход 28. l i-го устройства (модуля) и, таким образом, определяет выполнение i-й микропрограммы, начальный фрагмент (а, возможно, и другие фрагменты) которой закреплен за i-м устройством. Рассматриваемый сигнал инициализации выполняет множество функций и наряду с запуском i-го устройства осуществляет настройку других устройств на исполнение i-й микропрограммы.

Единичный сигнал с входа 28.l i-го устройства: а) поступает на l-й вход шифратора 8 и совместно с нулевыми сигналами, находящимися на его первом, втором,..., (l-1)-м входах, формирует признак i-й (выполняемой) микропрограммы. Признак i-й микропрограммы с выхода шифратора 8 подается на информационный вход регистра 10; б) через элемент ИЛИ 26 проходит на первые входы элементов И 17 и 18 и синхровход триггера 19. Так как триггер 19 первоначально находится в нулевом состоянии, единичный сигнал с его инверсного выхода блокирует элемент И 18 и открывает элемент И 17. В связи с этим единичный сигнал инициализации устройства через элемент И 17 и элемент 27 задержки поступает на синхровход регистра 10 и фронтом производит запись присутствующего на информационном входе данного регистра признака i-й микропрограммы, обеспечивая тем самым настройку i-го устройства на реализацию i-й микропрограммы; в) через элемент ИЛИ 25 поступает на счетный вход счетчика 11 и фронтом увеличивает его содержимое на единицу: на выходе счетчика 11 образуется код "0. . .01" первой передачи управления i-му устройству. Код "0...01" с выхода счетчика 11 совместно с признаком i-й микропрограммы с выхода регистра 10 поступает на вход шифратора 9 и формирует на его выходе "жесткий" адрес (Aiнач(i,1)) начала первого фрагмента i-й микропрограммы в блоке 1 i-го устройства; г) через элемент ИЛИ 25 проходит на J-вход триггера 5, а также на первый и второй управляющие входы коммутатора 4, подготавливая триггер 5 к переключению в единичное состояние и настраивая коммутатор 4 на прием информации с выхода шифратора 9. Адрес Aiнач(i,1) с выхода шифратора 9 через коммутатор 4 поступает на информационный вход счетчика 2; д) через элементы ИЛИ 12.1-12.l-1 поступает на выходы 29.1-29.l-1 устройства соответственно и обеспечивает настройку других устройств системы на реализацию i-й микропрограммы.

Процесс настройки устройств системы на реализацию i-й микропрограммы рассмотрим на примере настройки устройства Mj, , j i.

Единичный сигнал с выхода 29.j i-го устройства передается на вход 28.i j-го устройства, далее поступает на соответствующий вход шифратора 8 и формирует на его выходе признак i-й микропрограммы (данный признак является, аналогично прототипу, результатом преобразования номера входа 28.i, т.е. направления приема управления в некоторое двоичное число (код)). Одновременно этот же сигнал проходит через элемент ИЛИ 26 и поступает на первые входы элементов И 17, 18, а также на синхровход триггера 19. Поскольку последний находится в исходном (нулевом) состоянии, единичный сигнал с его инверсного выхода блокирует элемент 18, запрещая интерпретацию поступающего сигнала инициализации как сигнала передачи управления. В то же время единичный сигнал с выхода элемента 26 проходит через открытый элемент И 17, через элемент 27 задержки и фронтом заносит в регистр 10 признак i-й микропрограммы, установленный на выходе шифратора 8. Так как элемент И 18 заблокирован, на выходе элемента ИЛИ 25 сохраняется нулевой уровень сигнала, счетчик 11 остается в исходном (нулевом) состоянии, а на J-входе триггера 5 формируется нулевой сигнал и состояние этого триггера в дальнейшем остается неизменным.

На этом настройка j-го устройства на реализацию i-й микропрограммы завершается. Ее результатом является нулевое состояние счетчика 11 и наличие признака выполняемой микропрограммы в регистре 10.

Теперь снова перейдем к рассмотрению функционирования i-го устройства.

Тактовый импульс t1, появляющийся на входе 30.1 i-го устройства, поступает на синхровход триггера 5 и, поскольку на J-входе триггера 5 находится единичный сигнал инициализации, устанавливает этот триггер в единичное состояние, индицируя тем самым начало работы устройства. Единичный сигнал с прямого выхода триггера 5 открывает элемент 13 и обеспечивает возможность передачи кодов микроопераций с выхода регистра 3 на шину 14. Кроме того, этот же сигнал проходит через элемент ИЛИ 23, открывает элементы И 15 и 16 и тем самым разрешает прохождение тактовых импульсов t1 и t2 через элементы 15 и 16 соответственно.

Очередной импульс t2 с входа 30.2 устройства через элемент 16 проходит на синхровход регистра 3 и срезом производит запись в этот регистр нулевого кода с выхода 1.1 блока 1 (см.фиг. 3, формат ФО). Следующий импульс t1 поступает на синхровход триггера 5 и подтверждает его единичное состояние. Этот же импульс через элемент 15 проходит на синхровход и счетный вход счетчика 6. Поскольку счетчик 6 первоначально находится в нулевом состоянии, на выходе элемента ИЛИ 24 присутствует нулевой сигнал, обусловливающий работу счетчика 6 в режиме приема информации, и по срезу импульса t1 код "1...1" с выхода 1.4 блока 1 заносится в счетчик 6. Теперь на выходе элемента ИЛИ 24 образуется сигнал логической единицы и счетчик 6 переходит в режим счета. Очередной импульс t2 вновь фиксирует нулевой код в регистре 3.

Следующий импульс t1 через элемент И 15 поступает на счетный вход и синхровход счетчика 6 и срезом увеличивает содержимое счетчика 6 на единицу. Однако, поскольку код в счетчике 6 является единичным, добавление к нему единицы приводит к переходу счетчика 6 в состояние "0...0" (переполнению) и обусловливает возникновение на выходе переноса счетчика 6 импульса p. Нулевой код с информационного выхода счетчика 6 поступает на вход элемента 24, устанавливает на его выходе нулевой сигнал и вновь переводит счетчик 6 в режим приема информации. В то же время импульс p с выхода переноса счетчика 6 подается на синхровход и счетный вход счетчика 2. Учитывая, что на выходе 1.3 блока 1 в исходном состоянии присутствует единичный код (см. фиг.3, формат ФО) и на выходе элемента ИЛИ 22 соответственно присутствует сигнал логической единицы, счетчик 2 работает в режиме приема информации с выхода коммутатора 4, где находится адрес Aiнач(i,1) , сформированный шифратором 9. В связи с этим срез импульса переноса p производит запись в счетчик 5 адреса Aiнач(i,1) с выхода коммутатора 4.

После записи адреса инициализации Aiнач(i,1) в счетчик 2 (спустя определенное время) на входе 28.l i-го устройства появляется отрицательный перепад (1 _ 0) уровня сигнала (происходит снятие единичного сигнала инициализации внешним устройством), который через элемент ИЛИ 26 воздействует на синхровход триггера 19 и переключает данный триггер в состояние логической единицы. В дальнейшем состояние триггера 19 будет оставаться неизменным (единичным) до тех пор, пока на его входе сброса не появится импульс p, индицирующий окончание всех фрагментов i-й микропрограммы, закрепленных за данным устройством. Этот импульс будет сформирован на выходе элемента И 20 тогда, когда на выходе 1.5 блока 1 появится единичная метка конца микропрограммы (см. фиг. 3, форматы Ф4 и Ф3.2).

Одновременно отрицательный перепад уровня сигнала с входа 28.l через элементы 12.1-12.l-1 i-го устройства и элементы ИЛИ 26 j-х устройств (j 1) распространяется на синхровходы триггеров 19 и также переводит их в единичное состояние. Нулевые сигналы с инверсных выходов триггеров 19 блокируют соответствующие элементы И 17 и тем самым запрещают последующую модификацию состояния регистров 10 при появлении единичных сигналов передачи управления на входах 28.1-28. l-1 устройств в ходе реализации системой i-й микропрограммы. В то же время элементы И 18 j-х устройств открываются, что обусловливает возможность модификации состояния счетчиков 11 при приеме управления от других устройств системы. Таким образом, все устройства системы оказываются подготовленными к реализации фрагментов i-й микропрограммы. Временные диаграммы работы устройства в режиме инициализации (настройки) и выполнения фрагмента микропрограммы представлены на фиг. 4.

Теперь перейдем к рассмотрению работы i-го устройства.

Адрес Aiнач(i,1) с выхода счетчика 2 подается на адресный вход блока 1 и формирует на его выходе первую микрокоманду первого фрагмента выполняемой микропрограммы. Допустим, что как первая (считанная) микрокоманда, так и последующие h-1 микрокоманд реализуемого фрагмента i-й микропрограммы имеют формат Ф1 или Ф2 (фиг.3). Код микроопераций (МО) с выхода 1.1 блока 1 поступает на информационный вход регистра 3 и с приходом среза очередного тактового импульса t2 записывается в регистр 3, после чего через открытый элемент 13 передается на шину 14 и вызывает выполнение заданных микроопераций объектом управления. Нулевой сигнал с выхода 1.2 блока 1 закрывает элементы И 20 и 21. Следующий тактовый импульс t1 подтверждает единичное состояние триггера 5 и, кроме того, проходя через элемент И 15 на синхровход счетчика 6, фиксирует в нем код времени задержки tзад, поступающий с выхода 1.4 блока 1 и определяющий время обработки считываемой микрокоманды. Код tзад с информационного выхода счетчика 6 поступает на входы элемента 24, формирует на его выходе единичный сигнал и тем самым вызывает переход счетчика 6 в режим счета.

В дальнейшем тактовые импульсы t2 производят перезапись кода микроопераций с выхода 1.1 блока 1 в регистр 3, а импульсы t1 инициируют последовательное увеличение кода, записанного в счетчике 6. Как только после поступления очередного импульса t1 счетчик 6 из состояния "1...1" возвращается в состояние "0. . .0", на выходе элемента 24 формируется нулевой сигнал, а на выходе переноса счетчика 6 появляется импульс p. Счетчик 6 вновь переходит в режим приема информации, а импульс p поступает на счетный вход и синхровход счетчика 2 и срезом фиксирует в нем адрес следующей микрокоманды (фиг.4). Указанный адрес с выхода счетчика 2 подается на адресный вход блока 1 и обеспечивает считывание очередной микрокоманды реализуемого фрагмента. Выполнение считанной микрокоманды аналогично выполнению первой микрокоманды.

Формирование исполнительного адреса следующей микрокоманды может осуществляться двумя способами: а) путем увеличения адреса текущей микрокоманды на единицу: б) путем приема адреса принудительного перехода Aп с выхода коммутатора 4, т.е. на основе реализации режима естественной и принудительной адресации следующей микрокоманды соответственно.

1. Допустим, что текущая микрокоманда имеет формат Ф1 (фиг.3). В этом случае на выходе 1.3 блока 1 находится нулевой код, а на выходе элемента ИЛИ 22 устанавливается сигнал логического нуля. Данный сигнал подается на управляющий вход (V) счетчика 2 и переводит счетчик 2 в режим счета. Импульс p с выхода переноса счетчика 6 поступает на счетный вход счетчика 2 и инициирует операцию прямого счета: адрес текущей микрокоманды A, размещенный в счетчике 2, увеличивается на единицу и, поступая далее на адресный вход блока 1, обеспечивает считывание следующей микрокоманды из ячейки с адресом A + 1.

2. Если текущая микрокоманда имеет формат Ф2 (фиг.3), то на выходе 1.3 блока 1 появляется адрес принудительного перехода Aп. Этот адрес через коммутатор 4 проходит на информационный вход счетчика 2, а также, будучи отличным от нулевого, формирует единичный сигнал на выходе элемента 22. Единичный сигнал