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

Реферат

 

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

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

Известно микропрограммное устройство управления, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, регистр начала микропрограммы, регистр конца микропрограммы, дешифратор адреса, триггер управления, генератор импульсов, четыре элемента ИЛИ, группу из N-1 элементов ИЛИ, блок элементов ИЛИ, пять элементов И, два блока элементов И, элемент задержки, триггер конца микропрограммы, триггер начала микропрограммы, пять одновибраторов, N-1 коммутатор и элемент ИЛИ-НЕ (а. с. N 1168936 СССР, кл. G 06 F 9/22; опубл. 23.07.85, БИ N 27).

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

Наиболее близким к предлагаемому устройству по технической сущности является микропрограммное устройство управления с контролем, включающее блок постоянной памяти, блок формирования адреса микрокоманд, регистр микрокоманд, группу из N регистров записи (где N - количество автономных микропрограмм), коммутатор управления счетчиком, счетчик выборки, дешифратор выборки, четыре группы из N шинных формирователей, блок управления пуском, блок управления остановом, группу из N элементов задержки, группу из N коммутаторов записи, счетчик опроса, дешифратор опроса, N+1 блоков элементов И, 2N+1 элементов И, группу из N элементов ИЛИ-НЕ, элемент ИЛИ, триггер режимов работы, триггер управления, генератор импульсов (а.с. N 1142832 СССР, кл. G 06 F 9/22; G 06 F 11/00; опубл. 28.02.85, БИ N 8).

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

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

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

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

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

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

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

Процедура параллельных участков состоит в следующем.

Модуль Mi, инициирующий запуск, формирует и выдает на шину ММПС (шину передачи управления) код признака инициализируемых параллельных участков Пs. Данный код одновременно воспринимается всеми остальными модулями ММПС и, если за некоторым модулем Mj, j i, закреплен участок с признаком Пs, то в соответствии с кодом Пs j-й модуль формирует адрес начала этого участка Аjsнач) и начинает выполнение микропрограммы с адреса Аjs, в противном случае запуск модуля Мj не производится.

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

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

Модули ММПС после выполнения соответствующих параллельных участков микропрограммы переходят в состояние ожидания. Один из указанных модулей (например, Мi), считающийся ведущим, выдает на шину системы (шину синхронизации параллельных участков) код НТС Тr, закрывающий выполненный и опрашиваемые участки. Данный код поступает на входы всех остальных модулей и формирует на их выходах сигналы состояния. Формирование сигнала Sk модуля Mk, ki, осуществляется согласно следующему правилу.

1. Сигнал состояния Sk приобретает нулевое значение, если за k-м модулем закреплен участок, завершающийся точкой синхронизации Tr, но выполнение этого участка не окончено.

2. Сигнал состояния Sk принимает единичное значение, если за k-м модулем закреплен участок, закрываемый точкой Tr, и, кроме того, этот участок завершен, либо участка, завершающегося точкой Tr и закрепленного за k-м модулем, не существует.

Сигнал состояния ведущего модуля Si является единичным.

Сигналы состояния с выходов модулей ММПС передаются на общую линию состояния параллельных участков и формируют сигнал обобщенного состояния Z. Если хотя бы один из требуемых параллельных участков не завершен (т.е. для некоторого модуля Mt - St = "0"), то имеет место Z="0", иначе Z приобретает единичное значение. Модуль Mi (ведущий) опрашивает состояние уровня сигнала Z на линии состояния параллельных участков и при Z = "0" на некоторое время T освобождает шину ММПС, по истечении которого осуществляет повторный опрос состояния параллельных участков, а при Z = "1" выходит из режима ожидания и возобновляет выполнение микропрограммы.

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

Модуль мультимикропрограммной системы (фиг. 1) содержит блок 1 памяти микропрограмм, блок 2 формирования адреса микрокоманд, регистр 3 микрокоманд, регистры 4.1-4. N передачи управления, триггер 5 управления, первый генератор 6 тактовых импульсов, счетчики 7 выборки и 8 опроса, дешифраторы 9 выборки и 10 опроса, схему 11 сравнения, первый триггер 13, первую 16.1-16.N и вторую 17.1-17.N группы блоков тристабильных элементов, группу элементов ИЛИ-НЕ 18.1-18. N, первую 19.1-19.N и вторую 20.1-20.N группы элементов И, первый 22, второй 23 и третий 24 элементы И, первый 25, второй 26 и третий 27 элементы ИЛИ, группу элементов задержки 28.1-28.N, одновибратор 29, шину 49 передачи управления и шину 50 синхронизации параллельных участков, причем прямой выход триггера 5 управления соединен с управляющим входом генератора 6 тактовых импульсов, первый и второй информационные входы блока 2 формирования адреса микрокоманд являются соответственно входами 52 логических условий и 53 кода операции модуля, информационный выход блока 2 формирования адреса микрокоманд соединен с адресным входом блока 1 памяти микропрограмм, выход которого соединен с информационным входом регистра 3 микрокоманд, выходы 3.1 адреса и 3.2. кода логического условия которого подключены к третьему информационному и управляющему входам блока 2 формирования адреса микрокоманд соответственно, выход 3.3 микроопераций регистра 3 микрокоманд является выходом 54 микроопераций модуля, выход счетчика 7 выборки соединен с входом дешифратора 9 выборки, выходы с первого по N-й которого подключены к первым входам элементов И 19.1-19.N соответственно, выходы которых соединены с входами синхронизации регистров 4.1-4.N передачи управления соответственно, прямые выходы которых подключены к информационным входам блоков тристабильных элементов 16.1-16. N соответственно, выходы которых подключены к шине 49 передачи управления, которая соединена с информационными входами блоков тристабильных элементов 17.1-17.N, выходы которых соединены с входами элементов ИЛИ-НЕ 18.1-18.N соответственно, выход элемента ИЛИ-НЕ 18.N соединен с первым входом элемента И 22, выход которого подключен к счетному входу счетчика 8 опроса, выход которого соединен с входом дешифратора 10 опроса, выходы с первого по N-й которого подключены к первым входам элементов И 20.1-20. N соответственно, выходы которых соединены с управляющими входами блоков тристабильных элементов 16.1, 17.1; ...; 16.N, 17.N соответственно, а также с входами элементов задержки 28.1-28.N соответственно, выходы которых соединены с входами сброса регистров 4.1-4-N передачи управления соответственно, выходы элементов ИЛИ-НЕ 18.1-18.N подключены к вторым входам элементов И 20.1-20.N соответственно, первый вход, второй вход и выход элемента ИЛИ 25 соединены с управляющим входом модуля, выходом элемента И 23 и входом сброса триггера 5 управления соответственно, а также дополнительно включенные формирователь 12 признака принадлежности, второй генератор 14 тактовых импульсов, счетчик 15 времени ожидания, третью группу элементов И 21.1-21. N, второй 30, третий 31 и четвертый 32 триггеры, первый 33 и второй 34 блоки тристабильных элементов, элемент ИЛИ-НЕ 35, элемент И-НЕ 36, четвертый 37, пятый 38, шестой 39.1, седьмой 39.2, восьмой 40.1, девятый 40.2, десятый 41, одиннадцатый 42, двенадцатый 43 и тринадцатый 44 элементы И, первый 45, второй 46, третий 47 и четвертый 48 элементы задержки, линию 51 состояния параллельных участков, причем выход 3.5 метки передачи управления/инициализации регистра 3 микрокоманд соединен с первыми входами элементов И 24 и 37, выходы которых соединены с входом сброса и счетным входом счетчика 7 выборки соответственно, выход 3.4 управляющей информации регистра 3 микрокоманд подключен к первому входу схемы 11 сравнения, к информационному входу блока 33 тристабильных элементов и к информационным входам регистров управления 4.1-4.N, инверсные выходы которых соединены с входами элементов И 21.1.-21.N соответственно, выход 3.6 статуса регистра 3 микрокоманд соединен с первым входом элемента И 38, выход которого соединен с входом одновибратора 29, выход которого подключен к входу элемента 45 задержки и входу установки триггера 30, инверсный выход которого подключен к управляющему входу блока 34 тристабильных элементов, прямой выход триггера 30 соединен с управляющим входом блока 33 тристабильных элементов, выход которого подключен к шине 50 синхронизации параллельных участков, которая соединена с информационным входом блока 34 тристабильных элементов, выход которого подключен к входам элемента ИЛИ-НЕ 35, адресному входу формирователя 12 признака принадлежности и к второму входу схемы 11 сравнения, первый и второй выходы генератора 6 тактовых импульсов подключены к первым входам элементов И 39.1 и 39.2, выход элемента И 39.1 соединен с входом синхронизации блока 2 формирования адреса микрокоманд, четвертый информационный вход которого подключен к шине 49 передачи управления, выход элемента И 39.2 соединен с входом синхронизации регистра 3 микрокоманд и с входом элемента 46 задержки, выход которого соединен с вторым входом элемента И 24, инверсный выход триггера 30 подключен к первому входу элемента И-НЕ 36, второй вход которого подключен к выходу формирователя 12 признака принадлежности, выход элемента И-НЕ 36 соединен с первым входом элемента ИЛИ 26, выход которого подключен к линии 51 состояния параллельных участков, выход элемента 45 задержки соединен со счетным входом триггера 30, а также с первыми входами элементов И 40.1 и 40.2, вторые входы которых подключены к линии 51 состояния параллельных участков, выходы элементов И 40.1 и 40.2 соединены соответственно с входом установки триггера 13 и первым входом элемента ИЛИ 27, прямой выход триггера 13 соединен с управляющим входом генератора 14 тактовых импульсов, выход которого соединен со счетным входом счетчика 15 времени ожидания, выход которого подключен к входам элемента И 41, выход которого подключен к входам сброса триггера 13 и счетчика 15 времени ожидания, выходы элементов И 21.1-21.N подключены к третьему входу элемента И 24, третий выход генератора 6 тактовых импульсов соединен с вторым входом элемента И 37, первым входом элемента И 42 и с входом элемента 47 задержки, выход которого подключен к вторым входам элементов И 19.1-19. N, второму входу элемента И 22 и к входу элемента 48 задержки, выход которого соединен с первым входом элемента И 43, второй вход и выход которого подключены к N-му выходу дешифратора 10 опроса и к входу сброса счетчика 8 опроса соответственно, выход 3.7 метки конца участка регистра 3 микрокоманд подключен к первому входу элемента И 44, второй вход которого соединен с выходом элемента 46 задержки, выход элемента И 44 подключен к счетному входу триггера 31, прямой выход которого подключен к вторым входам элементов И 39.1 и 39.2, инверсный выход триггера 31 соединен с вторым входом элемента И 38, третий, четвертый и пятый входы которого соединены соответственно с инверсным выходом триггера 32, инверсным выходом триггера 13 и с выходом элемента ИЛИ-НЕ 35, выход схемы 11 сравнения подключен к второму входу элемента ИЛИ 26, выход 3.8 метки конца микропрограммы регистра 3 микрокоманд соединен с выходом 55 конца микропрограммы модуля и с первым входом элемента И 23, второй вход которого подключен к третьему выходу генератора 6 тактовых импульсов, управляющий выход блока 2 формирования адреса микрокоманд подключен к входу установки триггера 5 управления и к второму входу элемента ИЛИ 27, выход которого подключен к входу установки триггера 32, прямой выход которого соединен с вторым входом элемента И 42, выход которого соединен с входом установки триггера 31 и счетным входом триггера 32.

Блок 2 формирования адреса микрокоманд (фиг.2) включает шифратор 56 начального адреса, мультиплексор 57, первый 58 и второй 59 блоки элементов ИЛИ, первый элемент ИЛИ 60, регистр 61 адреса микрокоманд, регистр 62, одновибратор 63 и второй элемент ИЛИ 64, причем вход шифратора 56 является четвертым информационным входом блока формирования адреса микрокоманд, управляющий и информационный входы мультиплексора 57 являются соответственно управляющим и первым информационным входами блока формирования адреса микрокоманд, n-1 старших разрядов третьего информационного входа которого (где n - разрядность адреса микрокоманды) соединены с n-1 старшими разрядами первого входа блока 58 элементов ИЛИ, а младший разряд подключен к первому входу элемента ИЛИ 60, второй вход и выход которого соединены соответственно с выходом мультиплексора 57 и младшим разрядом первого входа блока 58 элементов ИЛИ, вход синхронизации регистра 61 подключен к входу синхронизации блока формирования адреса микрокоманд, а выход является информационным выходом блока формирования адреса микрокоманд, второй информационный вход которого соединен с первым входом элемента ИЛИ 64 и первым входом блока 59 элементов ИЛИ, выход которого соединен с информационным входом регистра 62, вход сброса которого соединен с входом синхронизации блока формирования адреса микрокоманд, а выход подключен к второму входу блока элементов ИЛИ 58, выход которого подключен к информационному входу регистра 61, выход шифратора 56 соединен с вторым входом блока 59 элементов ИЛИ и вторым входом элемента ИЛИ 64, выход которого соединен с входом одновибратора 63, выход которого подключен к входу синхронизации регистра 62 и управляющему выходу блока формирования адреса микрокоманд.

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

Блок 1 памяти микропрограммы (БПМП) служит для постоянного хранения и выдачи микрокоманд, входящих в различные участки микропрограмм, закрепленные за данным модулем.

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

Регистры 4.1-4. N передачи управления предназначены для приема, временного хранения и выдачи кодов признаков участков микропрограмм при передаче управления или инициализации других аналогичных модулей управляющей системы.

Генератор 6 тактовых импульсов служит для формирования трех сдвинутых друг относительно друга импульсных последовательностей t1, t2, t3, синхронизирующих работу различных элементов устройства.

Счетчик 7 выборки, дешифратор 9 выборки и элементы И 19.1-19.N предназначены для управления записью признаков участков микропрограмм в регистры 4.1-4. N, а элементы И 24 и 37 служат для формирования импульсов управления счетчиком 7 выборки.

Счетчик 8 опроса, дешифратор 10 опроса предназначены для управления считыванием информации и организации циклического опроса регистров 4.1-4.N, а блоки 16.1-16. N тристабильных элементов служат для передачи информации (кодов признаков участков микропрограмм) с выходов регистров 4.1-4.N соответственно на шину 49 передачи управления.

Шины 49 передачи управления и 50 синхронизации параллельных участков служат соответственно для передачи кодов признаков участков микропрограмм и кодов НТС при передаче управления и опросе состояния параллельных участков соответственно, а линия 51 используется для формирования сигнала обобщенного состояния Z опрашиваемых параллельных участков.

Блоки 17.1-17. N тристабильных элементов совместно с элементами ИЛИ-НЕ 18.1-18. N соответственно служат для формирования сигналов, характеризующих состояние шины 49, элементы И 20.1-20.N предназначены для формирования сигналов, являющихся одновременно сигналами управления блоков 16.1-16.N, 17.1-17. N тристабильных элементов соответственно и сигналами сброса регистров 4.1-4. N соответственно, а элементы 28.1-28. N используются для задержки поступления сигналов сброса регистров 4.1-4.N соответственно на время выдачи информации на шину 49 передачи управления.

Элемент И 22 предназначен для управления процессом счета счетчика 8 опроса в зависимости от текущего состояния шины 49, а элементы И 43 и задержки 48 служат для формирования сигнала сброса счетчика 8 при окончании очередного цикла опроса (появлении единичного сигнала на N-м выходе дешифратора 10), при этом элемент 48 предотвращает сброс счетчика 8 сразу же после его переключения в состояние "11...1" и возбуждения единичного сигнала на N-м выходе дешифратора 10, сдвигая импульс сброса t3 на время выдачи информации из регистра 4.N на шину 49.

Триггер 5 в объединении с элементом И 23 и элементом ИЛИ 25 служит для управления работой генератора 6.

Триггеры 31 и 32 совместно с элементами И 44, 42, 39.1, 39.2, элементом ИЛИ 27 и элементом 46 задержки используются для блокировки подачи импульсов t1 и t2 на входы синхронизации блока 2 и регистра 3 микрокоманд при работе модуля в режиме опроса состояния параллельных участков и нахождении в состоянии ожидания передачи управления от другого аналогичного устройства; при этом элемент ИЛИ 27 обеспечивает объединение сигналов запуска, возникающих при передаче управления на текущий модуль или завершении опроса состояния параллельных участков, элемент И 42 формирует сигнал переключения в единичное состояние триггера 31, а элемент 46 задержки введен для предотвращения повторного переключения триггера 31 в момент исчезновения единичного сигнала на выходе 3,7 метки конца участка регистра 3 и задержки импульса t2 на время установления единичного сигнала на выходе 3.5 регистра 3.

Блок 34 тристабильных элементов предназначен для передачи информации (кодов НТС) с шины 50 на входы формирователя 12 признака принадлежности, элемента ИЛИ-НЕ 35 и схемы 11 сравнения.

Элемент ИЛИ-НЕ 35 служит для формирования сигнала состояния шины 50 синхронизации параллельных участков.

Блок 33 тристабильных элементов обеспечивает передачу кодов НТС с выхода 3,4 регистра 3 на шину 50 при работе модуля в режиме опроса состояния параллельных участков.

Элемент И 38 в объединении с одновибратором 29 предназначен для формирования импульса p инициализации цикла опроса состояния параллельных участков.

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

Формирователь 12 признака принадлежности выполняется в виде ППЗУ с организацией Qx1 бит (где Q - число различных точек синхронизации, которыми завершаются участки микропрограмм, закрепленные за текущим модулем) и предназначен для преобразования кода НТС Tr, поступающего с шины 50, в одноразрядный признак D, определяемый следующим образом: Схема 11 сравнения введена для сопоставления кода НТС Tr, поступающего с шины 50, с кодом НТС Ts, соответствующим точке синхронизации, которая закрывает параллельный участок, выполненный текущим модулем.

Элемент ИЛИ 26 служит для формирования сигнала состояния Si текущего модуля. Элемент ИЛИ 26 имеет выходной каскад с "открытым" коллектором, нагрузкой для которого является внешнее сопротивление R (фиг. 1).

Элемент И-НЕ 36 обеспечивает формирование сигнала - маски, который осуществляет блокировку передачи сигнала с выхода схемы 11 сравнения на линию 51 состояния параллельных участков.

Элемент 45 предназначен для задержки подачи импульса p с выхода одновибратора 29 на счетный вход триггера 30 и входы элементов И 40.1 и 40.2 на время формирования сигнала обобщенного состояния Z на линии 51 при работе модуля в режиме опроса состояния параллельных участков.

Генератор 14, триггер 13, счетчик 15 времени ожидания и элемент И 41 предназначены для отсчета времени T между двумя смежными циклами опроса состояния параллельных участков, при этом триггер 13 используется для управления запуском генератора 14 и блокировки элемента И 38, а элемент И 41 служит для формирования сигнала "Тайм-аут", являющегося сигналом сброса триггера 13 и счетчика 15 и отмечающего конец требуемого временного интервала Т.

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

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

Шифратор 56 служит для формирования начального адреса параллельного или последовательного участка микропрограммы в блоке 1 при передаче управления данному модулю.

Мультиплексор 57 предназначен для формирования значения опрашиваемого логического условия.

Регистр 61 служит для приема, хранения и выдачи исполн