Модуль микроконтроллерной сети

Реферат

 

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

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

Известно микропрограммное устройство управления, содержащее блок постоянной памяти, блок формирования адреса микрокоманд, регистр адреса следующей микрокоманды, регистр микроопераций, регистр формата микрокоманды, регистр начала микропрограмм, регистр состояния параллельных участков, триггер управления, генератор импульсов, элемент ИЛИ, блок элементов ИЛИ, первый и второй элементы И, первый и второй блоки элементов И, группу элементов И, одновибратор, первый, второй и третий элементы задержки (а. с. СССР N 1647566, кл. G 06 F 9/22, опубл. 07.05.91, БИ N 17).

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

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

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

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

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

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

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

Каждый модуль МКС выполняется в виде СБИС с внутренней перепрограммируемой памятью микропрограмм и обеспечивает возможности: управления последовательным процессом, инициализации процессов в других аналогичных устройствах, а также синхронизации их завершения путем передачи специальных управляющих микрокоманд (сообщений). Для идентификации различных модулей МКС им присваиваются логические номера 1,2,...,N. Тип (номер) выполняемой операции определяется кодом операции (КОП), который представляет собой адрес первой микрокоманды начального участка соответствующей микропрограммы и формируется устройством управления верхнего уровня (УУВУ), например, центральным процессором.

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

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

Модуль Мi формирует управляющую микрокоманду S, которая включает номер инициализируемого модуля k и соответствующий начальный адрес (адрес инициализации) Апу. Микрокоманда S передается модулю Мi+1, где подвергается анализу, который заключается в сопоставлении номера приемника сообщения k с номером данного модуля (i+1), Если указанные номера совпадают, то модуль Мi+1 начинает выполнение участка микропрограммы с поступившего адреса Апу иначе микрокоманда S транслируется на выход модуля Мi+1 и передается следующему модулю МКС Мi+2, где вновь подвергается анализу. Аналогично микрокоманда S передается следующему в кольцевой структуре сети модулю и ретранслируется вплоть до совпадения номера k с номером одного из модулей МКС, Для реализации режима синхронизации завершения группы P параллельных участков микропрограмм, закрепленных за модулями , , одному из перечисленных модулей присваивается статус ведущего (например, ведущим считается модуль , остальные рассматриваются как ведомые. В качестве ключевой информации при синхронизации параллельных участков используется номер точки (вершины) слияния (синхронизации) этих участков Tr, а также число участков Wr0 (количество ожидаемых событий), завершающихся в точке Tr.

Ведущий модуль Mq, завершая выполнение соответствующего участка микропрограммы, переходит в режим управления синхронизацией, а остальные (ведомые) модули - в состояние активного ожидания. В режиме управления синхронизацией модуль Mq вырабатывает управляющую микрокоманду Zr, содержащую номер точки слияния Tr и количество ожидаемых событий Wr=Wr0-1 (параллельный участок, выполняемый модулем Mq, не учитывается). Данная микрокоманда последовательно передается модулям Мq+1, Мq+2,..., Мj,... и по мере прохождения через каждый из указанных модулей подвергается анализу и, возможно, модификации. Если очередной модуль МКС Мj выполняет некоторый участок микропрограммы (и, соответственно, не находится в состоянии ожидания) или завершил реализацию параллельного участка в точке слияния TfTr, то микрокоманда Zr без изменений транслируется следующему модулю (Мj+1), в противном случае перед выдачей микрокоманды модулю Мj+1 количество ожидаемых событий Wr уменьшается на единицу. Аналогичным образом рассматриваемая микрокоманда проходит через все модули сети и, поскольку МКС обладает кольцевой структурой, появляется на входе ведущего модуля Мq.

Модуль Мq анализирует микрокоманды, поступающие на его вход, и при обнаружении микрокоманды Zr (возвращающейся на его вход по кольцу) осуществляет опрос состояния поля количества ожидаемых событий Wr. В случае, если для поступившей микрокоманды Zr, Wr > 0, т.е. среди контролируемых параллельных участков существуют незавершенные, модуль Мq продолжает функционировать в режиме управления синхронизацией и ретранслирует микрокоманду Zr на выход для реализации повторного опроса. Если для поступившей микрокоманды имеет место Wr= 0, т.е. все параллельные участки, сходящиеся к точке слияния Тr, завершены, то модуль Mq выходит из режима управления синхронизацией и возобновляет выполнение закрепленного за ним участка микропрограммы. Ведомые модули впоследствии выходят из состояния ожидания по мере поступления на их входы управляющих микрокоманд передачи управления S.

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

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

Модуль микроконтроллерной сети (фиг. 1) содержит блок 1 памяти микропрограмм, регистр 2 микрокоманд, регистр 3 адреса, мультиплексор 4 логических условий, первый буферный запоминающий блок 5, генератор 7 констант, первую схему 8 сравнения, триггер 11 запуска, первый генератор 12 тактовых импульсов, коммутатор 14 адреса, первый выходной коммутатор 19, второй 24, третий 25 и первый 33 элементы И, третий 36, второй 37, четвертый 38 и первый 39 элементы ИЛИ, первый одновибратор 46 и первый элемент 48 задержки, причем вход генератора 7 констант является входом 21 настройки модуля, а выход соединен с первым входом схемы 8 сравнения, выход коммутатора 19 соединен с выходом 58 управления синхронизацией модуля, выход элемента ИЛИ 39 подключен к первому входу элемента И 33, выход элемента ИЛИ 37 соединен с входом установки триггера 11 запуска, прямой выход которого соединен с входом генератора 12 тактовых импульсов, первый выход которого соединен с входом синхронизации регистра 3 адреса, а второй выход подключен к входу синхронизации регистра 2 микрокоманд, выходы 2.1 кода логического условия (ЛУ) и 2.2 модифицируемого разряда адреса (Ам) которого подключены к адресному и первому информационному входам мультиплексора 4 логических условий соответственно, второй информационный вход которого является входом 52 логических условий модуля, выход мультиплексора 4 логических условий в объединении с выходом 2,3 немодифицируемой части адреса (Ан) регистра 2 микрокоманд соединен с первым информационным входом коммутатора 14 адреса, выход которого подключен к информационному входу регистра 3 адреса, выход которого соединен с адресным входом блока 1 памяти микропрограмм, выход которого соединен с информационным входом регистра 2 микрокоманд, выход 2,9 метки конца операции которого подключен к первому и второму управляющим входам коммутатора 14 адреса, а также дополнительное включенные второй буферный запоминающий блок 6, вторую схему 9 сравнения, регистр-счетчик 10 событий, второй генератор 13 тактовых импульсов, триггеры 15 блокировки и 16 переключения каналов, триггер 17, триггер 18 управления синхронизацией, второй выходной коммутатор 20, элемент ИЛИ-НЕ 22, пятый 23, девятый 26, шестой 27, одиннадцатый 28, двенадцатый 29, четырнадцатый 30, восьмой 31, десятый 32, тринадцатый 34, седьмой 35 и четвертый 45 элементы И, шестой 40, седьмой 41 и пятый 42 элементы ИЛИ, второй 44 и третий 47 одновибраторы, второй 43, третий 49, четвертый 50 и пятый 51 элементы задержки, причем выход 2.5 метки управления синхронизацией регистра 2 микрокоманд соединен с первыми входами элементов И 24, 25 и с первым входом элемента ИЛИ 36, выход которого подключен к первому входу элемента И 45, выход которого подключен к входу сброса триггера 11 запуска, выход 2.6 метки конца участка регистра 2 микрокоманд соединен с первыми входами элементов И 23, 27, с третьим и четвертым управляющими входами коммутатора 14 адреса, с вторым входом элемента ИЛИ 36, с входом установки триггера 15 блокировки, а также с первым входом элемента ИЛИ 38, выход которого подключен к пятому управляющему входу коммутатора 14 адреса, второй информационный вход которого является входом 54 кода операции модуля, выход 2.7 метки передачи управления регистра 2 микрокоманд соединен с третьим входом элемента ИЛИ 36, с первым входом элемента И 35 и с первым управляющим входом коммутатора 20, выход которого в объединении с выходом элемента ИЛИ 42 образуют выход 59 передачи управления модуля, выход 2.8 управляющей информации регистра 2 микрокоманд включает выход 2.10 номера точки синхронизации и выход количества ожидаемых событий и подключен к первым информационным входам выходных коммутаторов 19, 20, выход 2.10 номера точки синхронизации регистра 2 микрокоманд соединен с первым входом схемы 9 сравнения, выход которой подключен к второму входу элемента И 27 и к второму входу элемента И 25, третий вход которого подключен к выходу элемента ИЛИ-НЕ 22, выход элемента И 25 соединен с первым (инверсным) входом элемента И 31 и с первым входом элемента И 26, выход которого подключен к первому входу элемента ИЛИ 37, второй вход которого соединен с выходом одновибратора 46, выход 2,9 метки конца операции регистра 2 микрокоманд соединен с выходом 60 конца операции модуля, с четвертым входом элемента ИЛИ 36, с вторым входом элемента ИЛИ 38 и с вторым входом элемента И 23, третий вход которого является входом 53 пуска модуля, выход элемента И 23 соединен с третьим входом элемента ИЛИ 37, второй выход генератора 12 тактовых импульсов подключен к входу одновибратора 44, выход которого подключен к второму входу элемента И 45 и к второму входу элемента И 24, выход которого соединен с входом установки триггера 18 управления синхронизацией, прямой выход которого подключен к первому управляющему входу коммутатора 19, к первому входу элемента И 32 и к первому входу элемента И 28, выход которого соединен с входом установки триггера 17, счетный вход которого подключен к инверсному выходу триггера 18 управления синхронизацией, прямой выход триггера 17 соединен с первым входом элемента И 29, выход которого подключен к входу сброса триггера 18 управления синхронизацией, первый выход генератора 13 тактовых импульсов подключен к второму входу элемента И 35, к второму входу элемента И 28, к входу установки триггера 16 переключения каналов и к второму входу элемента И 32, выход которого соединен с первым входом элемента ИЛИ 40, выход которого подключен к выходу 58 управления синхронизацией модуля, второй выход генератора 13 тактовых импульсов соединен с первым входом элемента И 34, с вторым входом элемента И 29, с входом сброса триггера 16 переключения каналов и с вторым входом элемента И 33, выход которого подключен к второму входу элемента ИЛИ 40 и к входу элемента 48 задержки, выход которого соединен с входами синхронизации сдвига (S) и разрешения сдвига (SE) буферного запоминающего блока 5, выход которого соединен с вторым информационным входом коммутатора 19 и с входами элемента ИЛИ 39, выход которого подключен к второму управляющему входу коммутатора 19, третий и четвертый управляющие входы которого соединены с инверсным и прямым выходами триггера 16 переключения каналов соответственно, вход 55 управления синхронизацией модуля образован входом 55.1 номера точки синхронизации, входом 55.2 количества ожидаемых событий и линией 55.3 синхронизации, вход 55.1 номера точки синхронизации модуля соединен с вторым входом схемы 9 сравнения и в объединении с выходом регистра-счетчика 10 событий подключен к информационному входу буферного запоминающего блока 5, вход синхронизации записи (W) которого соединен с выходом элемента И 31, вход 55.2 количества ожидаемых событий модуля соединен с входами элемента ИЛИ-НЕ 22 и с информационным входом регистра-счетчика 10 событий, линия 55.3 синхронизации входа 55 управления синхронизацией модуля подключена к входу элемента 43 задержки, выход которого подключен к входу синхронизации регистра-счетчика 10 событий, к второму входу элемента И 26 и к входу одновибратора 47, выход которого соединен с вторым (прямым) входом элемента И 31 и с третьим входом элемента И 27, четвертый вход которого соединен с прямым выходом триггера 15 блокировки, выход элемента И 27 подключен к счетным входам триггера 15 блокировки и регистра-счетчика 10 событий, прямой и инверсный выходы триггера 16 переключения каналов соединены соответственно с вторым и третьим управляющими входами коммутатора 20, вход 56 приема управления модуля образован входом 56.1 номера модуля, входом 56.2 адреса приема управления и линией 56.3 синхронизации, вход 56.2 адреса приема управления модуля соединен с третьим информационным входом коммутатора 14 адреса и в объединении с входом 56.1 номера модуля устройства подключен к информационному входу буферного запоминающего блока 6, выход которого подключен к второму информационному входу коммутатора 20 и к входам элемента ИЛИ 41, выход которого соединен с четвертым управляющим входом коммутатора 20 и с вторым входом элемента И 34, выход которого подключен к первому входу элемента ИЛИ 42 и к входу элемента 49 задержки, выход которого соединен с входами синхронизации сдвига (S) и разрешения сдвига (SE) буферного запоминающего блока 6, вход синхронизации записи (W) которого подключен к выходу элемента И 30, первый (прямой) вход которого соединен с выходом элемента 50 задержки, вход которого соединен с линией 56.3 синхронизации входа 56 приема управления модуля, вход 56.1 номера модуля устройства подключен к второму входу схемы 8 сравнения, выход которой соединен с вторым (инверсным) входом элемента И 30, с входом одновибратора 46, а также с шестым управляющим входом коммутатора 14 адреса, выход элемента И 35 подключен к второму входу элемента ИЛИ 42 и к входу элемента 51 задержки, выход которого соединен с четвертым входом элемента ИЛИ 37, выход 2.4 микроопераций (МО) регистра 2 микрокоманд является выходом 57 микроопераций модуля.

Буферный запоминающий блок 5 (6) (фиг. 2) предназначен для приема, временного хранения и выдачи управляющих сообщений (микрокоманд) типа Z (S) в порядке поступления и содержит группу регистров 61.1-61.L (где L - максимальная длина очереди сообщений в блоке), группу коммутаторов 62.1-62.L-1, дешифратор 63, группу элементов И 64.1-64.L, группу элементов ИЛИ 65.1-65.L, элемент ИЛИ 66, триггер 67 и элемент 68 задержки, причем вход синхронизации сдвига (S) блока подключен к входу элемента 68 задержки, выход которого соединен с входом сброса триггера 67, вход синхронизации сдвига блока подключен к первому входу элемента ИЛИ 66, второй вход которого подключен к входу синхронизации записи (W) блока, выход элемента ИЛИ 66 подключен к входам синхронизации регистров 61.1-61.L, инверсные выходы которых подключены к входам элементов И 64.1-64. L соответственно, выходы которых соединены с входом дешифратора 63, выходы с первого по L-й которого подключены к первым входам элементов ИЛИ 65.1-65.L соответственно, выходы которых подключены к входам разрешения (V-входам) регистров 61.1-61. L соответственно, прямые выходы регистров 61.2-61.L соединены с первыми информационными входами коммутаторов 62.1-62. L-1 соответственно, а прямой выход регистра 61.1 является выходом блока, вход разрешения сдвига (SE) которого соединен с входом установки триггера 67, прямой выход которого подключен к первым управляющим входам коммутаторов 62.1-62.L-1 и к вторым входам элементов ИЛИ 65.1-65.L, инверсный выход триггера 67 соединен с вторыми управляющими входами коммутаторов 62.1-62. L-1, вторые информационные входы которых и информационный вход регистра 61.L соединены с информационным входом (D) блока, выходы коммутаторов 62.1-62.L-1 соединены с информационными входами регистров 61.1-61.L-1 соответственно.

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

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

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

Генератор 7 констант предназначен для формирования кода логического номера (идентификатора) модуля.

Схема 8 сравнения служит для сравнения кода логического номера текущего модуля с кодами приемников управляющих микрокоманд типа S и формирования сигнала приема/ретрансляции, определяющего либо прием микрокоманды текущим модулем, либо транзитную передачу микрокоманды на выход 59 передачи управления модуля.

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

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

Генератор 12 тактовых импульсов служит для формирования двух непересекающихся во времени импульсных последовательностей t1 и t2 синхронизирующих процесс считывания микрокоманд.

Генератор 13 тактовых импульсов служит для формирования двух сдвинутых друг относительно друга импульсных последовательностей П1 и П2, синхронизирующих процессы выдачи и приема управляющих микрокоманд S и Z (для обеспечения устойчивой работы устройства и исключения повторной выдачи микрокоманд типа S частоты следования тактовых импульсов F1 и F2, вырабатываемых соответственно генератором 12 и генератором 13, должны удовлетворять соотношению F1 > F2.

Коммутатор 14 адреса предназначен для передачи кода адреса следующей микрокоманды на информационный вход регистра 3 адреса с одного из трех возможных направлений: с выхода 2.3 регистра 2 микрокоманд и выхода мультиплексора 4 логических условий, с входа 54 кода операции или с входа 56 приема управления модуля.

Триггер 11 запуска предназначен для управления работой генератора 12.

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

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

Коммутатор 20 обеспечивает передачу микрокоманд типа S, формируемых текущим модулем, и микрокоманд типа S, поступающих с входа 56 приема управления модуля и фиксируемых в буферном запоминающем блоке 6, на единый выход 59 передачи управления модуля.

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

Триггеры 17 и 18 в объединении с элементами И 24, 28, 29 и одновибратором 44 предназначены для управления процессом выдачи управляющих микрокоманд типа Z на выход 58 модуля.

Элемент ИЛИ-НЕ 22 служит для формирования сигнала, определяющего состояние поля количества ожидаемых событий микрокоманд Z, поступающих на вход 55 при работе модуля в режиме ведущего.

Элемент И 23, одновибратор 46, элемент И 35 и элемент И 26 служат для формирования сигналов запуска модуля соответственно при инициализации модуля со стороны УУВУ, при передаче управления от другого аналогичного модуля, при окончании процесса выдачи управляющих микрокоманд типа S и при завершении опрашиваемых модулем параллельных участков микропрограммы и совместно с элементом ИЛИ 37 предназначены для управления запуском генератора 12 (переключения в единичное состояние триггера 11 запуска).

Элемент И 25 служит для формирования сигнала, подтверждающего окончание требуемых параллельных участков микропрограммы, Элемент И 27 служит для управления прохождением импульсов модификации кодов количества ожидаемых событий, вырабатываемых одновибратором 47, на счетный вход регистра-счетчика 10 событий и управления переключением триггера 15 блокировки.

Элементы И 30 и 31 предназначены для блокировки записи управляющих микрокоманд S и Z, поступающих соответственно с входов 56 и 55 модуля, в буферные запоминающие блоки 6 и 5 соответственно.

Группы, первая из которых образована элементами И 32, 33 и элементом ИЛИ 40, а вторая - элементами И 34, 35 и элементом ИЛИ 42, служат для управления выдачей импульсов синхронизации приема управляющих микрокоманд Z и S соответственно, Элемент ИЛИ 36 совместно с элементом И 45 и одновибратором 44 используется для формирования сигнала отключения генератора 12 тактовых импульсов (сброса триггера 11 запуска).

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

Элементы ИЛИ 39 и 41 служат для формирования сигналов, характеризующих состояния буферных запоминающих блоков 5 и 6 соответственно, а элементы задержки 48 и 49 - для задержки поступления импульсов сдвига очередей буферных запоминающих блоков 5 и 6 соответственно при выдаче сообщений на время приема сообщений следующим модулем МКС.

Элементы 50 и 43 задержки введены для согласования моментов появления импульсов синхронизации приема управляющих микрокоманд S и Z с моментами установления микрокоманд на входах 56 и 55 модуля соответственно, а элемент 51 задержки введен для задержки поступления импульса запуска модуля (после выдачи микрокоманды передачи управления S) на вход установки триггера 11 на время присутствия единичного уровня сигнала на его входе сброса.

Работу предлагаемого устройства поясним примером функционирования кольцевой ми