Распределенная система для программного управления
Реферат
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении управляющих и вычислительных систем высокой производительности, АСУТП, а также других систем, к которым предъявляются жесткие требования по надежности. Технический результат изобретения заключается в увеличении надежности и срока службы системы за счет введения технических средств реконфигурации и восстановления работоспособности при возникновении отказов отдельных модулей и достигается тем, что в распределенную систему для программного управления, содержащую n х m модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый регистр адреса, блок памяти, регистр команд, мультиплексор логических условий, блок синхронизации, дополнительно введены дешифратор, первый, второй, третий и четвертый мультиплексоры адреса, второй, третий и четвертый регистры адреса, блок выбора, первый и второй элементы ИЛИ, одновибратор, триггер. Увеличение надежности и срока службы системы осуществляется за счет динамического перераспределения функций между работоспособными модулями при возникновении отказов. 2 з.п. ф-лы, 7 ил., 4 табл.
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении управляющих и вычислительных систем высокой производительности, АСУТП, а также других систем, к которым предъявляются жесткие требования по надежности.
Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, два мультиплексора, два регистра логических условий, два коммутатора, шифратор, два дешифратора, генератор тактовых импульсов, два триггера, регистр номера, демультиплексор, блок элементов ИЛИ, группу элементов ИЛИ, два элемента ИЛИ и два элемента И (авт.св. СССР N 1647519, кл. G 05 В 19/18, опубл. 07.05.91, БИ N 17). Недостатком известного устройства является значительное число внешних входов и выходов. Наиболее близкой к предлагаемому устройству по технической сущности является распределенная система для программного управления технологическими процессами, содержащая nm каналов (модулей), где nm, n - число модулей в строке матричной организации системы, a m - число строк, причем i-й модуль системы содержит блок памяти программ, буферный запоминающий блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, блок синхронизации, первый блок элементов И, второй блок элементов И, элемент И, причем первый управляющий вход модуля соединен с первым входом блока синхронизации, первый выход которого соединен с синхронизирующим входом регистра адреса, выход которого соединен со входом блока памяти программ, выход блока памяти программ соединен с информационным входом регистра команд, синхронизирующий вход которого соединен со вторым выходом блока синхронизации, выход поля проверяемых логических условий регистра команд соединен с первым информационным входом мультиплексора логических условий, выход модифицируемого разряда адреса регистра команд соединен со вторым информационным входом мультиплексора логических условий, выход которого соединен со входом модифицируемого разряда адреса первого информационного входа коммутатора адреса, выход которого соединен с информационным входом регистра адреса, вход логических условий модуля соединен с управляющим входом мультиплексора логических условий, выход поля немодифицируемых разрядов адреса регистра команд соединен со входами немодифицируемых разрядов адреса первого информационного входа коммутатора адреса, выход операционного поля регистра команд соединен с информационным входом первого блока элементов И, выход которого соединен с первым информационным выходом модуля, выход поля конца программы регистра команд соединен с прямым и инверсным управляющими входами коммутатора адреса и вторым входом блока синхронизации, второй управляющий вход модуля соединен с третьим входом блока синхронизации, информационный выход буферного запоминающего блока сообщений соединен со вторым информационным входом коммутатора адреса, выход операционного поля регистра команд соединен с информационным входом второго блока элементов И, выход которого и выход элемента И соединены с первым входом блока анализа, управляющий выход которого соединен с управляющим входом буферного запоминающего блока сообщений, управляющий выход которого соединен с четвертым входом блока синхронизации, третий выход которого соединен с первым входом элемента И, выход поля передачи управления регистра команд соединен с инверсным управляющим входом первого блока элементов И, прямым управляющим входом второго блока элементов И и вторым входом элемента И, первый информационный выход блока анализа соединен с первым информационным входом буферного запоминающего блока сообщений, выход поля конца программы регистра команд соединен со вторым управляющим входом буферного запоминающего блока сообщений, первый информационный вход модуля соединен со вторым информационным входом буферного запоминающего блока сообщений, второй информационный вход модуля соединен со вторым входом блока анализа, второй информационный выход которого соединен со вторым информационным выходом модуля, третий информационный вход модуля соединен с третьим входом блока анализа, третий информационный выход которого соединен с третьим информационным выходом модуля, второй информационный выход j-го модуля k-й строки соединен со вторым информационным входом (j+1)-го модуля k-й строки, второй информационный выход n-го модуля k-й строки соединен со вторым информационным входом первого модуля k-й строки, третий информационный выход p-го модуля q-го столбца соединен с третьим информационным входом (p-1)-го модуля, третий информационный выход первого модуля q-го столбца соединен с третьим информационным входом m-го модуля q-го столбца (авт.св. СССР N 1605212, кл. G 05 В 19/18, опубл. 07.11.90, БИ N 41). Недостатком известной системы является невысокая надежность и ограниченный срок службы, обусловленные отсутствием средств восстановления работоспособности системы при возникновении отказов отдельных модулей. Отказ по меньшей мере одного из модулей приводит к отказу системы в целом. Технической задачей изобретения является увеличение надежности и срока службы системы за счет введения технических средств реконфигурации и восстановления работоспособности при возникновении отказов отдельных модулей. Техническая задача решается тем, что в распределенную систему для программного управления, содержащую nm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый регистр адреса, блок памяти, регистр команд, мультиплексор логических условий, блок синхронизации, причем первый и девятый управляющие входы модуля соединены с первым и вторым входами блока синхронизации соответственно, первый выход блока синхронизации соединен с синхронизирующим входом регистра команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора логических условий, выход первого регистра адреса соединен с третьим входом блока памяти, выход которого соединен с информационным входом регистра команд, выход четвертого поля которого соединен с пятым информационным выходом модуля, вход логических условий которого соединен с управляющим входом мультиплексора логических условий, первый информационный выход j-го модуля k-го столбца соединен со вторым информационным входом j-го модуля (k+1)-го столбца, четвертый информационный выход k-го модуля (j+1)-й строки соединен с первым информационным входом k-го модуля j-й строки, дополнительно введены дешифратор, первый, второй, третий и четвертый мультиплексоры адреса, второй, третий и четвертый регистры адреса, блок выбора, первый и второй элементы ИЛИ, одновибратор, триггер, причем первый управляющий вход модуля соединен с D-входом триггера, прямой выход которого соединен с первым входом блока выбора, управляющие входы модуля со второго по пятый соединены с входами блока выбора со второго по пятый соответственно, выходы с первого по третий которого соединены с управляющими выходами модуля с первого по третий соответственно, шестой управляющий вход которого соединен со вторым входом первого элемента ИЛИ, выход которого соединен с четвертым управляющим выходом модуля, седьмой и восьмой управляющие входы которого соединены соответственно с первым и вторым входами второго элемента ИЛИ, выход которого соединен с пятым управляющим выходом модуля, первый, второй, третий и четвертый информационные входы которого соединены с первыми информационными входами первого, второго, третьего и четвертого мультиплексоров адреса соответственно, выходы первого, второго, третьего и четвертого мультиплексоров адреса соединены с информационным и синхронизирующим входами первого, второго, третьего и четвертого регистров адреса соответственно, выходы второго, третьего и четвертого регистров адреса соединены с четвертым, пятым и шестым входами блока памяти соответственно, выходы первого, второго, третьего и четвертого мультиплексоров адреса соединены с первым, вторым, третьим и четвертым информационными выходами модуля соответственно, выход мультиплексора логических условий и выход третьего поля регистра команд соединены со вторым информационным входом первого, второго, третьего и четвертого мультиплексоров адреса, первый управляющий вход модуля соединен с входом одновибратора, выход которого соединен с первым входом первого элемента ИЛИ, второй выход блока синхронизации соединен со вторым информационным входом первого, второго, третьего и четвертого мультиплексоров адреса, четвертый и пятый выходы блока выбора соединены с первым и вторым входами блока памяти соответственно и с первым и вторым входами дешифратора соответственно, первый, второй, третий и четвертый выходы дешифратора соединены с управляющими входами первого, второго, третьего и четвертого мультиплексоров адреса соответственно, девятый управляющий вход модуля соединен с синхронизирующим входом триггера, третий информационный выход (j+1)-го модуля (k+1) столбца соединен с четвертым информационным входом (j+1)-го модуля k-го столбца, второй информационный выход (k+1)-го модуля j-й строки соединен с третьим информационным входом (k+1)-го модуля (j+1)-й строки, первый управляющий выход первого модуля p-го столбца соединен со вторым управляющим входом модулей p-го столбца с первого по n-й, первый управляющий выход (j+1)-го модуля p- го столбца соединен с третьим управляющим входом j-го модуля p-го столбца, второй управляющий выход k-го модуля строки соединен с четвертым управляющим входом (k+1)-го модуля q-й строки, второй управляющий выход k-го модуля j-й строки соединен с пятым управляющим входом (k+1)-го модуля (j+1)-й строки, четвертый управляющий выход k-го модуля q-й строки соединен с шестым управляющим входом (k+1)-го модуля q-й строки, четвертый управляющий выход m-го модуля q-й строки соединен с седьмым управляющим входом модулей q-й строки с первого по m-й, пятый управляющий выход (j+1)-го модуля p-го столбца соединен с восьмым управляющим входом j-го модуля p-го столбца, пятый управляющий выход первого модуля p-го столбца соединен с девятым управляющим входом модулей p-го столбца с первого по n-й, четвертый и шестой управляющие входы модулей первого столбца с первого по n-й, третий и восьмой управляющие входы модулей n-й строки с первого по m-й, пятый управляющий вход модулей первой строки с первого по m-й и первого столбца со второго по n-й соединены с источником логического нуля. Сущность изобретения заключается в следующем. В распределенной системе из nm модулей n-я строка и m-й столбец являются резервными. Местоположение модуля в матрице определятся его физическим адресом (ФА) - (ij) (где - номер строки, - номер столбца матрицы, содержащих модуль). Каждый модуль (i,j) может выполнять как собственный алгоритм функционирования, так и алгоритмы функционирования трех соседних модулей - верхнего (i-1, j)-гo, левого (i, j-1)-го и диагонального (i-1,j-1)-го, в случае их отказов или изменения алгоритмов функционирования. Наряду с ФА для идентификации модулей системы используется так называемый логический адрес (ЛА). Модуль (ij) имеет ЛА (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-1,j)-го, диагонального (i-1, j-1)-го и левого (i,j-1)-го. Передача адреса завершается при его поступлении на вход модуля-источника (i,j). Дополнительные регистры адреса (со второго по четвертый) и мультиплексоры адреса (со второго по четвертый) используются соответственно для хранения и выбора копий текущих адресов программ (микропрограмм) соседних модулей. Введение блока выбора и дешифратора необходимо для изменения алгоритма функционирования модуля при отказах в системе. Введение первого и второго элементов ИЛИ, одновибратора и триггера необходимо для распределенной синхронизации процесса реконфигурации в модулях. Сущность изобретения поясняется чертежами, где на фиг. 1 представлена функциональная схема i-го модуля распределенной системы для программного управления; на фиг. 2 - функциональная схема блока выбора; на фиг. 3 - функциональная схема блока синхронизации; на фиг. 4 - формат команды; на фиг. 5 - структурная схема распределенной системы; на фиг. 6 - пример пошагового выполнения реконфигурации распределенной системы; на фиг.7 - процесс копирования адресов. i-й Модуль распределенной системы для программного управления (фиг. 1) содержит дешифратор 1, первый 2.1, второй 2.2, третий 2.3 и четвертый 2.4 мультиплексоры адреса, первый 3.1, второй 3.2, третий 3.3 и четвертый 3.4 регистры адреса, блок 4 памяти, регистр 5 команд, мультиплексор 6 логических условий, блок 7 выбора, первый 8 и второй 9 элементы ИЛИ, блок 10 синхронизации, одновибратор 11, триггер 12, причем первый 13 управляющий вход модуля соединен с D-входом триггера 12, входом одновибратора 11 и первым входом блока 10 синхронизации, прямой выход триггера 12 соединен с первым входом блока 7 выбора, выход одновибратора 11 соединен с первым входом элемента ИЛИ 8, второй 14, третий 15, четвертый 16 и пятый 17 управляющие входы модуля соединены соответственно со вторым, третьим, четвертым и пятым входами блока 7 выбора, первый, второй и третий выходы которого соединены с первым 27, вторым 28 и третьим 29 управляющими выходами модуля, седьмой 19 и восьмой 20 управляющие входы модуля соединены соответственно с первым и вторым входами элемента ИЛИ 9, выход которого соединен с пятым 31 управляющим выходом модуля, девятый 21 управляющий вход которого соединен со вторым входом блока синхронизации 10 и синхронизирующим входом триггера 12, шестой 18 управляющий вход модуля соединен со вторым входом элемента ИЛИ 8, выход которого соединен с четвертым 30 управляющим выходом модуля, первый 22, второй 23, третий 24 и четвертый 25 информационные входы которого соединены с первыми информационными входами первого 2.1, второго 2.2, третьего 2.3 и четвертого 2.4 мультиплексоров адреса соответственно, выходы которых соединены с первым 32, вторым 33, третьим 34 и четвертым 35 информационными выходами модуля соответственно, вход 26 логических условий которого соединен с управляющим входом мультиплексора 6 логических условий, выход которого в объединении с выходом третьего поля регистра 5 команд и вторым выходом блока 10 синхронизации соединены со вторыми информационными входами мультиплексоров адреса 2.1-2.4, выходы которых соединены с информационным и синхронизирующим входами регистров адреса 3.1- 3.4 соответственно, выходы регистров адреса 3.1, 3.2, 3.3 и 3.4 соединены с третьим, четвертым, пятым и шестым входами блока 4 памяти соответственно, выход которого соединен с информационным входом регистра 5 команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора 6 логических условий, первый выход блока 10 синхронизации соединен с синхронизирующим входом регистра 5 команд, выход четвертого поля которого соединен с пятым 36 информационным выходом модуля, четвертый и пятый выходы блока 7 выбора соединены с первым и вторым входами блока 4 памяти соответственно и с первым и вторым входами дешифратора 1 соответственно, первый, второй, третий и четвертый выходы дешифратора 1 соединены с управляющими входами первого 2.1, второго 2.2, третьего 2.3 и четвертого 2.4 мультиплексоров адреса соответственно. Блок 7 выбора (фиг.2) содержит элемент запрета 37, первый 38 и второй 39 элементы И, первый 40 и второй 41 элементы ИЛИ, элемент И-ИЛИ 42, причем выход элемента И-ИЛИ 42 соединен с пятым выходом блока, второй вход блока соединен с прямым входом элемента запрета 37, выход которого соединен с первым инверсным и вторым прямым входами элемента И-ИЛИ 42 и четвертым выходом блока, первый и третий входы блока соединены с первым и вторым входами элемента ИЛИ 40 соответственно и с первым и вторым входами элемента И 38 соответственно, выход элемента ИЛИ 40 соединен с инверсным входом элемента запрета 37 и первым выходом блока, четвертый вход которого соединен со вторым входом элемента ИЛИ 41, вторым входом элемента И 39 и первым прямым входом элемента И-ИЛИ 42, второй инверсный вход которого соединен с пятым входом блока, выход элемента И 38 соединен с первым входом элемента ИЛИ 41 и первым входом элемента И 39, выход которого соединен с третьим выходом блока, выход элемента ИЛИ 41 соединен со вторым выходом блока. Блок 10 синхронизации (фиг. 3) содержит элемент ИЛИ 43, элемент запрета 44, элемент задержки 45, триггер 46, распределитель импульсов 47, причем первый вход блока соединен с инверсным входом элемента запрета 44 и с первым входом элемента ИЛИ 43, выход которого соединен с R-входом триггера 46, второй вход блока соединен со вторым входом элемента ИЛИ 43 и с прямым входом элемента запрета 44, выход которого соединен со входом элемента задержки 45, выход которого соединен с S-входом триггера 46, выход которого соединен со входом распределителя импульсов 47, первый и второй выходы которого соединены соответственно с первым и вторым выходами блока. Рассмотрим процесс функционирования распределенной системы. Так как система состоит из однотипных модулей, ее работу рассмотрим на примере функционирования отдельного модуля, например модуля с физическим адресом (i, j), причем работу последнего будем рассматривать во взаимосвязи с другими модулями системы. Система ориентирована на реализацию множества независимых задач (алгоритмов), поэтому межмодульное взаимодействие в системе отсутствует. Запуск и останов системы осуществляется соответственно подачей и отключением напряжения питания. Первоначально регистры (i,j)-го модуля находятся в нулевом состоянии, а триггер 46 блока 10 синхронизации (фиг. 3) - в единичном (цепи начальной установки на фиг. 1, 3 условно не показаны). Блок 4 памяти разбит на четыре банка памяти. Каждый банк памяти содержит программу, реализующую алгоритм функционирования одного из четырех модулей: нулевой - (i, j)-го, первый - соседнего слева, т.е. (i,j-1)-го, второй - соседнего по диагонали, т. е. (i-1,j-1)-го и третий - соседнего сверху, т.е. (i-1,j)-го. Входы блока 4 памяти с третьего по шестой являются входами банков памяти с нулевого по третий соответственно. Выбор банка памяти, а следовательно, и алгоритма функционирования модуля производится путем подачи соответствующего кода на первый и второй входы блока 4 с четвертого и пятого выходов блока 7 выбора (работа блока 7 рассматривается ниже). После запуска системы единичный сигнал с выхода триггера 46 блока 10 синхронизации (фиг. 3) поступает на вход распределителя импульсов 47. На выходах распределителя импульсов 47 (а следовательно, и блока 10 синхронизации) начинается формирование двух импульсных последовательностей, сдвинутых друг относительно друга на половину периода. Тактовые импульсы с первого выхода блока 10 синхронизации поступают (фиг. 1) на синхронизирующий вход регистра 5 и обеспечивают фиксацию (запись) очередной команды. (В зависимости от состояния модулей системы адрес команды считывается либо из регистра 3.1, либо 3.2, либо 3.3, либо 3.4.) Тактовые импульсы со второго выхода блока 10 синхронизации поступают на синхронизирующий вход одного из регистров 3.1-3.4 через один из мультиплексоров 2.1-2.4 соответственно и производят запись адреса следующей команды в соответствующий регистр. Рассмотрим дальнейшую работу системы при отсутствии отказов. Так как в системе отказы отсутствуют, то на четвертом и пятом выходах блока 7 выбора находится код "00". Соответственно, считывание команд программы производится из нулевого банка памяти. Адрес первой команды считается нулевым, поэтому в исходном состоянии эта команда присутствует на информационном входе регистра 5. При появлении фронта тактового импульса с первого выхода блока 10 первая команда переписывается в регистр 5 (формат считанной команды представлен на фиг.4). Операционная часть команды с выхода четвертого поля регистра 5 команд поступает на информационный выход 36 модуля для управления. Первое, второе и третье поля регистра 5 команд формируют адрес очередной команды с использованием мультиплексора 6 логических условий. Адрес следующей команды, получаемый объединением значения младшего (модифицируемого) разряда адреса с немодифицируемой частью, поступает на вторые информационные входы мультиплексоров 2.1-2.4 адреса. Управление мультиплексорами 2.1-2.4 осуществляется дешифратором 1, подающим единичный сигнал только на один из мультиплексоров 2.1-2.4 в зависимости от кода на четвертом и пятом выходах блока 7 выбора (табл.З). Так как отказы в системе отсутствуют, то единичный сигнал будет присутствовать на первом выходе дешифратора 1 и адрес следующей команды через мультиплексор 2.1 по тактовому импульсу со второго выхода блока 10 синхронизации зафиксируется в регистре 3.1 адреса. После записи этого адреса в регистр 3.1 осуществляется переход к считыванию и выполнению очередной команды управления. Считываемая команда выполняется аналогично рассмотренному. Одновременно с перезаписью адреса следующей команды в регистр 3.1 происходит передача (копирование) указанного адреса трем соседним модулям. Адрес с выхода мультиплексора 2.1 в сопровождении тактового импульса поступает на информационный выход 32 модуля. С информационного выхода 32 (i,J)-го модуля адрес поступает на информационный вход 23 (i,j+1)-го модуля, с которого через мультиплексор 2.2 записывается в регистр 3.2, а также поступает на информационный выход 33. С информационного выхода 33 (i,j+1)-го модуля адрес поступает на информационный вход 24 (i+1,j+1)-го модуля, с которого через мультиплексор 2.3 записывается в регистр 3.3, а также поступает на информационный выход 34. С информационного выхода 34 (i+1,j+1)-го модуля адрес поступает на информационный вход 25 (i+1,j)- го модуля, с которого через мультиплексор 2.4 записывается в регистр 3.4, а также поступает на информационный выход 35. С информационного выхода 35 (i+1,j)-го модуля адрес поступает на информационный вход 22 (i,j)-го модуля (возвращается (i,j)-му модулю) и далее на первый информационный вход мультиплексора 2.1. Поскольку на управляющем входе мультиплексора 2.1 находится единица, процесс копирования (передача) адреса следующей команды прекращается. Параллельно с обработкой команды и копированием адреса очередной команды (i, j)-й модуль принимает и передает (ретранслирует) адреса очередных команд трех других соседних модулей: левого (i,j-1)-го, диагонального (i-1,j-1)-го и верхнего (i-1,j)-го. Адрес (i,j-1)-го (левого) модуля поступает с информационного входа 23 и через мультиплексор 2.2 записывается по тактовому импульсу в регистр 3.2 адреса, а также поступает на информационный выход 33. Адрес (i-1,j-1)-го (диагонального) модуля поступает с информационного входа 24 и через мультиплексор 2.3 записывается по тактовому импульсу в регистр 3.3 адреса, а также поступает на информационный выход 34. Адрес (i-1,j)-го (верхнего) модуля поступает с информационного входа 25 и через мультиплексор 2.4 записывается по тактовому импульсу в регистр 3.4 адреса, а также поступает на информационный выход 35. Рассмотрим работу системы при возникновении отказов. Под отказом модуля понимается искажение управляющей информации, подаваемой им на объект управления (отказ блоков 3.1-3.4, 4, 5, 6, 10 и соответствующих связей). Средства взаимодействия модулей считаются работоспособными. Отслеживание правильности функционирования блоков 3.1-3.4, 4,5,6, 10 и их связей, фиксация модулей, в которых нарушено правильное функционирование указанных блоков, и останов системы в случае фатального отказа обеспечиваются внешними по отношению к системе средствами контроля и управления. Состояние (i,j)-го модуля (работоспособен/неработоспособен) индицируется состоянием внешнего триггера отказа. Допустим, отказавшим является модуль (i-1,j), находящийся сверху над текущим, а все остальные модули распределенной системы работоспособны. Исходя из логики работы системы текущий модуль (i,j) должен принять на себя функции верхнего (i-1,j)-го модуля и в дальнейшем считывать команды из третьего банка памяти блока 4 памяти. Внешние средства контроля, обнаружив отказ, фиксируют его переводом триггера отказа (i-1,j)-го модуля в единичное состояние. Единичный сигнал с триггера отказа поступает на вход 13 (i-1,j)-го модуля, с которого подается на первый вход блока 10 синхронизации (фиг. 3), с которого передается через элемент ИЛИ 43 на R-вход триггера 46 и устанавливает его в нулевое состояние, выключая распределитель импульсов 47. Передача управляющих сигналов на объект управления прекращается - модуль выключен. Дальнейшее включение модуля оказывается невозможным из-за присутствия постоянного единичного сигнала с триггера отказа на инверсном входе элемента запрета 44. Одновременно сигнал с триггера отказа поступает на вход одновибратора 11 и инициирует синхронный останов всех работоспособных модулей. Импульс с выхода одновибратора 11 поступает через элемент ИЛИ 8 на выход 30 (i-1,j)-го модуля и передается вправо (i-1,j+1)-му модулю (фиг.1,5). Поступая на вход 18 (i-1, j+1)-го модуля, импульс через элемент ИЛИ 8 поступает на выход 30 (i-1, j+1)-го модуля и передается аналогичным образом по строке вправо до (i-1, m)-го модуля. С выхода 30 (i-1,m)-го модуля импульс поступает на вход 19 модулей (i-1)-й строки с первого по m-й и передается через элемент ИЛИ 9 на выход 31 этих модулей. С выхода 31 модулей (i-1)-й строки с первого по m-й импульс поступает на вход 20 модулей (i-2)-й строки с первого по m-й соответственно и передается через элемент ИЛИ 9 на выход 31 этих модулей. Аналогичным образом импульс с выхода 31 модулей (i-2)-й строки с первого по m-й передается вверх до модулей первой строки с первого по m-й соответственно. С выхода 31 модулей первой строки с первого по m-й импульс одновременно поступает на вход 21 модулей всех строк с первого по m-й соответственно. Далее импульс с входов 21 поступает на второй вход блоков 10 синхронизации (фиг. 3) и через элементы ИЛИ 43 передается на R-вход триггеров 46, устанавливает их в нулевое состояние и выключает распределители импульсов 47. (Передача управляющих сигналов на объекты управления временно прекращается. ) Одновременно импульс через прямой вход элементов запрета 44 поступает на вход элементов 45, где задерживается на время, достаточное для выполнения перестройки системы. Кроме этого, импульс поступает на синхронизирующий вход триггеров 12 (фиг. 1). Описанный выше процесс распространения импульса происходит одновременно во всех модулях системы. Единичный сигнал с входа 13 устанавливает триггер 12 (i-1,j)- ro модуля в единичное состояние. Сигнал с выхода триггера 12 поступает на первый вход блока 7 выбора и инициирует перестройку системы. Блок 7 выбора (фиг. 2) работает следующим образом. На первый вход блока 7 с выхода триггера 12 поступает сигнал об отказе собственного модуля. На второй, третий, четвертый и пятый входы блока 7 с управляющих входов 14, 15, 16 и 17 модуля соответственно поступают также сигналы от других модулей. Назначение сигналов на входах блока 7 описывается в табл. 1. Комбинационная схема блока 7, состоящая из элементов 37-42, на основе сигналов на первом - пятом входах определяет согласно таблице истинности (табл. 4) состояния первого - пятого выходов блока 7, назначение которых описывается в табл. 2. Сигналы с первого и второго выходов блока 7 через управляющие выходы 27 и 28 соответственно поступают в другие модули. Сигнал с третьего выхода блока 7 поступает через управляющий выход 29 модуля внешним средствам контроля. Его единичное значение определяет невозможность реконфигурации распределенной системы - фатальный отказ, по которому внешние средства управления выключают распределенную систему. Сигналы с четвертого и пятого выходов блока 7 определяют алгоритм, по которому будет функционировать модуль (табл. З). В нашем случае на первом выходе блока 7 и соответственно на выходе 27 (i-1, j)-го модуля появится единичный сигнал (табл.4), который, пройдя вверх через модули j-го столбца с (i- 2)-го по первый, поступает на вход 14 текущего (i,j)-го модуля, с которого поступает на второй вход блока 7 и обеспечивает образование на четвертом и пятом выходах блока 7 кода "11" (табл.4). Через время задержки, достаточное для перестройки системы и копирования адресов всех модулей, на выходе элемента задержки 45 работоспособных модулей появляется импульс, который поступает на S-вход триггера 46, устанавливает его в единичное состояние и запускает распределитель импульсов 47. Работоспособные модули вновь начинают функционировать - перестройка системы завершена. Рассмотрим работу (i, j)-го модуля после перестройки системы. Код "11" поступает с четвертого и пятого выходов блока 7 выбора на первый и второй входы блока 4 памяти соответственно и на выходе блока 4 памяти появляется команда из третьего банка памяти (содержащего алгоритм функционирования верхнего (i-1, j)-го модуля (табл. З)). Адрес этой команды поступает из регистра 3.4 адреса (содержащего адрес очередной команды верхнего (i-1,j)-го модуля). Команда с выхода блока 4 памяти по тактовому импульсу с первого выхода блока 10 синхронизации записывается в регистр 5 команд. Операционная часть команды с выхода четвертого поля регистра 5 команд поступает на информационный выход 36 модуля для управления. Первое, второе и третье поля регистра 5 команд формируют адрес очередной команды с использованием мультиплексора 6 логических условий. Адрес следующей команды поступает на вторые информационные входы мультиплексоров 2.1- 2.4 адреса. Так как на первый и второй входы дешифратора 1 с четвертого и пятого выходов блока 7 выбора соответственно поступает код "11", то единичный сигнал будет присутствовать на четвертом выходе дешифратора 1 и адрес следующей команды через мультиплексор 2.4 по тактовому импульсу со второго выхода блока 10 синхронизации зафиксируется в регистре 3.4 адреса. После записи этого адреса в регистр 3.4 осуществляется переход к считыванию и выполнению очередной команды управления. Считываемая команда выполняется аналогично рассмотренному. Одновременно с записью адреса следующей команды в регистр 3.4 происходит передача этого адреса соседним модулям, а именно модулям, которым копировал адрес следующей команды (i-1,j)-й модуль при отсутствии отказов в системе: верхнему (i-1,j)-му, диагональному (i-1,j+1)-му и правому (i,j+1)-му. С информационного выхода 35 (i,j)-го модуля адрес поступает на информационный вход 22 (i-1,j)-го модуля, с которого через мультиплексор 2.1 записывается в регистр 3.1, а также поступает на информационный выход 32. С информационного выхода 32 (i-1,j)-го модуля адрес поступает на информационный вход 23 (i-1, j+1)-го модуля, с которого через мультиплексор 2.2 записывается в регистр 3.2, а также поступает на информационный выход 33. С информационного выхода 33 (i-1,j+1)D-го модуля адрес поступает на информационный вход 24 (i,j+1)-го модуля, с которого через мультиплексор 2.3 записывается в регистр 3.3, а также поступает на информационный выход 34. С информационного выхода 34 (i, j+1)-го модуля адрес поступает на информационный вход 25 (i,j)-го модуля и далее - на первый информационный вход мультиплексора 2.4, на управляющем входе которого находится единица. На этом процесс передачи (копирования) адреса следующей команды завершается. Параллельно с обработкой команды и копированием адреса очередной команды модуль принимает и передает (ретранслирует) адреса очередных команд трех других соседних модулей (модулей, алгоритмы которых может выполнять (i,j)-й модуль после новых перестроек): левого (i,j-1)-го, диагонального (i-1,j-1)-го и нижнего (i+1, j)-го. Адрес (i,j-1)-го (левого) модуля поступает с информационного входа 23 и через мультиплексор 2.2 записывается по тактовому импульсу в регистр 3.2 адреса, а также поступает на информационный выход 33. Адрес (i-1,j-1)-го (диагонального) модуля поступает с информационного входа 24 и через мультиплексор 2.3 записывается по тактовому импульсу в регистр 3.3 адреса, а также поступает на информационный выход 34. Адрес (i+1,j)-го (нижнего) модуля поступает с информационного входа 22 и через мультиплексор 2.1 записывается по тактовому импульсу в регистр 3.1 адреса, а также поступает на информационный выход 32. Итак, после перестройки системы (i,j)-й модуль полностью принимает на себя функции верхнего (i-1,j)-го модуля, а система в целом продолжает исполнение множества программ с требуемых адресов. При возн