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

Реферат

 

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

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

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

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

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

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

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

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

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

Первый управляющий выход (j+1)-го модуля р-го столбца соединен с третьим управляющим входом j-го модуля р-го столбца, второй управляющий выход 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)-го модуля р-го столбца соединен с восьмым управляющим входом j-го модуля р-го столбца, пятый управляющий выход первого модуля р-го столбца соединен с девятым управляющим входом модулей р-го столбца с первого по n-й, шестой управляющий вход модулей первого столбца с первого по n-й, восьмой управляющие входы модулей n-й строки с первого по m-й соединены с источником логического нуля.

Сущность изобретения заключается в следующем. В распределенной системе из nm модулей 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, первый 25, второй 15 и третий 16 элементы ИЛИ, одновибратор 14, триггер 18, регистр 19, первый элемент задержки 17.1, второй элемент задержки 17.2, демультиплексор 21, мультиплексор 24.

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

Первый, второй, третий и четвертый выходы мультиплексора 24 соединены соответственно с первым 45, вторым 46, третьим 47 и четвертым 48 информационными выходами модуля, первый 26 управляющий вход модуля соединен с первым входом блока 13 синхронизации и с входом одновибратора 14, выход которого соединен с первым входом элемента ИЛИ 15, девятый 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 синхронизации соединен с синхронизирующим входом регистра 8 команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора 9 логических условий, выход которого и выход третьего поля регистра 8 команд соединены с первым информационным входом коммутатора 1 адреса, выход которого соединен с информационным входом регистра 2 адреса, вход 35 логических условий модуля соединен с управляющим входом мультиплексора 9 логических условий, выход четвертого поля регистра 8 команд соединен с информационным входом блока 10 элементов запрета, выход которого соединен с пятым 49 информационным выходом модуля.

Первый выход блока 23 сообщений соединен с вторым информационным входом коммутатора 1 адреса, выход четвертого поля регистра 8 команд соединен с информационным входом блока 11 элементов И, выход которого и выход элемента И 12 соединены с первым информационным входом блока 22 анализа, управляющий выход которого соединен с первым входом элемента ИЛИ 25, третий выход блока синхронизации 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 и первым входом элемента И 52, выход которого соединен с третьим выходом блока, выход элемента ИЛИ 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, второй 85, третий 86, четвертый 87, пятый 88 и шестой 89 демультиплексоры, блок регистров 72.1-72.l (где l - максимальная глубина очереди), группу блоков элементов ИЛИ 73.1-(73. l-1), первую группу элементов И 74.1-74.l, вторую группу элементов И 75.1-75. l, группу элементов ИЛИ 76.1-76.l, элемент ИЛИ 77, одновибратор 78, распределитель импульсов 79, первую 80, вторую 81 и третью 82 схемы сравнения, первый 83 и второй 84 дешифраторы, первый 90, второй 91, третий 92, четвертый 93 и пятый 94 мультиплексоры, причем первый управляющий вход блока соединен с входом одновибратора 78, выход которого соединен с первым входом элемента ИЛИ 77, выход которого соединен с инверсным управляющим входом демультиплексора 71 и первыми входами элементов ИЛИ 76.1-76.l, выходы которых соединены с синхронизирующими входами регистров 72.1-72.l соответственно.

Четвертый управляющий вход блока соединен с инверсным управляющим входом одновибратора 78, с управляющим входом демультиплексора 85 и управляющим входом мультиплексора 90, выход которого соединен с информационным входом демультиплексора 71 и с вторыми входами элементов И 75.1-75.l, выходы которых соединены с вторыми входами элементов ИЛИ 76.1-76.l соответственно, первый,...,(-1)-й выходы демультиплексора 71 соединены с первыми входами блоков элементов ИЛИ 73.1-(73.l-1) соответственно, выходы которых соединены с информационными входами регистров 72.1-(72.l-1) соответственно, l-й выход демультиплексора 71 соединен с информационным входом регистра 72.l, первый информационный вход блока соединен с первым информационным входом мультиплексора 90, инверсные выходы блока регистров 72.1-72.l соединены с входами элементов И 74.1-74. l соответственно, выходы которых соединены с первыми входами элементов И 75.1-75.l соответственно и адресным входом демультиплексора 71.

Прямые выходы регистров 72.2-72.l соединены с вторыми входами блоков элементов ИЛИ 73.1-(73.l-1) соответственно, прямой выход регистра 72.1 соединен с первыми входами схем 80, 81 и 82 сравнения и информационным входом демультиплексора 85, первый выход которого соединен с первым выходом блока, второй информационный вход которого соединен с вторым входом схемы 80 сравнения, инверсный выход которой соединен с входом распределителя импульсов 79, первый выход которого и второй выход демультиплексора 85 соединены с вторыми входами мультиплексоров 91, 92, 93 и 94, выходы мультиплексоров 91, 92, 93 и 94 соединены соответственно с третьим, четвертым, пятым и вторым выходами блока, третий информационный вход которого соединен с вторыми входами схем 81 и 82 сравнения.

Инверсные выходы схем 81 и 82 сравнения соединены соответственно с первым и вторым входами дешифратора 84, выходы которого с первого по четвертый соединены с управляющими входами мультиплексоров 91, 94, 92 и 93 соответственно, информационные входы блока с четвертого по седьмой соединены с информационными входами демультиплексоров 86, 87, 88 и 89 соответственно, первые выходы демультиплексоров 86, 87, 88 и 89 соединены с первыми информационными входами мультиплексоров 91, 92, 93 и 94 соответственно, второй и третий управляющие входы блока соединены соответственно с первым и вторым входами дешифратора 83, выходы которого с первого по четвертый соединены с управляющими входами демультиплексоров 86, 87, 88 и 89 соответственно, вторые выходы демультиплексоров 86, 87, 88 и 89 соединены с вторым информационным входом мультиплексора 90, второй выход распределителя импульсов 79 соединен со вторым входом элемента ИЛИ 77.

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

Первый 56.1 - пятый 56.5 блоки памяти сообщений (фиг.6) содержат блок регистров 97.1-97.K (где K - максимальная глубина очереди сообщений), группу блоков элементов ИЛИ 98.1-98.(K-1), первый блок элементов И 99.1-99.K, второй блок элементов И 100.1-100.K, блок элементов ИЛИ 101.1-101.K, демультиплексор 102, элемент И 103, элемент И-НЕ 104, причем тактовый и второй управляющий входы блока соединены с первым и вторым входами элемента И 103 соответственно, выход которого соединен с вторыми входами элементов ИЛИ 101.1-101. K и инверсным управляющим входом демультиплексора 102, первый выход которого соединен с информационным входом регистра 97.K. Второй - K-й выходы демультиплексора 102 соединены с вторыми входами блоков элементов ИЛИ 98. (K-1)-98.1 соответственно, выходы которых соединены с информационными входами регистров 97.(K-1)-97.1 соответственно.

Инверсные выходы регистров 97.1-97.K соединены со входами элементов И 99.1-99.K соответственно, выходы которых соединены с адресным входом демультиплексора 102 и входами элемента И-НЕ 104, выход которого соединен с управляющим выходом блока, информационный выход которого соединен с прямым выходом регистра 97.1. Прямые выходы регистров 97.K-97.2 соединены с первыми входами блоков элементов ИЛИ 98.(K-1)-98.1 соответственно. Первый управляющий вход блока соединен с вторыми входами элементов И 100.1-100.K, первые входы которых соединены с выходами элементов И 99.1-99.K соответственно. Выходы элементов И 100.1-100. K соединены с первыми входами элементов ИЛИ 101.1-101.K соответственно, выходы которых соединены с входами синхронизации регистров 97.1 - 97.K соответственно. Информационные входы блока соединены с информационными входами демультиплексора 102.

Блок 58 выбора направления передачи информации (фиг.7) содержит первую 105, вторую 106 и третью 107 схемы сравнения, мультиплексор 108, шифратор 109, первый 110, второй 111, третий 112, четвертый 113, пятый 114 и шестой 115 элементы И, элемент ИЛИ 116, причем пятый вход блока соединен с вторым входом элемента ИЛИ 116, выход которого соединен с управляющим входом мультиплексора 108, пятым выходом блока и третьим входом шестого элемента И 115, выход которого соединен с четвертым выходом блока, первый вход блока соединен с первым входом схемы 105 сравнения, выход "Равно" которой соединен с первым выходом блока, второй и третий входы которого соединены соответственно с первыми входами схем 106 и 107 сравнения, четвертый вход блока соединен со вторыми входами схем 106 и 107 сравнения.

Выход "Больше" схемы 106 сравнения соединен с четвертым входом первой группы информационных входов мультиплексора 108, выход "Меньше" схемы 106 сравнения соединен с вторым входом первой группы информационных входов мультиплексора 108 и первыми входами элементов И 110 и 111, выходы которых соединены соответственно с вторым и первым входами второй группы информационных входов мультиплексора 108, выход "Равно" схемы 106 сравнения соединен со вторыми входами элементов И 112, 113 и 114, выход "Больше" схемы 107 сравнения соединен с первым входом элемента И 112, выход которого соединен с первым входом первой группы информационных входов мультиплексора 108.

Выходы "Меньше" и "Равно" схемы 107 сравнения соединены со вторыми входами элементов И 110 и 111 соответственно и первыми входами элементов И 113 и 114 соответственно, выход элемента И 113 соединен с третьим входом первой группы информационных входов мультиплексора 108 и вторым входом элемента И 115, первый вход которого соединен с выходом "Не равно" схемы 105 сравнения, выход элемента И 114 соединен с четвертым входом второй группы информационных входов мультиплексора 108 и первым входом элемента ИЛИ 116, первый-четвертый выходы мультиплексора 108 соединены соответственно с первым-четвертым входами шифратора 109, первый и второй выходы которого соединены соответственно со вторым и третьим выходами блока, второй вход схемы 105 сравнения подключен к второму и третьему входам блока.

Блок 59 памяти константы (фиг.8) содержит блок 117 хранения физического адреса, группу блоков 118.1-118.3 хранения физического адреса, мультиплексор 119, выход которого соединен с первым выходом блока, первый-третий входы которого соединены с первым-третьим а