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

Реферат

 

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

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

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

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

Наиболее близкой к предлагаемому устройству по технической сущности является распределенная система для программного управления технологическими процессами, содержащая nxm каналов (модулей), где nm, n - число модулей в строке матричной организации системы, а m - число строк, причем i-й модуль системы содержит блок памяти программ, буферный запоминающий блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, блок синхронизации, блок элементов запрета, блок элементов И, элемент И (а.с. СССР 1605212, G 05 В 19/18, опубл. 07.11.90, БИ 41).

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

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

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

Сущность изобретения заключается в следующем. В распределенной системе из nm модулей n-я строка и m-й столбец являются резервными.

Каждый модуль (i,j) (где номер строки, номер столбца матрицы, содержащих модуль) может выполнять как собственный алгоритм функционирования, так и алгоритм функционирования трех соседних модулей - верхнего (i-1, j)-го, левого (i,j-1)-го, и левого по диагонали (i-1,j-1)-го, в случае их отказов или изменения алгоритмов функционирования. Местоположение модуля (i,j) в матрице определятся его физическим адресом (ФА). Наряду с ФА для идентификации модулей системы используется так называемый логический адрес (ЛА). Модуль (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) таким модулем может являться модуль (i,j) или (i,j+1), или (i+1,j+1), или(i+1,j).

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

При приеме сообщения (i,j)-m, (i,j+1)-м, (i+1,j+1)-м или (i+1,j)-м модулем осуществляется второй этап передачи сообщения, на котором сообщение циклически передается из (i,j)-гo модуля в (i,j+1)-й, из (i,j+1)-го в (i+1, j+1)-й, из (i+1,j+1)-го в (i+1,j)-й и из (i+1,j)-го в (i,j)-й до тех пор пока ЛА одного из этих модулей не совпадет с АС.

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

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

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

i-й Модуль распределенной системы для программного управления (фиг.1) содержит первый 1, второй 12, третий 13 и четвертый 14 блоки памяти программ, блок 16 выбора алгоритма функционирования, буферный запоминающий блок 2 сообщений, блок 3 анализа, коммутатор 4 адреса, регистр 5 адреса, регистр 6 команд, мультиплексор 7 логических условий, мультиплексор 15 выбора программ, блок 8 синхронизации, блок 9 элементов запрета, блок 10 элементов И, элемент И 11, первый 17, второй 18, третий 19, четвертый 20 и пятый 21 информационные входы, первый 22, второй 23, третий 24, четвертый 25, пятый 26, шестой 27 и седьмой 28 управляющие входы, вход 29 логических условий, первый 30, второй 31, третий 32, четвертый 33 и пятый 34 информационные выходы, первый 35, второй 36 и третий 37 управляющие выходы, причем первый управляющий вход 22 модуля соединен с первым входом блока 8 синхронизации, первый выход которого соединен с синхронизирующим входом регистра 5 адреса, выход которого соединен со входами первого 1, второго 12, третьего 13 и четвертого 14 блоков памяти программ, синхронизирующий вход регистра 6 команд соединен со вторым выходом блока 8 синхронизации, выход 61 поля проверяемых логических условий регистра 6 команд соединен с первым информационным входом мультиплексора 7 логических условий, выход 62 модифицируемого разряда адреса регистра 6 команд соединен со вторым информационным входом мультиплексора 7 логических условий, выход которого соединен со входом модифицируемого разряда адреса первого информационного входа коммутатора 4 адреса, выход которого соединен с информационным входом регистра 5 адреса, вход 29 логических условий модуля соединен с управляющим входом мультиплексора 7 логических условий, выход 63 поля немодифицируемых разрядов адреса регистра 6 команд соединен со входами немодифицируемых разрядов адреса первого информационного входа коммутатора 4 адреса, выход 64 операционного поля регистра 6 команд соединен с информационным входом блока 9 элементов запрета, выход которого соединен с первым информационным выходом 30 модуля, второй управляющий вход 23 модуля соединен с третьим входом блока 8 синхронизации, информационный выход буферного запоминающего блока 2 сообщений соединен со вторым информационным входом коммутатора 4 адреса, выход операционного поля 64 регистра 6 команд соединен с информационным входом блока 10 элементов И, выход которого и выход элемента И 11 соединены с первым информационным входом блока 3 анализа, первый управляющий выход которого соединен с первым управляющим входом буферного запоминающего блока 2 сообщений, управляющий выход которого соединен с четвертым входом блока 8 синхронизации, третий выход которого соединен с первым входом элемента И 11, выход поля 65 передачи управления регистра 6 команд соединен с инверсным управляющим входом блока 9 элементов запрета, управляющим входом блока 10 элементов И и вторым входом элемента И 11, информационный выход блока 3 анализа соединен с первым информационным входом буферного запоминающего блока 2 сообщений, первый информационный вход 17 модуля соединен со вторым информационным входом буферного запоминающего блока 2 сообщений, второй 18, третий 19, четвертый 20 и пятый 21 информационные входы модуля соединены соответственно со вторым - пятым информационными входами блока 3 анализа, второй - пятый информационные выходы которого соединены соответственно со вторым 31, третьим 32, четвертым 33 и пятым 34 информационными выходами модуля, выходы блоков 1, 12, 13 и 14 памяти программ соединены соответственно с первым - четвертым информационными входами мультиплексора 15 выбора программ, выход которого соединен с информационным входом регистра 6 команд, выход поля 66 конца программы регистра 6 команд соединен с прямым и инверсным управляющими входами коммутатора 4 адреса, вторым входом блока 8 синхронизации и вторым управляющим входом буферного запоминающего блока 2 сообщений, четвертый и пятый выходы блока 16 выбора алгоритма функционирования соединены с первым и вторым управляющими входами мультиплексора 15 выбора программ соответственно и с первым и вторым управляющими входами блока 3 анализа соответственно, третий выход блока 16 выбора алгоритма функционирования соединен с третьим управляющим выходом 37 модуля, третий 24, четвертый 25, пятый 26, шестой 27 и седьмой 28 управляющие входы модуля соединены соответственно с первым - пятым входами блока 16 выбора алгоритма функционирования, первый и второй выходы блока 16 выбора алгоритма функционирования соединены соответственно с первым 35 и вторым 36 управляющими выходами модуля, второй информационный выход 31 j-го модуля k-гo столбца соединен со вторым информационным входом 18 (j+1)-го модуля k-го столбца, третий информационный выход 32 (j+1)-го модуля k-гo столбца соединен с третьим информационным входом 19j-го модуля k-го столбца, четвертый информационный выход 33 р-го модуля q-й строки соединен с четвертым информационным входом 20 (р+1)-го модуля q-й строки, пятый информационный выход 34 (р+1)-го модуля q-й строки соединен с пятым информационным входом 21 р-го модуля q-й строки, первый управляющий выход 35 первого модуля k-го столбца соединен с третьим управляющим входом 24 модулей k-го столбца с первого по n-й, первый управляющий выход 35 (j+1)-го модуля k-го столбца соединен с пятым управляющим входом 26j-го модуля k-го столбца, второй управляющий выход 36 р-го модуля q-й строки соединен с шестым управляющим входом 27 (р+1)-го модуля q-й строки, второй управляющий выход 36 p-го модуля s-й строки соединен с седьмым управляющим входом 28 (р+1)-го модуля (s+1)-й строки.

Блок 16 выбора алгоритма функционирования (фиг. 2) содержит элемент запрета 38, первый 39 и второй 40 элементы И, первый 41 и второй 42 элементы ИЛИ, элемент И-ИЛИ 43, выход которого соединен с пятым выходом блока выбора алгоритма функционирования, первый вход которого соединен с прямым входом элемента запрета 38, выход которого соединен со вторыми входами первой и второй групп входов элемента И-ИЛИ 43 и четвертым выходом блока выбора алгоритма функционирования, второй и третий входы которого соединены соответственно с первым и вторым входами элемента ИЛИ 41 соответственно и с первым и вторым входами элемента И 39 соответственно, выход элемента ИЛИ 41 соединен с инверсным входом элемента запрета 38 и первым выходом блока выбора алгоритма функционирования, четвертый вход которого соединен со вторым входом элемента ИЛИ 42, вторым входом элемента И 40 и первым входом первой группы входов элемента И-ИЛИ 43, первый вход второй группы входов которого соединен с пятым входом блока выбора алгоритма функционирования, выход элемента И 39 соединен с первым входом элемента ИЛИ 42 и первым входом второго элемента И 40, выход которого соединен с третьим выходом блока выбора алгоритма функционирования, выход элемента ИЛИ 42 соединен со вторым выходом блока выбора алгоритма функционирования.

Буферный запоминающий блок 2 сообщений (фиг.3) содержит коммутатор 44, демультиплексор 45, блок регистров 46.1-46.l (где l - максимальная глубина очереди), группу блоков элементов ИЛИ 47.1-(47. l-1), первую группу элементов И 48.1-48. l, вторую группу элементов И 49.1-49.l, группу элементов ИЛИ 50.1-50. l, элемент ИЛИ 51, элемент И 52, одновибратор 53, причем выход одновибратора 53 соединен с инверсным управляющим входом демультиплексора 45 и первыми входами элементов ИЛИ 50.1-50. l, выходы которых соединены с синхронизирующими входами регистров 46.1-46. l соответственно, первый управляющий вход блока соединен с прямым и инверсным управляющими входами коммутатора 44, выход которого соединен с информационным входом демультиплексора 45, первый-(l-1)-й выходы которого соединены с первыми входами блоков элементов ИЛИ 47.1-дами блоков элементов ИЛИ 47.1-(47.l-1) соответственно, выходы которых соединены с информационными входами регистров 46.1-(46.l-1) соответственно, l-й выход демультиплексора 45 соединен с информационным входом регистра 46.l, второй управляющий вход блока соединен со входом одновибратора 53, первый информационный вход блока соединен с первым информационным входом коммутатора 44 и первым входом элемента ИЛИ 51, инверсные выходы блока регистров 46.1-46. l соединены со входами элементов И 48.1-48. l соответственно, выходы которых соединены с первыми входами элементов И 49.1-49. l соответственно, адресным входом демультиплексора 45 и входами элемента И 52, выход которого соединен с управляющим выходом блока, второй информационный вход которого соединен со вторым информационным входом коммутатора 44 и вторым входом элемента ИЛИ 51, выход которого соединен со вторыми входами элементов И 49.1-49.l, выходы которых соединены со вторыми входами элементов ИЛИ 50.1-50. l соответственно, прямые выходы регистров 46.2-46. l соединены со вторыми входами блоков элементов ИЛИ 47.1-(47.l-1) соответственно, прямой выход регистра 46.1 соединен с информационным выходом блока.

Блок 3 анализа (фиг.4) содержит первый 54.1, второй 54.2, третий 54.3, четвертый 54.4 и пятый 54.5 блоки памяти сообщений, мультиплексор 55, блок 56 выбора направления передачи информации, триггер 57, буферный регистр 58, блок элементов запрета 59, блок элементов И 60, выходной демультиплексор 61, дешифратор 62, счетчик 63, распределитель импульсов 64, элемент запрета 65, элемент ИЛИ 66, выход которого соединен с входом установки (S-входом) триггера 57 и инверсным входом элемента запрета 65, выход которого соединен с входом сброса (R-входом) триггера 57, прямой выход триггера 57 соединен с управляющим входом распределителя импульсов 64, четвертый выход которого соединен со счетным входом счетчика 63, выходы счетчика 63 соединены со входами дешифратора 62 и управляющими входами мультиплексора 55, выход которого соединен с информационным входом буферного регистра 58, синхронизирующий вход которого соединен со вторым выходом распределителя импульсов 64, первый и второй выходы счетчика 63 соединены с третьим и четвертым управляющими входами блока 56 выбора направления передачи информации, первый и второй управляющие входы блока 3 анализа соединены соответственно с пятым и шестым управляющими входами блока 56 выбора направления передачи информации, второй и третий выходы которого соединены соответственно с первым и вторым управляющими входами выходного демультиплексора 61, первый и второй управляющие входы блока 56 выбора направления передачи информации соединены соответственно с первым и вторым выходами поля 584 направления буферного регистра 58, выход операционного поля 581 буферного регистра 58 и третий выход распределителя импульсов соединены с информационными входами блока элементов запрета 59 и блока элементов И 60, выход блока элементов И 60 соединен с первым информационным выходом блока 3 анализа, выходы полей вертикального 582 и горизонтального 583 адреса буферного регистра 58 соединены с информационным входом блока элементов запрета 59, выход которого, второй и третий выходы блока 56 выбора направления передачи информации подключены к информационному входу выходного демультиплексора 61, выходы которого с первого по четвертый соединены с информационными выходами блока 3 анализа со второго по пятый соответственно, информационные входы блока 3 анализа с первого по пятый соединены с информационным и первым управляющим входами блоков 54.1-54.5 памяти сообщений, информационные выходы блоков 54.1-54.5 памяти сообщений соединены соответственно с пятым, первым, вторым, третьим и четвертым информационными входами мультиплексора 55, управляющие выходы блоков 54.1-54.5 памяти сообщений соединены со входами элемента ИЛИ 66, третий выход распределителя импульсов 64 соединен с прямым входом элемента запрета 67, первый выход блока 56 выбора направления передачи информации соединен с управляющими входами блока элементов запрета 59, блока элементов И 60 и управляющим выходом блока 3 анализа, первый выход распределителя импульсов 64 соединен с тактовыми входами блоков 54.1-54.5 памяти сообщений, выходы дешифратора 62 соединены со вторыми управляющими входами блоков 54.1-54.5 памяти сообщений соответственно, выходы полей вертикального 583 и горизонтального 583 адреса буферного регистра 58 соединены соответственно с первым и вторым информационными входами блока 56 выбора направления передачи информации.

Блок 56 выбора направления передачи информации (фиг.5) содержит первый 67, второй 68, третий 69 и четвертый 70 блоки хранения адреса, первую 71, вторую 72, третью 73, четвертую 74, пятую 75 и шестую 76 схемы сравнения, первый 77, второй 78 и третий 79 мультиплексоры, первый 80 и второй 81 дешифраторы, шифратор 82, первый 84 и второй 85 элементы И, элемент ИЛИ 83, элемент И-ИЛИ-НЕ 86, выходы блоков 67-70 хранения адреса соединены с первыми входами схем сравнения 71-74 соответственно, выходы схем сравнения 71-74 соединены с информационными входами мультиплексора 77 с первого по четвертый соответственно, со входами элемента ИЛИ 83 с первого по четвертый соответственно и со входами первой группы информационных входов мультиплексора 78 соответственно, выход элемента ИЛИ 83 соединен с инверсным управляющим входом мультиплексора 78, пятый и шестой управляющие входы блока 56 выбора направления передачи информации соединены соответственно с первым и вторым управляющими входами мультиплексора 77, выход которого соединен с первым выходом блока 56 выбора направления передачи информации, выход блока 67 хранения адреса соединен с первыми входами схем 75 и 76 сравнения соответственно, первый и второй информационные входы блока 56 выбора направления передачи информации соединены со вторыми входами схем 71, 72, 73 и 74 сравнения, первый и второй информационные входы блока 56 выбора направления передачи информации соединены соответственно со вторыми входами схем 75 и 76 сравнения, выходы "Больше" и "Меньше" схемы 75 сравнения соединены соответственно с первым и третьим входами первой группы информационных входов мультиплексора 79, выходы которого с первого по четвертый соединены соответственно с первого по четвертый входами второй группы информационных входов мультиплексора 78, выходы которого с первого по четвертый соединены соответственно с первого по четвертый входами шифратора 82, первый и второй выходы которого соединены соответственно со вторым и третьим выходами блока 56 выбора направления передачи информации, выход "Равно" схемы 75 сравнения соединен с первыми входами элементов И 84 и 85, выходы которых соединены соответственно со вторым и четвертым входами первой группы информационных входов мультиплексора 79, выходы "Больше" и "Меньше" схемы 76 сравнения соединены со вторыми входами элементов И 84 и 85 соответственно, третий и четвертый управляющие входы блока 56 выбора направления передачи информации соединены соответственно с первым и вторым входами дешифратора 81, выходы которого с первого по четвертый соединены соответственно со входами с первого по четвертый второй группы информационных входов мультиплексора 79, первый и второй управляющие входы блока 56 выбора направления передачи информации соединены соответственно с первым и вторым входами дешифратора 80, выходы которого с первого по четвертый соединены с первыми входами первой, третьей, пятой и седьмой групп входов элемента И-ИЛИ-НЕ 86 соответственно и вторыми прямыми входами второй, четвертой, шестой и восьмой групп входов элемента И-ИЛИ-НЕ 86 соответственно, выходы дешифратора 81 с первого по четвертый соединены со вторыми входами первой, третьей, пятой и седьмой групп входов элемента И-ИЛИ-НЕ 86 соответственно и первыми прямыми входами второй, четвертой, шестой и восьмой групп входов элемента И-ИЛИ-НЕ 86 соответственно, выходы "Больше" и "Меньше" схемы 75 сравнения соединены соответственно с инверсными входами второй и четвертой групп входов элемента И-ИЛИ-НЕ 86, выходы "Больше" и "Меньше" 76 схемы сравнения соединены соответственно с инверсными входами шестой и восьмой групп входов элемента И-ИЛИ-НЕ 86, выход элемента И-ИЛИ-НЕ 86 соединен с управляющим входом мультиплексора 79.

Блок 8 синхронизации (фиг.6) содержит триггер 87 запуска, генератор 88 тактовых импульсов, счетчик 89, дешифратор 90, элементы И 91 и ИЛИ 92, причем первый вход блока соединен с S-входом триггера 87, выход которого соединен со входом генератора 88 тактовых импульсов, выход которого соединен с инкрементирующим входом счетчика 89 и управляющим входом дешифратора 90, первый и второй выходы счетчика 89 соединены соответственно с первым и вторым информационными входами дешифратора 90, первый - третий выходы которого соединены с первым - третьим выходами блока, второй и четвертый входы блока соединены соответственно с первым и вторым входами элемента И 91, выход которого соединен со вторым входом элемента ИЛИ 92, третий вход блока соединен с первым входом элемента ИЛИ 92, выход которого соединен с R-входом триггера 87.

Блоки 54.1-54.5 памяти сообщений (фиг.7) содержат блок регистров 93.1-93. К (где К - максимальная глубина очереди сообщений), группу блоков элементов ИЛИ 94.1-94. (K-l), первый блок элементов И 95.1-95.К, второй блок элементов И 96.1-96. К, блок элементов ИЛИ 97.1-97.К, демультиплексор 98, элемент И 99, элемент И-НЕ 100, причем тактовый и второй управляющий входы блока соединены с первым и вторым входами элемента И 99 соответственно, выход которого соединен со вторыми входами элементов ИЛИ 97.1-97.К и инверсным управляющим входом демультиплексора 98, первый выход которого соединен с информационным входом регистра 93. К. Со второго по К-й выходы демультиплексора 98 соединены со вторыми входами блоков элементов ИЛИ 94.(K-l)-94.1 соответственно, выходы которых соединены с информационными входами регистров 93.(К-1)-93.1 соответственно. Инверсные выходы регистров 93.1-93.K соединены со входами элементов И 95.1-95.К соответственно, выходы которых соединены с адресным входом демультиплексора 98 и входами элемента И-НЕ 100, выход которого соединен с управляющим выходом блока, информационный выход которого соединен с прямым выходом регистра 93.1. Прямые выходы регистров 93.К-93.2 соединены с первыми входами блоков элементов ИЛИ 94.(К-1)-94.1 соответственно. Первый управляющий вход блока соединен со вторыми входами элементов И 96.1-96. К, первые входы которых соединены с выходами элементов И 95.1-95.К соответственно. Выходы элементов И 96.1-96.К соединены с первыми входами элементов ИЛИ 97.1-97.К соответственно, выходы которых соединены со входами синхронизации регистров 93.1-93.К соответственно. Информационные входы блока соединены с информационными входами демультиплексора 98.

Рассмотрим процесс функционирования распределенной системы. Организация процесса управления осуществляется внешними по отношению к системе средствами управления и контроля (диспетчером). Диспетчером обеспечиваются, во-первых, как первоначальный пуск системы, так и пуски системы после выполнения перестроек; во-вторых, слежение за правильностью функционирования блоков и элементов 1 - 15 и их связей, отвечающих за формирование управляющих сигналов, передаваемых на объект управления, и фиксация неисправных модулей, в которых нарушено правильное функционирование указанных блоков и элементов, с помощью триггеров отказа для каждого из модулей, в-третьих, останов системы как после исполнения программ управления, так и после возникновения неисправностей в модулях. Система осуществляет программное управление как при отсутствии отказов модулей, так и при их наличии, и, кроме этого, перестройку (переназначением выполняемого алгоритма управления и логического адреса для каждого из модулей) после останова, вызванного отказами отдельных модулей. При реализации программного управления взаимодействие между исправными модулями в системе с отказавшими модулями осуществляется при исправной работе блоков 16, отвечающих за реконфигурацию системы, всех модулей системы.

Так как система состоит из однотипных модулей, ее работу рассмотрим на примере функционирования отдельного модуля, например модуля с физическим адресом (i,j), причем работу этого модуля будем рассматривать во взаимосвязи с другими модулями системы.

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

Работа модуля начинается при подаче на информационный вход 18 (фиг.1) кода оп