Отказоустойчивый мультимикроконтроллер

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении управляющих и вычислительных систем высокой производительности, АСУТП, а также других систем, к которым предъявляются жесткие требования по надежности. Техническим результатом является расширение области применения распределенной системы за счет введения технических средств, обеспечивающих синхронизацию завершения параллельных участков программ и непрерывное функционирование системы при возникновении отказов отдельных модулей. Для этого устройство содержит nxm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элементы И, элементы ИЛИ, схему сравнения, одновибратор, триггер, регистр, элементы задержки, демультиплесор, мультиплексор. 5 з.п. ф-лы, 13 ил., 5 табл.

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

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

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

Наиболее близкой к предлагаемому устройству по технической сущности является распределенная система для программного управления, содержащая nxm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элемент И, элемент ИЛИ (патент 2122229 РФ, G 05 B 19/18, G 06 F 9/28, опубл. 20.11.98, БИ N 32).

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

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

Техническая задача решается тем, что в распределенную систему для программного управления, содержащую nxm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, первый элемент И, первый элемент ИЛИ, причем первый выход блока синхронизации соединен с синхронизирующим входом регистра адреса, выход которого соединен со входами первого, второго, третьего и четвертого блоков памяти, второй выход блока синхронизации соединен с синхронизирующим входом регистра команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора логических условий, выход третьего поля регистра команд соединен с первым информационным входом коммутатора адреса, выход которого соединен с информационным входом регистра адреса, вход логических условий модуля соединен с управляющим входом мультиплексора логических условий, выход пятого поля регистра команд соединен с информационным входом блока элементов запрета, выход которого соединен с пятым информационным выходом модуля, первый выход блока сообщений соединен со вторым информационным входом коммутатора адреса, выход пятого поля регистра команд соединен с информационным входом блока элементов И, выход которого и выход элемента И соединены с первым информационным входом блока анализа, управляющий выход которого соединен с первым входом первого элемента ИЛИ, третий выход блока синхронизации соединен со вторым входом первого элемента И, выход шестого поля регистра команд соединен с инверсным управляющим входом блока элементов запрета, прямым управляющим входом блока элементов И и первым входом первого элемента И, первый информационный выход блока анализа соединен с первым информационным входом блока сообщений, выходы блоков памяти с первого по четвертый соединены с информационными входами мультиплексора выбора программ с первого по четвертый соответственно, выход мультиплексора выбора программ соединен с информационным входом регистра команд, выход седьмого поля регистра команд соединен с прямым и инверсным управляющими входами коммутатора адреса и первым управляющим входом блока сообщений, третий выход блока выбора соединен со вторым входом первого элемента ИЛИ, выход которого соединен с третьим управляющим выходом модуля, управляющие входы модуля с первого по пятый соединены со входами блока выбора с первого по пятый соответственно, первый и второй выходы блока выбора соединены соответственно с первым и вторым управляющими выходами модуля, второй информационный выход q-го модуля k-го столбца соединен со вторым информационным входом q-го модуля (k+1)-го столбца, первый информационный выход p-го модуля (j+1)-й строки соединен с первым информационным входом p-го модуля j-й строки, четвертый информационный выход (q+1)-го модуля (k+1)-го столбца соединен с четвертым информационным входом (q+1)-го модуля k-го столбца, третий информационный выход (p+1)-го модуля j-й строки соединен с третьим информационным входом (p+1)-го модуля (j+1)-й строки, первый управляющий выход первого модуля p-го столбца соединен со вторым управляющим входом модулей p-го столбца с первого по n-й, первый управляющий выход (j+1)-го модуля p-го столбца соединен с третьим управляющим входом j-го модуля p-го столбца, второй управляющий выход k-го модуля q-й строки соединен с четвертым управляющим входом (k+1)-го модуля q-й строки, второй управляющий выход k-го модуля j-й строки соединен с пятым управляющим входом (k+1)-го модуля (j+1)-й строки, четвертый управляющий вход модулей первого столбца с первого по n-й, третий управляющий вход модулей n-й строки с первого по m-й, пятый управляющий вход модулей первой строки с первого по m-й и первого столбца со второго по n-й соединены с источником логического нуля, дополнительно введены второй, третий и четвертый элементы ИЛИ, второй элемент И, схема сравнения, одновибратор, триггер, регистр, первый и второй элементы задержки, демультиплексор, мультиплексор.

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

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

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

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

Выходы блока сообщений со второго по пятый соединены со входами второй группы информационных входов мультиплексора с первого по четвертый соответственно, четвертый управляющий выход k-го модуля q-й строки соединен с шестым управляющим входом (k+1)-го модуля q-й строки, четвертый управляющий выход m-го модуля q-й строки соединен с седьмым управляющим входом модулей q-й строки с первого по m-й, пятый управляющий выход (j+1)-ro модуля p-го столбца соединен с восьмым управляющим входом j-го модуля p-го столбца, пятый управляющий выход первого модуля p-го столбца соединен с девятым управляющим входом модулей p-го столбца с первого по n-й, шестой управляющий вход модулей первого столбца с первого по n-й, восьмой управляющие входы модулей n-й строки с первого по m-й соединены с источником логического нуля.

Сущность изобретения заключается в следующем. В распределенной системе из nxm модулей n-я строка и m-й столбец являются резервными. Местоположение модуля в матрице определятся его физическим адресом (ФА) - (i,j) (где - номер строки, - номер столбца матрицы, содержащих модуль). Каждый модуль (i, j) может выполнять как собственный алгоритм функционирования, так и алгоритмы функционирования трех соседних модулей - верхнего (i-1, j)-го, левого (i,j-1)-го и диагонального (i-1,j-1)-го в случае их отказов или изменения алгоритмов функционирования. Наряду с ФА для идентификации модулей системы используется так называемый логический адрес (ЛА). Модуль (i,j) имеет ЛА (i',j'), если он реализует алгоритм модуля с ФА (i',j'). При отсутствии отказов резервные модули не задействованы (они не имеют собственных алгоритмов функционирования), ФА и ЛА всех модулей совпадают.

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

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

Если (i,j)-й модуль не отказал, то после перестройки (реконфигурации) он может выполнять либо собственный алгоритм, либо алгоритм одного из трех соседей: верхнего (i-1,j)-го, диагонального (i-1,j-1)-го или левого (i,j-1)-го. Если алгоритм (i,j)-го модуля не выполняется им самим, то он выполняется одним из его трех соседей: правым (i,j+1)-м, диагональным (i+1,j+1)-м или нижним (i+1,j)-м.

При возникновении новых отказов перестройка системы осуществляется повторно, и так до тех пор, пока не произойдет фатальный отказ.

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

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

При наличии в распределенной системе отказавших модулей сообщение так же, как и при отсутствии отказов, передается сначала в модуль с ФА, равным АС. При этом так как ЛА модулей могут не совпадать с их ФА, то сообщение может быть принято модулем-приемником до достижения сообщением модуля с ФА, равным АС. Если ЛА модуля с ФА, равным АС, равен АС, то он как и при отсутствии отказов является модулем-приемником. Если они не равны, то, следовательно, алгоритм данного модуля выполняется одним из его трех соседей: правым (i, j+1)-м, правым по диагонали (i+1,j+1)-м или нижним (i+1,j)-м и модуль-приемник следует искать среди них. Для идентификации этапа поиска модуля-приемника бит обхода в сообщении устанавливается в единицу. Затем сообщение последовательно передается в модуль (i,j+1), из него - в модуль (i+1,j+1) и из последнего - в модуль (i+1,j). При этом каждый модуль сравнивает свой ЛА с АС и в случае их совпадения прекращает передачу сообщения - модуль-приемник найден. В случае несовпадения адресов даже в модуле (i+1,j) генерируется фатальный отказ распределенной системы - перестройка системы невозможна.

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

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

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

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

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

Введение четвертого элемента ИЛИ, второго элемента И и схемы сравнения необходимо для синхронизации окончания параллельных участков.

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

i-й модуль распределенной системы для программного управления (фиг. 1) содержит первый 3, второй 4, третий 5 и четвертый 6 блоки памяти, блок 20 выбора, блок 23 сообщений, блок 22 анализа, коммутатор 1 адреса, регистр 2 адреса, регистр 8 команд, мультиплексор 9 логических условий, мультиплексор 7 выбора программ, блок 13 синхронизации, блок 10 элементов запрета, блок 11 элементов И, первый 12 и второй 16 элементы И, первый 25.1, второй 25.2, третий 25.3 и четвертый 25.4 элементы ИЛИ, схему 15 сравнения, одновибратор 14, триггер 18, регистр 19, первый элемент задержки 17.1, второй элемент задержки 17.2, демультиплексор 21, мультиплексор 24.

Причем первый управляющий вход 26 модуля соединен с третьим информационным входом регистра 19, выходы которого с первого по третий соединены с управляющими входами блока 22 анализа с первого по третий соответственно, шестой управляющий вход 31 модуля соединен со вторым входом элемента ИЛИ 25.2, выход которого соединен с четвертым управляющим выходом 43 модуля, седьмой 32 и восьмой 33 управляющие входы которого соединены соответственно с первым и вторым входами элемента ИЛИ 25.3, выход которого соединен с пятым управляющим выходом 44 модуля, первый 36, второй 37, третий 38 и четвертый 39 информационные входы которого соединены соответственно с первым, вторым, третьим и четвертым информационными входами демультиплексора 21.

Первый, второй, третий и четвертый выходы мультиплексора 24 соединены соответственно с первым 45, вторым 46, третьим 47 и четвертым 48 информационными выходами модуля, первый управляющий вход 26 модуля соединен с первым входом блока 13 синхронизации и с входом одновибратора 14, выход которого соединен с первым входом элемента ИЛИ 25.2.

Девятый управляющий вход 34 модуля соединен со входом второго элемента задержки 17.2, выход которого соединен с синхронизирующим входом регистра 19, S-входом триггера 18 и входом первого элемента задержки 17.1, выход которого соединен с R-входом триггера 18, прямой выход которого соединен со вторым входом блока 13 синхронизации, R-входом регистра 8 команд, четвертым управляющим входом блока 22 анализа, четвертым управляющим входом блока 23 сообщений, управляющим входом демультиплексора 21 и управляющим входом мультиплексора 24.

Выходы первой группы выходов демультиплексора 21 с первого по четвертый соединены с информационными входами блока 22 анализа со второго по пятый соответственно, выходы второй группы выходов демультиплексора 21 с первого по четвертый соединены с информационными входами блока 23 сообщений с четвертого по седьмой соответственно, информационные выходы блока 22 анализа со второго по пятый соединены со входами первой группы информационных входов мультиплексора 24 с первого по четвертый соответственно, первый, шестой и седьмой информационные выходы блока 22 анализа соединены соответственно с первым, вторым и третьим информационными входами блока 23 сообщений, выходы блока 23 сообщений со второго по пятый соединены со входами второй группы информационных входов мультиплексора 24 с первого по четвертый соответственно.

Первый выход блока 13 синхронизации соединен с синхронизирующим входом регистра 2 адреса, выход которого соединен со входами первого 3, второго 4, третьего 5 и четвертого 6 блоков памяти, первый выход блока 13 синхронизации соединен с вторым входом элемента И 16 и синхронизирующим входом регистра 8 команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора 9 логических условий, выход которого соединен с первым входом элемента ИЛИ 25.4, выход которого и выход третьего поля регистра 8 команд соединены с первым информационным входом коммутатора 1 адреса, выход которого соединен с информационным входом регистра 2 адреса.

Вход 35 логических условий модуля соединен с управляющим входом мультиплексора 9 логических условий, выход четвертого поля регистра 8 команд соединен с управляющим входом схемы 15 сравнения, выход которой соединен со вторым входом элемента ИЛИ 25.4 и первым входом элемента И 16, выход которого, выход элемента ИЛИ 25.4, выход третьего поля регистра 8 команд и выход элемента И 12 соединены с восьмым информационным входом блока 23 сообщений, шестой выход которого соединен со вторым информационным входом схемы 15 сравнения, первый информационный вход которой соединен с выходом пятого поля регистра 8 команд.

Выход пятого поля регистра 8 команд соединен с информационным входом блока 10 элементов запрета, выход которого соединен с пятым информационным выходом 49 модуля, первый выход блока 23 сообщений соединен со вторым информационным входом коммутатора 1 адреса, выход пятого поля регистра 8 команд соединен с информационным входом блока 11 элементов И, выход которого и выход элемента И 12 соединены с первым информационным входом блока 22 анализа, управляющий выход которого соединен с первым входом элемента ИЛИ 25.1.

Третий выход блока синхронизации 13 соединен со вторым входом элемента И 12, выход шестого поля регистра 8 команд соединен с инверсным управляющим входом блока 10 элементов запрета, прямым управляющим входом блока 11 элементов И и первым входом элемента И 12, выходы блоков 3, 4, 5 и 6 памяти соединены с информационными входами мультиплексора 7 выбора программ с первого по четвертый соответственно, выход мультиплексора 7 выбора программ соединен с информационным входом регистра 8 команд, выход седьмого поля регистра 8 команд соединен с прямым и инверсным управляющими входами коммутатора 1 адреса и первым управляющим входом блока 23 сообщений.

Четвертый и пятый выходы блока 20 выбора соединены соответственно с первым и вторым информационными входами регистра 19, первый и второй выходы которого соединены с первым и вторым управляющими входами мультиплексора 7 выбора программ соответственно и со вторым и третьим управляющими входами блока 23 сообщений соответственно, третий выход блока 20 выбора соединен со вторым входом элемента ИЛИ 25, выход которого соединен с третьим управляющим выходом 42 модуля, первый 26, второй 27, третий 28, четвертый 29 и пятый 30 управляющие входы модуля соединены со входами блока 20 выбора с первого по пятый соответственно, первый и второй выходы блока 20 выбора соединены соответственно с первым 40 и вторым 41 управляющими выходами модуля.

Блок 20 выбора (фиг. 2) содержит элемент запрета 50, первый 51 и второй 52 элементы И, первый 53 и второй 54 элементы ИЛИ, элемент И-ИЛИ 55, причем выход элемента И-ИЛИ 55 соединен с четвертым выходом блока, второй вход блока соединен с прямым входом элемента запрета 50, выход которого соединен с первым инверсным и вторым прямым входами элемента И-ИЛИ 55 и пятым выходом блока, первый и третий входы блока соединены с первым и вторым входами элемента ИЛИ 53 соответственно и с первым и вторым входами элемента И 51 соответственно, выход элемента ИЛИ 53 соединен с инверсным входом элемента запрета 50 и первым выходом блока, четвертый вход которого соединен со вторым входом элемента ИЛИ 54, вторым входом элемента И 52 и первым прямым входом элемента И-ИЛИ 55, второй инверсный вход которого соединен с пятым входом блока, выход элемента И 51 соединен с первым входом элемента ИЛИ 54 и первым входом элемента И 51, выход которого соединен с третьим выходом блока, выход элемента ИЛИ 54 соединен со вторым выходом блока.

Блок 22 анализа (фиг. 3) содержит группу 56.1 - 56.5 блоков памяти сообщений, мультиплексор 57, блок 58 выбора направления передачи информации, блок 59 памяти константы, триггер 60, буферный регистр 61 с полями: операционным 61.1, вертикального адреса 61.2, горизонтального адреса 61.3 и бита обхода 61.4, демультиплексор 62, выходной демультиплексор 63, дешифратор 64, счетчик 65, распределитель импульсов 66, первый элемент запрета 67, второй элемент запрета 69, первый элемент ИЛИ 68, второй элемент ИЛИ 70.

Причем выход элемента ИЛИ 68 соединен с прямым входом элемента запрета 69 и инверсным входом элемента запрета 67, выход которого соединен с первым входом элемента ИЛИ 70, выход которого соединен с входом сброса (R-входом) триггера 60, четвертый управляющий вход блока соединен со вторым входом элемента ИЛИ 70 и инверсным входом элемента запрета 69, выход которого соединен с входом установки (S-входом) триггера 60, прямой выход триггера 60 соединен с управляющим входом распределителя импульсов 66, четвертый выход которого соединен со счетным входом счетчика 65.

Выходы счетчика 65 соединены со входами дешифратора 64 и управляющими входами мультиплексора 57, выход которого соединен с информационным входом буферного регистра 61, синхронизирующий вход которого соединен со вторым выходом распределителя импульсов 66, первый - третий входы блока 59 памяти константы соединены соответственно с первым - третьим управляющими входами блока, первый и второй выходы блока 59 памяти константы соединены с первым и четвертым входами блока 58 выбора направления передачи информации соответственно и с шестым и седьмым информационными выходами блока соответственно, второй и третий выходы блока 58 выбора направления передачи информации соединены соответственно с первым и вторым управляющими входами выходного демультиплексора 63, второй, третий и пятый входы блока 58 выбора направления передачи информации соединены соответственно с выходами 61.2, 61.3 и 61.4 буферного регистра 61, выходы 61.1, 61.2 и 61.3 буферного регистра 61, пятый выход блока 58 выбора направления передачи информации и третий выход распределителя импульсов 66 соединены с информационным входом демультиплексора 62.

Второй выход демультиплексора 62 соединен с первым информационным выходом блока, первый выход демультиплексора 62 соединен с информационным входом выходного демультиплексора 63, первый - четвертый выходы которого соединены соответственно со вторым - пятым информационными выходами блока, первый - пятый информационные входы которого соединены с информационными и первыми управляющими входами блоков 56.1 - 56.5 памяти сообщений соответственно, информационные выходы которых соединены с соответствующими информационными входами мультиплексора 57.

Управляющие выходы блоков 56.1 - 56.5 памяти сообщений соединены со входами элемента ИЛИ 68, третий выход распределителя импульсов 66 соединен с прямым входом элемента запрета 67, первый выход блока 58 выбора направления передачи информации соединен с управляющим входом демультиплексора 62, четвертый выход блока 58 выбора направления передачи информации соединен с управляющим выходом блока, первый выход распределителя импульсов 66 соединен с тактовыми входами блоков 56.1 - 56.5 памяти сообщений, выходы дешифратора 64 с первого по пятый соединены со вторыми управляющими входами блоков 56.1 - 56.5 памяти сообщений соответственно.

Блок 23 сообщений (фиг. 4) содержит первый 71, второй 86, тритий 87, четвертый 88 и пятый 89 демультиплексоры, первый блок регистров 72.1 - 72.l (где l - максимальная глубина очереди), второй блок регистров 84.1 - 84.l, группу блоков элементов ИЛИ 73.1 - 73.(l-1), первую группу элементов И 74.1 - 74. l, вторую группу элементов И 75.1 - 75.l, группу элементов ИЛИ 76.1 - 76. l, элемент ИЛИ 77, первый 78.1 и второй 78.2 одновибраторы, распределитель импульсов 79, первую 80.1, вторую 80.2 и третью 80.3 схемы сравнения, блок 81 элементов запрета, первый 82.1 и второй 82.2 элементы И, первый 83.1 и второй 83.2 дешифраторы, первый 90, второй 91, третий 92, четвертый 93, пятый 94 и шестой 85 мультиплексоры.

Причем первый управляющий вход блока соединен с входом одновибратора 78.1, выход которого соединен с первым входом элемента ИЛИ 77, выход которого соединен с инверсным управляющим входом демультиплексора 71, первым входом элемента И 82.2 и первыми входами элементов ИЛИ 76.1 - 76.l, выходы которых соединены с синхронизирующими входами регистров 72.1 - 72.l соответственно, четвертый управляющий вход блока соединен с инверсным управляющим входом одновибратора 78.1, с вторым входом элемента И 82.2 и управляющим входом мультиплексора 90, выход которого соединен с информационным входом демультиплексора 71 и со вторыми входами элементов И 75.1 - 75.l, выходы которых соединены со вторыми входами элементов ИЛИ 76.1 - 76.l соответственно.

Первый, . . . , (l-1)-й выходы демультиплексора 71 соединены с первыми входами блоков элементов ИЛИ 73.1 - 73.(l-1) соответственно, выходы блоков элементов ИЛИ 73.2 - 73.(l-1) соединены с информационными входами регистров 72.2 - 72.(l-1) соответственно и регистров 84.2 - 84.(l-1) соответственно, выход блока элементов ИЛИ 73.1 соединен с первым информационным входом мультиплексора 85, выход которого соединен с информационным входом регистра 72.1 и регистра 84.1, выход регистра 84.1 соединен с шестым выходом блока, l-й выход демультиплексора 71 соединен с информационным входом регистра 72.l и регистра 84.l, первый информационный вход блока соединен с информационным и инверсным управляющим входами блока 81 элементов запрета и первым и вторым входами элемента И 82.1, выход которого соединен с инкрементирующим входом регистра 84.1.

Выход блока 81 элементов запрета соединен с первым информационным входом мультиплексора 90, инверсные выходы блока регистров 72.1 - 72.l соединены со входами элементов И 74.1-74. l соответственно, выходы которых соединены с первыми входами элементов И 75.1-75.l соответственно и адресным входом демультиплексора 71, прямые выходы регистров 72.2 - 72.l и выходы регистров 84.2 - 84.l соединены со вторыми входами блоков элементов ИЛИ 73.1 - 73.(l-1) соответственно, прямой выход регистра 72.1 соединен с первыми входами схем 80.1, 80.2 и 80.3 сравнения и первым выходом блока, второй информационный вход которого соединен со вторым входом схемы 80.1 сравнения, инверсный выход которой соединен со входом распределителя импульсов 79, первый выход которого, прямой выход регистра 72.1 и выход регистра 84.1 соединены со вторыми входами мультиплексоров 91, 92, 93 и 94.

Выходы мультиплексоров 91, 92, 93 и 94 соединены соответственно с третьим, четвертым, пятым и вторым выходами блока, третий информационный вход которого соединен со вторыми входами схем 80.2 и 80.3 сравнения, инверсные выходы схем 80.2 и 80.3 сравнения соединены соответственно с первым и вторым входами дешифратора 83.2, выходы которого с первого по четвертый соединены с управляющими входами мультиплексоров 91, 94, 92 и 93 соответственно, информационные входы блока с четвертого по седьмой соединены с информационными входами демультиплексоров 86, 87, 88 и 89 соответственно, первые выходы демультиплексоров 86, 87, 88 и 89 соединены с первыми информационными входами мультиплексоров 91, 92, 93 и 94 соответственно.

Второй и третий управляющие входы блока соединены соответственно с первым и вторым входами дешифратора 83.1, выходы которого с первого по четвертый соединены с управляющими входами демультиплексоров 86, 87, 88 и 89 соответственно, вторые выходы демультиплексоров 86, 87, 88 и 89 соединены со вторым информационным входом мультиплексора 90, второй выход распределителя импульсов 79 соединен со вторым входом элемента ИЛИ 77, восьмой информационный вход блока соединен со вторым информационным и управляющим входами мультиплексора 85, третьим входом элемента ИЛИ 76.1 и входом одновибратора 78.2, выход которого соединен со входом сброса регистра 84.1, выход элемента И 82.2 соединен с синхронизирующими входами блока регистров 84.1 - 84.l.

Блок 13 синхронизации (фиг. 5) содержит элемент ИЛИ-НЕ 95, распределитель импульсов 96, причем первый и второй входы блока соединены соответственно с первым и вторым входами элемента ИЛИ-НЕ 95, выход которого соединен со входом распределителя импульсов 96, первый, второй и третий выходы которого соединены соответственно с первым, вторым и третьим выходами блока.

Первый 56.1 - пятый 56.5 блоки памяти сообщений (фиг. 6) содержат блок регистров 97.1 - 97. K (где K - максимальная глубина очереди сообщений), группу блоков э