Модуль мультимикроконтроллерной сети
Реферат
Изобретение относится к автоматике и цифровой вычислительной технике и может найти применение при построении управляющих и вычислительных систем высокой производительности, а также подсистем логического управления многоуровневых иерархических автоматизированных систем управления. Технической задачей изобретения является повышение оперативности синхронизации параллельных участков микропрограмм в мультимикроконтроллерной сети за счет минимизации времени между моментом завершения параллельных участков и моментом появления соответствующего сигнала-признака при одновременном упрощении модуля. Устройство содержит блок памяти микропрограмм, регистр микрокоманд, регистр адреса, мультиплексор логических условий, буферный запоминающий блок, два генератора констант, схему сравнения, триггер запуска, коммутатор адреса, два генератора тактовых импульсов, выходной коммутатор, триггер, пять элементов И, пять элементов ИЛИ, одновибратор, три элемента задержки, дешифратор номера вершины синхронизации, три группы элементов И и две группы элементов ИЛИ. 5 ил.
Изобретение относится к автоматике и цифровой вычислительной технике и может найти применение при построении управляющих и вычислительных систем высокой производительности, в том числе систем с массовым параллелизмом, а также подсистем логического управления многоуровневых иерархических автоматизированных систем управления объектами и коллективами объектов широкого класса.
Известно микропрограммное устройство дня управления обменом управляющей информации в распределенной системе, включающее блок памяти микропрограмм, регистры адреса, микрокоманд и приема, буферный запоминающий блок, блок регистров, коммутаторы адреса, выходной и микрокоманд, генератор констант, схему сравнения, мультиплексор логических условий, генератор тактовых импульсов, триггер запуска, элемент задержки, с первого по третий элементы И, первый и второй блоки элементов И, с первого по четвертый элементы ИЛИ и одновибратор (авт. св. 1325477 СССР, кл. G 06 F 9/22, опубл. 23.07.87, БИ N 27). Недостатком указанного устройства является узкая область применения, обусловленная отсутствием средств синхронизации завершения параллельных ветвей (участков) микропрограмм, закрепленных за различными модулями управляющих систем, формируемых на его основе. Наиболее близким к предлагаемому устройству по технической сущности является модуль микроконтроллерной сети, содержащий блок памяти микропрограмм, регистры адреса и микрокоманд, мультиплексор логических условий, генератор констант, триггер запуска, первую и вторую схемы сравнения, первый и второй генераторы тактовых импульсов, первый и второй буферные запоминающие блоки, коммутатор адреса, первый и второй выходные коммутаторы, регистр-счетчик событий, триггеры переключения каналов, управления синхронизацией и блокировки, триггер, с первого по четырнадцатый элементы И, с первого по седьмой элементы ИЛИ, с первого по пятый элементы задержки, с первого по третий одновибраторы, элемент ИЛИ-НЕ (патент России N 2112272, кл. G 06 F 9/22, опубл. 27.05.98, БИ N 15). Недостатком указанного модуля является невысокая оперативность синхронизации параллельных участков при функционировании модуля в составе (мульти)микроконтроллерной сети (обусловленная значительным временем между моментом фактического завершения параллельных участков и моментом появления соответствующего сигнала-признака). Технической задачей изобретения является повышение оперативности синхронизации параллельных участков микропрограмм в мультимикроконтроллерной сети на основе минимизации времени между моментом завершения параллельных участков и моментом появления соответствующего сигнала-признака при одновременном упрощении модуля. Техническая задача решается тем, что в модуль мультимикроконтроллерной сети, содержащий блок памяти микропрограмм, регистр микрокоманд, регистр адреса, мультиплексор логических условий, буферный запоминающий блок, первый генератор констант, схему сравнения, триггер запуска, коммутатор адреса, первый генератор тактовых импульсов, второй генератор тактовых импульсов, выходной коммутатор, триггер, с первого по пятый элементы И, с первого по пятый элементы ИЛИ, одновибратор, с первого по третий элементы задержки, причем прямой выход триггера запуска подключен к входу первого генератора тактовых импульсов, первый выход которого соединен с входом синхронизации регистра адреса, выход которого соединен с адресным входом блока памяти микропрограмм, выход которого подключен к информационному входу регистра микрокоманд, выход кода логических условий которого подключен к адресному входу мультиплексора логических условий, первый информационный вход которого соединен с выходом модифицируемого разряда адреса регистра микрокоманд, выход микроопераций которого соединен с выходом микроопераций модуля, вход логических условий модуля подключен ко второму информационному входу мультиплексора логических условий, выход которого в объединении с выходом немодифицируемой части адреса регистра микрокоманд соединен с первым информационным входом коммутатора адреса, выход которого соединен с информационным входом регистра адреса, второй выход первого генератора тактовых импульсов подключен к входу одновибратора и к входу синхронизации регистра микрокоманд, выход метки управления синхронизацией которого соединен с первым входом первого элемента ИЛИ, вход пуска модуля соединен с первым входом первого элемента И, выход которого подключен к первому входу второго элемента ИЛИ, выход первого элемента ИЛИ соединен с первым входом второго элемента И, второй вход которого подключен к выходу одновибратора, а выход соединен с входом сброса триггера запуска, выход метки конца участка регистра микрокоманд подключен ко второму входу первого элемента ИЛИ, ко второму входу первого элемента И, к первому входу третьего элемента ИЛИ, а также к первому и второму управляющим входам коммутатора адреса, второй информационный вход которого соединен с входом кода операции модуля, выход передачи управления регистра микрокоманд соединен с первым информационным входом выходного коммутатора, вход приема управления модуля образован входом адреса приема управления модуля, входом номера приемника управления модуля и линией синхронизации модуля, которая соединена с входом первого элемента задержки, выход которого соединен с первым входом третьего элемента И, выход которого подключен к входу синхронизации записи буферного запоминающего блока, информационный вход которого соединен с входом приема управления модуля, вход адреса приема управления модуля подключен к третьему информационному входу коммутатора адреса, выход первого генератора констант соединен с первым входом схемы сравнения, второй вход которой подключен к входу номера приемника управления модуля, а выход соединен со вторым входом третьего элемента И и с третьим управляющим входом коммутатора адреса, выход метки передачи управления регистра микрокоманд подключен к третьему входу первого элемента ИЛИ, к первому входу четвертого элемента И и к первому управляющему входу выходного коммутатора, выход метки конца операции регистра микрокоманд подключен к третьему входу первого элемента И, к выходу конца операции модуля, к четвертому и пятому управляющим входам коммутатора адреса, к четвертому входу первого элемента ИЛИ и ко второму входу третьего элемента ИЛИ, выход которого соединен с шестым управляющим входом коммутатора адреса, первый выход второго генератора тактовых импульсов подключен ко второму входу четвертого элемента И и к входу установки триггера, инверсный выход которого соединен с третьим управляющим входом выходного коммутатора, выход которого соединен с выходом передачи управления модуля, второй выход второго генератора тактовых импульсов подключен к входу сброса триггера и к первому входу пятого элемента И, выход которого соединен с входом второго элемента задержки, выход которого подключен к входам синхронизации сдвига и разрешения сдвига буферного запоминающего блока, выход которого соединен со вторым информационным входом выходного коммутатора и с входами четвертого элемента ИЛИ, выход которого подключен к четвертому управляющему входу выходного коммутатора и ко второму входу пятого элемента И, выход которого соединен с первым входом пятого элемента ИЛИ, выход которого соединен с выходом передачи управления модуля, выход четвертого элемента И подключен ко второму входу пятого элемента ИЛИ и к входу третьего элемента задержки, выход которого соединен со вторым входом второго элемента ИЛИ, дополнительно введены второй генератор констант, дешифратор номера вершины синхронизации, с первой по третью группы элементов И, первая и вторая группы элементов ИЛИ, причем второй управляющий вход выходного коммутатора соединен с прямым выходом триггера, выход схемы равнения подключен к третьему входу второго элемента ИЛИ, выход которого соединен с входом синхронизации триггера запуска, информационный вход которого подключен к шине логической единицы, выход метки управления синхронизацией регистра микрокоманд соединен с первыми входами элементов И первой группы с первого по n-й (где n - максимальное число вершин синхронизации в микропрограммах), выходы второго генератора констант с первого по n-й подключены к первым входам элементов ИЛИ первой группы с первого по n-й соответственно, выход номера вершины синхронизации регистра микрокоманд подключен к входу дешифратора номера вершины синхронизации, выходы с первого по n-й которого соединены со вторыми входами элементов И первой группы с первого по n-й соответственно и со вторыми входами элементов ИЛИ первой группы с первого по n-й соответственно, выходы элементов И первой группы с первого по n-й подключены к первым входам элементов ИЛИ второй группы с первого по n-й соответственно и к первым входам элементов И второй группы с первого по n-й соответственно, выходы которых соединены с группой входов второго элемента ИЛИ, входы управления синхронизацией модуля с первого по n-й подключены ко вторым входам элементов И второй группы с первого по n-й соответственно и ко вторым входам элементов ИЛИ второй группы с первого по n-й соответственно, выходы элементов ИЛИ первой группы с первого по n-й соединены с первыми входами элементов И третьей группы с первого по n-й соответственно, вторые входы которых подключены к выходам элементов ИЛИ второй группы с первого по n-й соответственно, а выходы соединены с выходами управления синхронизацией модуля с первого по n-й соответственно. Сущность изобретения состоит в следующем. Предлагаемый модуль совместно с другими идентичными модулями объединяется в кольцевую структуру, предназначенную для управления функционально сложными объектами (предполагающими параллельное и асинхронное протекание во времени множества процессов) и называемую мультимикроконтроллерной сетью (ММКС). ММКС реализует совокупность различных микропрограмм. Номер выполняемой микропрограммы определяется кодом операции (КОП), который формируется устройством управления верхнего уровня (УУВУ), например центральным процессором, и представляет собой адрес первой микрокоманды. Каждая из микропрограмм в общем случае содержит множество параллельных и последовательных участков, определенным образом распределенных между модулями сети. Каждый модуль ММКС выполняется в виде СБИС с внутренней перепрограммируемой памятью микропрограмм и обеспечивает возможность управления последовательным процессом (реализации последовательного участка микропрограммы), активизации параллельных или последовательных процессов (участков) в других аналогичных модулях (межмодульной передачи управления), а также синхронизации завершения определенных подмножеств параллельных участков микропрограмм. Модули мультимикроконтроллерной сети идентифицируются логическими номерами 0, 1, 2,..., N-1, где N - число идентичных модулей в составе ММКС. В ходе функционирования модули ММКС вырабатывают последовательности микрокоманд, порядок следования которых задается значениями сигналов логических условий (ЛУ), поступающих от объекта(ов) управления (ОУ). Межмодульная передача управления в ММКС осуществляется аналогично прототипу. Модуль с логическим номером i (далее - i-й модуль или модуль mi), являющийся инициатором передачи управления, вырабатывает специальную управляющую микрокоманду (сообщение) М, которая включает номер модуля-приемника управления (k) и соответствующий адрес передачи управления Aпу. Эта микрокоманда передается через последовательность модулей в кольцевой структуре ММКС до тех пор, пока номер k не совпадет с номером одного из модулей (таким модулем будет mk). После достижения микрокомандой М модуля mk последний выделяет в ее формате адрес Aпу и начинает выполнение микропрограммы с данного адреса. Процесс синхронизации параллельных участков микропрограмм в ММКС на основе предлагаемого модуля отличается от аналогичного процесса для сети на базе прототипа. В отличие от прототипа, где синхронизация обеспечивается за счет модификации специальной микрокоманды Z, содержащей код количества синхронизируемых участков, которая перемещается по кольцу сети, в предлагаемом модуле синхронизация осуществляется на основе передачи сигналов-признаков опроса через отдельные каналы управления синхронизацией, каждый из которых соответствует определенной точке (вершине) синхронизации параллельных участков. Для обеспечения синхронизации произвольных групп параллельных участков за каждым модулем ММКС mi, закрепляется вектор Si = (s1i, s2i,..., sni), задающий соответствие между вершинами синхронизации параллельных участков и i-м модулем, где , n1 - число вершин синхронизации в 1-й микропрограмме, Q - число микропрограмм, реализуемых ММКС. Значение компоненты sqi, , вектора Si определяется следующим образом: sqi = 0, если за i-м модулем закреплен участок, завершающийся q-й вершиной синхронизации; sqi = 1, если i-й модуль не выполняет ни одного участка из множества участков, завершающихся (сходящихся) в q-й вершине синхронизации (или q-я вершина не входит в текущую микропрограмму, что имеет место тогда, когда n1 < q, где 1 - номер текущей микропрограммы). В группе модулей , реализующих группу синхронизируемых участков q= {Lq1,Lq2,...,Lqp} (эти участки завершаются единой вершиной синхронизации аq), аналогично прототипу выделяется некоторый модуль . Данному модулю присваивается статус ведущего по отношению к вершине аq. Остальные модули соответственно получают статус ведомых. Функцией ведущего модуля является управление синхронизацией параллельных участков L1q, L2q,..., Lpq. Функция ведомых модулей состоит в индикации состояния закрепленных за ними участков. Процесс синхронизации участков L1q, L2q,..., Lpq протекает следующим образом. Ведущий модуль , завершая выполнение соответствующего участка Lhq, вырабатывает сигнал-признак опроса состояния параллельных участков. Сигнал-признак последовательно распространяется по цепочке модулей ММКС, следующих за ведущим. Распространение сигнала-признака через некоторый модуль mk зависит от значения компоненты sqk вектора Sk (соответствующего k-му модулю). Если sqk = 1, то признак безусловно передается на выход k-го модуля (k-й модуль не влияет на процесс синхронизации параллельных участков L1q, L2q,..., Lpq). Если sqk = 0, то k-й модуль реализует некоторый участок Lqvq; в этом случае условие прохождения признака через модуль mk определяется значением признака gqk состояния участка Lvq. При gqk = 0 (участок Lvq не завершен) распространение сигнала-признака приостанавливается. Как только gqk приобретает единичное значение, признак передается следующему модулю ММКС. Аналогичным образом сигнал-признак распространяется через остальные модули сети и после окончания всех параллельных участков группы q проявляется на входе ведущего модуля . После получения признака модуль возобновляет исполнение микропрограммы - синхронизация группы параллельных участков q обеспечена. Распространение сигналов-признаков опроса и управляющих микрокоманд М, используемых при передаче управления, происходит независимо. Кроме того, возможно одновременное распространение сигналов-признаков опроса в нескольких каналах управления синхронизацией, что позволяет обеспечить одновременную синхронизацию нескольких групп параллельных участков (групп участков, сходящихся к разным вершинам синхронизации). Поскольку в предлагаемом модуле в отличие от прототипа при синхронизации отсутствует обмен сообщениями и, следовательно, отсутствует необходимость промежуточного хранения таких сообщений в буферных блоках, время между моментом окончания всех параллельных участков L1q, L2q,..., Lpq и моментом получения признака окончания участков ведущим модулем снижается. Оно фактически определяется только задержкой распространения сигнала-признака через последовательность модулей ММКС. При этом цепь распространения сигнала в каждом промежуточном модуле (как будет показано ниже) включает два логических элемента. Таким образом, имеет место повышение оперативности процесса синхронизации. Оценка преимуществ предлагаемого модуля перед прототипом приведена в конце описания. Сущность изобретения поясняется чертежами, где на фиг. 1 изображена функциональная схема модуля мультимикроконтроллерной сети; на фиг. 2 показана функциональная схема буферного запоминающего блока; на фиг. 3 представлены форматы микрокоманд, реализуемые модулем; на фиг. 4 дана структурная схема мультимикроконтроллерной сети, построенной на основе предлагаемого модуля; на фиг. 5 приведена схема канала управления синхронизацией ММКС. Модуль мультимикроконтроллерной сети (фиг.1) содержит блок 1 памяти микропрограмм, регистр 2 микрокоманд с выходами 2.1 кода логических условий, 2.2 модифицируемого разряда адреса, 2.3 немодифицируемой части адреса, 2.4 микроопераций, 2.5 метки управления синхронизацией, 2.6 номера вершины синхронизации, 2.7 метки конца участка, 2.8 передачи управления, 2.9 метки передачи управления, 2.10 метки конца операции, регистр 3 адреса, мультиплексор 4 логических условий, буферный запоминающий блок 5, первый генератор 6 констант, схему 8 сравнения, триггер 10 запуска, коммутатор 11 адреса, первый генератор 12 тактовых импульсов, второй генератор 13 тактовых импульсов, выходной коммутатор 14, триггер 15, первый 21, второй 22, третий 23, четвертый 24 и пятый 25 элементы И, первый 26, второй 27, третий 28, четвертый 29 и пятый 30 элементы ИЛИ, одновибратор 31, первый 33, второй 32 и третий 34 элементы задержки, причем прямой выход триггера 10 запуска подключен к входу генератора 12 тактовых импульсов, первый выход которого соединен с входом синхронизации регистра 3 адреса, выход которого соединен с адресным входом блока 1 памяти микропрограмм, выход которого подключен к информационному входу регистра 2 микрокоманд, выход 2.1 кода логических условий которого подключен к адресному входу мультиплексора 4 логических условий, первый информационный вход которого соединен с выходом 2.2 модифицируемого разряда адреса регистра 2 микрокоманд, выход 2.4 микроопераций которого соединен с выходом 39 микроопераций модуля, вход 37 логических условий модуля подключен ко второму информационному входу мультиплексора 4 логических условий, выход которого в объединении с выходом 2.3, немодифицируемой части адреса регистра 2 микрокоманд соединен с первым информационным входом коммутатора 11 адреса, выход которого соединен с информационным входом регистра 3 адреса, второй выход генератора 12 тактовых импульсов подключен к входу одновибратора 31 и к входу синхронизации регистра 2 микрокоманд, выход 2.5 метки управления синхронизацией которого соединен с первым входом элемента ИЛИ 26, вход 35 пуска модуля соединен с первым входом элемента И 21, выход которого подключен к первому входу элемента ИЛИ 27, выход элемента ИЛИ 26 соединен с первым входом элемента И 22, второй вход которого подключен к выходу одновибратора 31, а выход соединен с входом сброса триггера 10 запуска, выход 2.7 метки конца участка регистра 2 микрокоманд подключен ко второму входу элемента ИЛИ 26, ко второму (инверсному) входу элемента И 21, к первому входу элемента ИЛИ 28, а также к первому и второму управляющим входам коммутатора 11 адреса, второй информационный вход которого соединен с входом 36 кода операции модуля, выход 2.8 передачи управления регистра 2 микрокоманд соединен с первым информационным входом выходного коммутатора 14, вход 38 приема управления модуля образован входом 38.1 адреса приема управления модуля, входом 38.2 номера приемника управления модуля и линией 38.3 синхронизации модуля, которая соединена с входом элемента 33 задержки, выход которого соединен с первым входом элемента И 23, выход которого подключен к входу синхронизации записи (W) буферного запоминающего блока 5, информационный вход которого соединен с входом 38 приема управления модуля, вход 38.1 адреса приема управления модуля подключен к третьему информационному входу коммутатора 11 адреса, выход генератора 6 констант соединен с первым входом схемы 8 сравнения, второй вход которой подключен к входу 38.2 номера приемника управления модуля, а выход соединен со вторым (инверсным) входом элемента И 23 и с третьим управляющим входом коммутатора 11 адреса, выход 2.9 метки передачи управления регистра 2 микрокоманд подключен к третьему входу элемента ИЛИ 26, к первому входу элемента И 24 и к первому управляющему входу выходного коммутатора 14, выход 2.10 метки конца операции регистра 2 микрокоманд подключен к третьему входу элемента И 21, к выходу 43 конца операции модуля, к четвертому и пятому управляющим входам коммутатора 11 адреса, к четвертому входу элемента ИЛИ 26 и ко второму входу элемента ИЛИ 28, выход которого соединен с шестым управляющим входом коммутатора 11 адреса, первый выход генератора 13 тактовых импульсов подключен ко второму входу элемента И 24 и к входу установки триггера 15, инверсный выход которого соединен с третьим управляющим входом выходного коммутатора 14, выход которого соединен с выходом 40 передачи управления модуля, второй выход генератора 13 тактовых импульсов подключен к входу сброса триггера 15 и к первому входу элемента И 25, выход которого соединен с входом элемента 32 задержки, выход которого подключен к входам синхронизации сдвига (S) и разрешения сдвига (SE) буферного запоминающего блока 5, выход которого соединен со вторым информационным входом выходного коммутатора 14 и с входами элемента ИЛИ 29, выход которого подключен к четвертому управляющему входу выходного коммутатора 14 и ко второму входу элемента И 25, выход которого соединен с первым входом элемента ИЛИ 30, выход которого соединен с выходом 40 передачи управления модуля, выход элемента И 24 подключен ко второму входу элемента ИЛИ 30 и к входу элемента 34 задержки, выход которого соединен со вторым входом элемента ИЛИ 27, а также дополнительно введенные второй генератор 7 констант, дешифратор 9 номера вершины синхронизации, первую группу элементов И 16.1-16. n, вторую группу элементов И 18.1-18.n, третью группу элементов И 20.1-20.n, первую группу элементов ИЛИ 17.1-17.n, вторую группу элементов ИЛИ 19.1-19.n, причем второй управляющий вход выходного коммутатора 14 соединен с прямым выходом триггера 15, выход схемы 8 сравнения подключен к третьему входу элемента ИЛИ 27, выход которого соединен с входом синхронизации триггера 10 запуска, информационный вход которого подключен к шине логической единицы, выход 2.5 метки управления синхронизацией регистра 2 микрокоманд соединен с первыми входами элементов И 16.1-16.n, выходы генератора 7 констант с первого по n-й подключены к первым входам элементов ИЛИ 17.1-17.n соответственно, выход 2.6 номера вершины синхронизации регистра 2 микрокоманд подключен к входу дешифратора 9 номера вершины синхронизации, выходы с первого по n-й которого соединены со вторыми входами элементов И 16.1-16.n соответственно и со вторыми входами элементов ИЛИ 17.1-17.n соответственно, выходы элементов И 16.1-16.n подключены к первым входам элементов ИЛИ 19.1-19.n соответственно и к первым входам элементов И 18.1-18.n соответственно, выходы которых соединены с группой входов элемента ИЛИ 27, входы 41.1-41.n управления синхронизацией модуля подключены ко вторым входам элементов И 18.1-18. n соответственно и ко вторым входам элементов ИЛИ 19.1-19.n соответственно, выходы элементов ИЛИ 17.1-17.n соединены с первыми входами элементов И 20.1-20.n соответственно, вторые входы которых подключены к выходам элементов ИЛИ 19.1-19.n соответственно, а выходы соединены с выходами 42.1-42.n управления синхронизацией модуля соответственно. Буферный запоминающий блок 5 (фиг.2) предназначен для приема, временного хранения и выдачи управляющих микрокоманд (сообщений) М в порядке их поступления и содержит группу регистров 44.1-44.L (где L - максимальная длина очереди сообщений в блоке), группу коммутаторов 45.1-45.L-1, дешифратор 46, группу элементов И 47.1-47.L, группу элементов ИЛИ 48.1-48.L, элемент ИЛИ 49, триггер 50 и элемент 51 задержки, причем вход синхронизации сдвига блока подключен к входу элемента 51 задержки, выход которого соединен с входом сброса (R) триггера 50, вход синхронизации сдвига блока подключен к первому входу элемента ИЛИ 49, второй вход которого подключен к входу синхронизации записи блока, выход элемента ИЛИ 49 подключен к входам синхронизации регистров 44.1-44. L, инверсные выходы которых подключены к входам элементов И 47.1-47. L соответственно, выходы которых соединены с входом дешифратора 46, выходы с первого по L-й которого подключены к первым входам элементов ИЛИ 48.1-48. L соответственно, выходы которых подключены к V-входам регистров 44.1-44. L соответственно, прямые выходы регистров 44.2-44.L соединены с первыми информационными входами коммутаторов 45.1 - 45.L-1 соответственно, а прямой выход регистра 44.1 является выходом блока, вход разрешения сдвига которого соединен с входом установки (S) триггера 50, прямой выход которого подключен к первым управляющим входам коммутаторов 45.1 - 45.L-1 и к вторым входам элементов ИЛИ 48.1-48. L, инверсный выход триггера 50 соединен с вторыми управляющими входами коммутаторов 45.1 - 45.L-1, вторые информационные входы которых и информационный вход регистра 44.L соединены с информационным входом блока, выходы коммутаторов 45.1 - 45.L-1 соединены с информационными входами регистров 44.1 - 44.L-1 соответственно. Назначение элементов и блоков модуля мультимикроконтроллерной сети (фиг. 1) состоит в следующем. Блок 1 памяти микропрограмм предназначен для постоянного хранения и выдачи микрокоманд, входящих в различные участки микропрограмм, закрепленные за текущим модулем. Регистр 2 микрокоманд служит для приема и фиксации микрокоманд, считываемых из блока 1 памяти микропрограмм, на время их обработки, а регистр 3 адреса - для фиксации адреса следующей микрокоманды выполняемого участка микропрограммы, кода очередной операции или адреса приема управления. Мультиплексор 4 логических условий предназначен для опроса значений ЛУ, образующихся на входе 37 логических условий модуля, и изменения значения модифицируемого разряда адреса следующей микрокоманды (выход 2.2 регистра 2) в точках ветвления микропрограмм. Первый генератор 6 констант предназначен для формирования кода логического номера модуля. Второй генератор 7 констант введен для формирования значений компонент вектора Si, соответствующего текущему модулю mi. Схема 8 сравнения служит для сравнения кода логического номера текущего модуля с кодами приемников управляющих микрокоманд (сообщений) М и формирования сигнала приема управления, определяющего либо прием сообщения М текущим модулем, либо транзитную передачу сообщения М на выход 40 передачи управления модуля. Дешифратор 9 номера вершины синхронизации предназначен для формирования сигналов g1i, g2i,..., gni - признаков состояния параллельных участков, завершающихся вершинами синхронизации a1, а2,..., an соответственно. Триггер 10 запуска предназначен для управления работой генератора 12 тактовых импульсов. Коммутатор 11 адреса предназначен для передачи адреса следующей микрокоманды на информационный вход регистра 3 адреса с одного из трех возможных направлений: с выхода 2.3 регистра 2 микрокоманд и выхода мультиплексора 4 логических условий, с входа 36 кода операции модуля или с входа 38 приема управления модуля. Генератор 12 тактовых импульсов служит для формирования двух сдвинутых друг относительно друга импульсных последовательностей 1 и 2, синхронизирующих процесс считывания микрокоманд. Генератор 13 тактовых импульсов служит для формирования двух сдвинутых друг относительно друга импульсных последовательностей t1 и t2, синхронизирующих процессы выдачи и приема управляющих микрокоманд (сообщений) М. Генератор 13 не имеет управляющих входов и начинает вырабатывать последовательности t1 и t2 непосредственно после включения питания модуля. Для обеспечения устойчивой работы модуля и исключения повторной выдачи управляющих микрокоманд М частоты F1 и F2 следования тактовых импульсов, вырабатываемых соответственно генератором 12 и генератором 13, должны удовлетворять соотношению F1 > F2. Выходной коммутатор 14 обеспечивает передачу управляющих микрокоманд М, формируемых текущим модулем, и микрокоманд М, поступающих с входа 38 приема управления модуля и фиксируемых в буферном запоминающем блоке 5, на выход 40 передачи управления модуля. Триггер 15 используется для управления коммутатором 14 (обеспечивает попеременную активизацию первого и второго информационного входа коммутатора 14). Элементы И 16.1, 16.2,..., 16.n служат для формирования единичных сигналов-признаков d1i, d2i,..., dni опроса состояния групп параллельных участков, завершающихся вершинами синхронизации a1, а2,..., an соответственно. Сигнал-признак dqi (q{1,2,...,n}) образуется при завершении i-м модулем одного из параллельных участков, сходящихся в вершине аq, и переходе модуля в режим управления синхронизацией. Элементы ИЛИ 17.1, 17.2,..., 17.n предназначены для объединения сигналов-признаков состояния параллельных участков g1i, g2i,..., gni с соответствующих выходов дешифратора 9 с сигналами с выходов генератора 7, соответствующими компонентам s1i, s2i,..., sni вектора Si (сопоставленного i-му модулю). Сигнал на выходе элемента ИЛИ 17.q (q{1,2,...,n}) определяет состояние i-го модуля (и реализуемого им участка микропрограммы) по отношению к вершине синхронизации аq. Элементы И 18.1, 18.2, . .., 18.n введены для формирования сигналов-признаков e1i, e2i,..., eni окончания групп параллельных участков. Единичный сигнал eqi = 1 (q{1,2,...,n}) устанавливается на выходе элемента И 18.q только тогда, когда i-й модуль является ведущим по отношению к q-й вершине синхронизации (единичный сигнал-признак dqi на выходе элемента И 16.q) и все параллельные участки, сходящиеся в q-й вершине синхронизации, завершены (единичный сигнал-признак dqi на входе 41.q i-го модуля). Элементы ИЛИ 19.1, 19.2,..., 19.n служат для объединения сигналов с выходов элементов И 16.1, 16.2,..., 16.n с сигналами, поступающими с входов 41.1, 41.2,..., 41.n модуля. Элементы И 20.1, 20.2,..., 20.n предназначены для блокировки распространения сигналов-признаков d1i, d2i, ..., dni с выходов элементов ИЛИ 19.1, 19.2, ..., 19.n на выходы 42.1, 42.2,..., 42.n модуля. Единичный сигнал-признак dqi (q{1,2,...,n}) передается через элемент 20.q на выход 42.q i-го модуля только тогда, когда параллельный участок, реализуемый модулем, завершен (т. е. (siq=0)(giq=1)) или за i-м модулем не закреплено участков, завершающихся вершиной синхронизации aq (Sqi = 1). Элемент И 21 используется для запрещения прохождения импульса пуска ММКС от УУВУ до момента окончания всех участков микропрограммы. Элемент И 22 обеспечивает блокировку передачи импульса с выхода одновибратора 31 на вход сброса триггера 10 запуска. Элемент И 23 служит для запрещения передачи импульса, синхронизирующего прием сообщения М в блок 5, на вход синхронизации записи (W) блока 5. Элементы И 24,25 предназначены для попеременного запрещения/разрешения выдачи импульсов, обеспечивающих синхронизацию приема сообщений М, поступающих с выхода 2.8 регистра 2 и с выхода блока 5 соответственно, на выход 40 модуля. Дополнительно, элемент 24 используется для формирования импульса активизации текущего модуля после выдачи сообщения М, а элемент 25 - для формирования импульса сдвига очереди сообщений в блоке 5. Элемент ИЛИ 26 служит для объединения сигналов с выходов 2.5, 2.7, 2.9 и 2.10 регистра 2 и управления блокировкой элемента И 22. Элемент ИЛИ 27 предназначен для объединения импульсов и сигналов активизации текущего модуля, поступающих с выхода элемента И 21 (импульс пуска от УУВУ), с выходов элементов И 18.1-18.n (сигналы окончания групп параллельных участков e1i, e2i,..., eni), с выхода схемы 8 сравнения (сигнал приема управления) и с выхода элемента 34 задержки (сигнал активизации после выдачи сообщения М). Элемент ИЛИ 28 служит для объединения сигналов с выходов 2.7 и 2.10 регистра 2. Элемент ИЛИ 29 используется для формирования сигнала, характеризующего состояние блока 5. Элемент ИЛИ 30 обеспечивает передачу импульсов с выходов элементов И 24 и 25 на выход 40 модуля для синхронизации приема сообщений М следующим модулем ММКС. Одновибратор 31 используется для формирования импульса 3 сброса триггера 10 запуска. Элемент 32 задержки служит для задержки передачи импульса сдвига с выхода элемента И 25 на входы разрешения сдвига (SE) и синхронизации сдвига (S) блока 5 на время выдачи очередного сообщения М из данного блока следующему модулю ММКС. Элемент 33 задержки предназначен для сдвига импульса синхронизации приема сообщения М в блок 5 на время, достаточное для установления этого сообщения на информационном входе блока 5. Элемент 34 задержки использован для задержки поступления импульса активизации модуля (после выдачи сообщения М) на вход синхронизации триггера 10 на время присутствия единичного сигнала на его входе сброса. Вход 35 пуска модуля служит для приема импульса пуска ММКС от УУВУ. Вход 36 кода операции модуля служит для приема КОП от УУВУ (КОП представляет собой адрес первой микрокоманды реализуемой микропрограммы в блоке 1). Вход 37 логических условий модуля предназначен для приема сигналов ЛУ, поступающих от ОУ. Вход 38 приема управления мод