Многопроцессорная система
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в отказоустойчивых многопроцессорных системах для распределения задач между процессорами . Цель изобретения - повышение надежности функционирования системы за счет перераспределения заданий в случае отказов. В системе предусмотрена возможность обслуживания процессов, в которых решаются задачи трех типов важности, причем однотипные задачи могут решаться различное время. Система содержит блок регистра, блок ранжирования задач, два коммутатора, блок прием, шесть пороговых элементов, блок распределения заданий, пять элементов И, три элемента ИЛИ, п операционных устройств, а в каждом из них блок обработки, три регистра, два узла сравнения , счетчик, десять элементов И, пять элементов ИЛИ, два элемента ИЛИ-НЕ, три одновибратора, 6 ил.
союз соВетских
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (g))g G 06 F 15/16
ГОСУДАРСТВЕ ННОЕ ПАТЦ-ЙНОЕ
ВЕДОМСТВО СССР (ГОСПАТЕНТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (21) 4862320/24 (22) 21.08.90 (46) 23.12,92. Бюл. ¹ 47 (71) Конструкторское бюро "Электроприборостроения". (72) А.В.Бек, М.А.Чернышов, Г.Н,Тимонькин, С.Н.Ткаченко, В.С.Харченко и Д.В.Дмитров (56) Авторское свидетельство СССР № 1111165, кл.6 06 F 9/46, 1984.
Авторское свидетельство СССР
¹ 1495631, кл. 6 06 F 9/46, 1990. (54) МНОГОПРОЦЕССОРНАЯ СИСТЕМА (57) Изобретение относится к вычислительной технике и может быть использовано в отказоустойчивых многопроцессорных системах для распределения задач между проИзобретение относится к вычислительной технике и может быть использовано в отказоустойчивых многопроцессорных системах для распределения задач между процессорами.
Известно устройство для распределения заданий процессорам, содержащее процессоры, группы элементов И, элементы
ИЛИ, регистр готовности процессоров, регистр сдвига, узел уп ра влен ия.
Недостатком этого устройства является низкое быстродействие. обусловленное использованием последовательной дисциплины анализа свободных процессоров, а также возможностью отказа в выполнении задания в случае, есЛи число свободных процессов меньше их потребного количества.
„„ЯЦ„„1783538 Al цессорами, Цель изобретения — повышение надежности функционирования системы эа счет перераспределения заданий в случае отказов. В системе предусмотрена возможность обслуживания процессов, в которых решаются задачи трех типов важности, причем однотипные задачи могут решаться различное время, Система содержит блок регистра, блок ранжирования задач, два коммутатора, блок прием, шесть пороговых элементов, блок распределения заданий, пять элементов И, три элемента ИЛИ, n операционных устройств, а в каждом из них блок обработки, три регистра, два узла сравнения, счетчик, десять элементов И, пять элементов ИЛИ, два элемента ИЛИ вЂ” НЕ, три одновибратора, 6 ил, Известно устройство для распределения заданий процессорам, содержащее блок управления, первую и.вторую группы элементов И, регистр сдвига, элемент ИЛИ, блок элементов ИЛИ, группу регистров хранения, элемент И, регистр готовности процессоров.
Недостатком данного устройства является низкое быстродействие, Известно устройство, содержащее процессоры, регистр готовности процессоров, блок элементов И, первую и вторую группы элементов ИЛИ, блок регистров, первую, вторую и третью группы элементов ИЛИ, блок регистров, первую, вторую и третью группу элементов И, первый, второй и третий элементы ИЛИ, элемент И, 1783538
30
50
Недостатком этого устройства является большой объем оборудования.
Наиболее близким к изобретению по технической сущности является устройство для распределения заданий процессорам, содержащее блок регистров, первый и второй коммутаторы, элемент ИЛИ-НЕ, элемент И-НЕ, элемент И, и каналов и в каждом канале два первых, второй и третий триггеры, с первого по шестой элементы И, первый и второй элементы ИЛИ, элемент сравнения, первый регистр, седьмой элемент И, одновибратор.
Недостатком этого устройства является .низкая эффективность использования оборудования, которая заключается в том, что при отказе одного из процессоров канала из конфигурации выводится целый канал, хотя в канале содержится еще один исправный процессор. Таким образом, исправный процессор не занят производительной работой до тех пор, пока отказавший в данном канале процессор не будет восстановлен. В то же время в системе может быть другой канал с аналогичной ситуацией. Два йсправнйх процессора из двух каналов, выведенных из конфигурации могли бы составить работоспособную пару, однако в данном устройстве. это не реализуется.
Вследствие этого при появлении отказов и ро цессоро в снижается и роизводител ьность системы. Другим недостатком данного устройства является низкая"йадежность функционирования. Это объясняется следующим, Отказ каждого процессора ведет за собой вывод из конфигурации системы еще одного исправного процессора. Таким образом, если в каждом из каналов устройства откажут по одному процессору, то устройство перейдет в состояние полного отказа, хотя в нем есть исправные процессоры. Это приводит к высокой вероятности отказа устройства в целом;
Другим недостатком данного устройства является узкая область применения, выражающаяся в том; что любая задача, поступившая в систему, будет обслу>кена в двух процессорах, В большинстве же вычислительных систем есть задачи разного уровня важности. Некоторые из них, менее важные, не требуют решения дублированием, т,е. вероятность их верхнего решения может быть меньше или равна вероятности отказа или сбоя одного процессора при решении задачи. Для других задач вероятность их верного решения должна быть больше, чем вероятность отказа одного процессора при решении задачи. Есть и третий класс задач, решать которые необходимо в кратчайшее время с высокой вероятностью получения верного результата, В данном устройстве, таким образом, некоторые задачи будут использовать при решении "лишние" процессоры, что ведет к снижению производительности системы, а другие задачи будут решаться дольше отведенного времени и с меньшей, чем это требуется, вероятностью получения верного резул ьтата.
Кроме того, в устройстве не предусмотрено синхронное получение результатов решения задач повышенной важности (решаемых в двух процессорах). Это приводит к тому, что если один из процессоров, решающих одинаковую задачу, выдал результат решения задачи позже другого (по причинам сбоев, помех и т.д., пришедших во время решения задачи), то он будет выведен из конфигурации системы по причине отказа, хотя он находится в работоспособном состоянии и через некоторое время выдаст код решения задачи. Это приводит к высокой вероятности отказа устройства в целом.
Цель изобретения — повышение надежности функционирования систем за счет перераспределения заданий в случае отказов.
Сущность изобретения состоит в повышении надежности функционирования системы за счет возможности обслуживания процессоров, в которых однотипные задачи могут решаться различное время. Разброс времени решения однотипных задач возможен за счет сбоев или помех, действующих на процессоры во время решения задач
Предлагаемая многопроцессорная система содержит и каналов, в каждом из каналов имеется один процессор, В систему могут поступать задачи трех. типов важности. В соответствии с этими типами задача поступает в один, два или три процессора и решается в одинарном, дублированном либо мажоритарном режиме.
В системе возможны случаи, когда процессоры, решающие одну и ту же задачу, выдают коды результатов решения задачи в различное время. В этом случае процессор, выдавший код результата решения задачи первым, ожидает, когда выдаст результат решения той же задачи другой процессор (или другие два процессора, если задача решалась в трех процессорах), и только после этого происходит сравнение кодов результатов решения задачи.
На фиг,1 и 2 приведена функциональная схема системы; на фиг.3 — функциональная схема блока 2 ранжирования заданий; на фиг.4 — функциональная схема блока 13 распределения заданий; .на фиг.5 — функцио1783538 нальная схема блока 8 приема; на фиг,6— функциональная схема блока 1 регистров.
Многопроцессорная система (фиг.1,2) содержит первый блок 1 регистров, блок 2 ранжирования заданий, второй 3 и первый
4 коммутаторы, вторую группу информаци- 5 онных входов 5.1 —.и блока 2 ранжирования, четвертый 6 и пятый 7 пороговые элементы, блок 8 приема, шестой пороговый элемент
9, третий элемент И 10, управляющий выход
11 приема, выходы 12,1 — 12 и блока 2 ранжирования, блок 13 распределения заданий, в каждом операционном устройстве второй элемент И 14.К, операционные устройства
15,1-15.п, в каждом К-м (К=1 —:n) oneðàöèoíном устройстве первый 16.К и второй 17.К регистры, элемент ИЛИ вЂ” НЕ 18.К, счетчик
19.К, второй 20.К и первый 21,К элементы сравнения, триггер 22,К, выход 23, К первого элемента сравнения 21.К, пятый 24.К; шестой 25.К, первый 26.К, третий 27,К
20 элементы Ы, второй 28.К одновибратор, первый 29,К элемент ИЛИ, девятый 30.К элемент И, второй 31,К элемент ИЛИ, четвертый 32.К элемент MRM, первый 33.К одновибратор, первый 34.К, четвертый 35.К, 25 пятый 36.К, второй 37,К, информационный
38.К входы блока обработки 42.К, информационный выход 39.К блока обработки 42.К, первый управляющий вход 40.К блока обработки 42.К, четвертый элемент И 41.К, блок обработки 42.К, а также общие для всей системы первый 43, второй 44, пятый 45 информационные группы выходов блока 1 регистров, в каждом операционном устрой30 стве третий одновибратор 46.К, первый 47, второй 48, третий 49 выходы блока 1 регистров, четвертый выход 50, 51.1, 51.2, 51.3 выходы ранжирования блока 13 распределения заданий, выход 52 первого порогово40 го элемента 6, выход 53 элемента И 10, группу входов 54.1 — 54.п, группу выходов
55.1-55.п блока 13 распределения заданий, второй 56 и первый. 57 информационные входы блока 2 ранжирования, выход 58 второго порогового элемента 7, группу.информационных входов 59.1-59.п блока 2 ранжирования, первый синхровход 60, информационный вход 61 системы, информационный выход 62 блока 1 регистров, второй вход 63 синхронизации системы, вы- 50 ход признака окончания выполнения 64,К, восьмой 65.К элемент И, седьмой 66.К элемент И, третий 67,К элемент ИЛИ, пятый
68.К элемент ИЛИ. десятый 69.К элемент И, информационный выход 70,К, выход 71 55 третьего коммутатора 78, второй 72.К элемент ИЛИ-НЕ, вход 73,К количества допустимых отказов, информационные выходы .
74. Ки 75. К, первый 76 элемент ИЛИ, первый 77 пороговый элемент, третий 78 коммутатор, второй 79 и третий 80 пороговые элементы, третий 81 и второй 82 элементы И, второй
83 элемент ИЛИ, управляющий вход 84 блока ранжирования заданий 2.
Блок 13 распределения заданий (фиг,4) содержит с первой 94.1-94,п по (n+1)-ю
97,1-97.п группы элементов И, группу элементов ИЛИ 98.1 — 98,n,ï åðBûé 99, второй
100, третий 101 пороговые элементы, первый 102, второй 103, третий 104, четвертый
105 элементы И, третий 106, второй 107 элементы И, третий 108, второй 109, первый 110 одновибраторы, первый элемент ИЛИ 111.
Блок 2 ранжирования заданий (фиг.3) содержит первую 85.1 — 85.п и вторую 86.1—
86.п группу триггеров, первую 87.1 — 87.п и вторую 88.1-88.п группы элементов И„первую 89,1-89.п и вторую 90,1 — 90,п группы элементов ИЛИ, элемент ИЛИ 91, элемент
И 92, одновибратор 93.
Блок 1 регистров (фиг,6) предназначен для приема задач, поступающих в систему для обслуживания и хранения их в случае, если в системе нет свободных блоков обработки, На выход 43 блока 1 регистров выдаются задачи с наибольшим кодом важности, единичный сигнал на выходе 47 того же блока свидетельствует о том, что такие задачи хранятся в блоке 1 регистров. На выходе 44 блока 1 регистров выдаются задачи, требующие решения дублированием. Эти задачи сопровождаются единичным сигналом с выхода 48 того же блока. На выход 45 блока 1 регистров поступают задачи с самым низким кодом важности, Наличие этих задач в системе вызывает появление единичного сигнала на выходе 49 блока 1 регистров.
Блок 1 регистров (фиг.6) работает следующим образом.
В начальном состоянии регистры 118.1118.l каналов 124.1-124.3 обнулены. На выходе элемента ИЛИ 120,1 канала 124.М (М=1 — 3) присутствует нулевой сигнал, который, открывая элемент И 122,1, обеспечивает запись кода задачи, первой поступившей в данный канал в регистр 118.1, Синхронизируется запись задачи в регистр 118.1 импульсом с выхода элемента ИЛИ 121. После записи задачи в регистр 118,1 на выходе элемента ИЛИ 120.1 появляется единичный сигнал, который открывает элемент И 122.2 и закрывает элемент И 122.1. Поэтому задача, пришедшая второй в канал 124.М, запишется в регистр 118.2, и т,д.
В случае, когда задача из канала 124,М будет принята на решение системой, на соответствующем выходе 50.1 — 50.3 появится единичный импульсный сигнал (для канала
124,1 единичный сигнал поступает с входа
1783538
51.1, для канала 124.2 — с выхода 51,2, для канала 124,3 — выхода 51,3). Этот единичный сигнал пройдет через элементы ИЛИ 121.1121.t на синхровходы всех регистров 118 1—
118,l канала 93.M. В результате задача из регистра 118.2 перепишется в регистр
118.1, из регистра 118.3 — в регистр 118.2 и т,д., т.е, в канале 124,М произойдет сдвиг информации. Необходимо отметить, что в момент Сдвига в каналах 124.1 — 124.3 на выходе 62 должна быть нулевая информация.
В блоке 1 регистров дешифратор 123 выдает управляющие сигналы записи очередной задачи в тот или иной канал, Задачи с наибольшей степенью важности записываются в канале 124.1, а с наименьшей — в канале 124.3.
Код важности задачи — это двухразрядный код, причем задаче с наибольшим кодом важности соответствует код "00", задаче, которая должна решаться в двух процессорах соответствует код "01", а задача, которая должна решаться в одном процессоре, несет код "10". В соответствии с этими кодами и управляющие сигналы на выходах дешифратора 123 появляются для канала 124.1-124,2-124.3;
В регистрах 118.1-118,t всех каналов
25 предусмотрен разряд лишь для второго разряда кода важности, т.е. в этом разряде за- 30 писывается единица лишь в случае, когда задача должна решаться в одном процессоре.
Блок 2 ранжирования заданий (фиг.3) предназначен для приема сигналов запроса от операционйых устройств 15.1-15,п, их обслуживания и выдачи управляющих сигналов на входы коммутатора 3, Блок 2 работает следующим образом.
В начальном состоянии триггеры 85.1. 85.п — . 86.1-86 и обнулены, на информационных входах 5.1-5.п, 59.1-59.п присутствуют нулевые сигналы, на выходах 12.1-12.п будет также нулевая информация, Запросы от операционных устройств поступают на входы 5.1-5,п. Если одновременно поступает несколько запросов, то приоритетная схема, образованная.элементами И 87.1-87.п выбирает наиболее приоритетный. После выбора наиболее приоритетного запроса на выходе соответствующего элемента И 87.К (К=1 — и) появляется единичный сигнал. По очередному импульсу с входа 60 триггеры 85.K и 86.К устанавливаются в единичное состояние.
На выходе 12.К появляется единичный сигнал, разрешающий подключение соответствующего устройства 15. К к выходу коммутатора 3. Каждому операционному устройству запрещается более одного такта подключаться к выходу коммутатора 3.
Поэтому по следующему тактовому импульсу фиксируется. запрос от другого устройства на соответствующем триггере 86.M (M=1-n; M=K). Если запрос не успел обслужиться за один такт, то повторное разрешение на подключение к коммутатору 3 предоставляется после обслуживания всех запросов от других каналов. После одноразового обслуживания всех имеющихся за- . просов на всех элементах ИЛИ 90.1 — 90.n появляются единичные сигналы. Очередной импульс с входа 60 пройдет через открытый элемент И 91 и своим задним фронтом запустит одновибратор 93. Импульс с его выхода установит триггеры 85.1-85.п в нулевое состояние, После этого возможно повторное обслуживание запросов.
В случае, если на выходе элемента И 92 появляется единичный сигнал, то запрещается работа приоритетной схемы, образованной элементами И 87.1-87.п, и разрешается работа приоритетной схемы, образованной элементами 88.1-88.п, В этом случае запросными входами являются входы 59.1 — 59.п, Выбор наиболее приоритетного запроса и его подключение осуществляется аналогично описанному выше.
Блок 8 приема предназначен для фиксирования кодов задач, поступающих асинхронно на информационный вход 61 системы. После поступления код задачи снимается с входа 61 по переднему фронту импульса с выхода 11 блока 8 приема, Блок 13 распределения заданий предназначен для выдачи управляющих. сигналов приема задач в операционные устройства 15,1-15.п, управляющие сигналы выдаются на выходы 55.1-55 и в зависимости от наличия свободных блоков обработки в системе и задач различных типов, требующих обслуживания.
Работает блок 13 следующим образом.
В блоке 13 содержатся три схемы приоритета, Группа элементов И 94.1 — 94.п принимает участие в определении свободного операционного устройства в любом случае, если для.решения задачи требуется один, или два, или три блока обработки. Эта группа элементов И определяет первый свободный блок обработки, начиная с блока обработки с меньшим порядковым номером. Группа элементов И 95.2-95.п участвует в определении второго свободного блока обработки по порядку, начиная с блока обработки с меньшим порядковым номером. В соответствии с этим эта группа элементов И включается в работу, когда для решения задачи необходимы два или три блока обра1783538
10
30
50
55 ботки. Группа элементов И 96,3-96.п включается в работу, когда для решения задачи необходимо три блока обработки, и она определяет третий свободный блок обработки, начиная с блока обработки с меньшим порядковым номером, Управляющими сигналами для блока 13 выбора являются сигналы со входов 53, 49, 48, 47.
Сигнал с выхода 49 запрещает работу приоритетных схем, образованных элементами И 95,2 — 95.п, И 96.1 — 96,п, обеспечивая тем самым поиск одного свободного блока обработки. Сигнал с входа 48 запрещает работу приоритетной схемы, образованной элементами И 96.3-96,п, обеспечивая поиск двух свободных блоков обработки.
На выхода элемента И 102 будет единичный сигнал в случае, когда для решения очередной задачи необходимо три блока обработки и в системе имеется хотя бы три свободных блока обработки. На выходе элемента И 103 появляется единичный сигнал в случае, когда для решения очередной задачи необходимо два блока обработки и в системе есть хотя бы два свободных блока обработки. На выходе элемента И 104 появляется единичный сигнал в, случае, когда очередная задача требует один блок обработки и в системе есть хотя бы один свободный блок обработки.
Единичный импульс на выходе 51 появляется в случае, когда система определила необходимое число блоков обработки для решения очередной задачи, На вход 53 поступает единичный сигнал в случае, когда в системе к паре блоков обработки для повторного решения задачй подсоединяется еще один из свободных блоков обработки системы.
Система работает. следующим образом.
В начальном состоянии блок 1 регистров не содержит никакой информации. На входы блока 2 ранжирования заданий поступают нулевые сигналы, на его выходах
12.1-12.n — также нулевые сигналы.
На входах блока 13 распределения заданий-нулевые сигналы, на его выходах— нулевые сигналы. В каждом К-м (К=1":и) oneрационном устройстве 15.К регистры 16.К, 17,К, а также триггер 22.К и счетчик 19.К обнулены, блок обработки 42,К находится в исходном состоянии и работоспособен. На выходе элемента И 10 будет нулевой сигнал, который подключает к выходу коммутатора
4 один из выходов 43-45 блока 1 регистров (цепи начальной установки на фиг.1-6 условно не показаны). Задачи поступают на вход 61 устройства. Все поступившие в систему задачи фиксируются в блоке 1 регистров и выдаются из него в соответствии с наличием свободных блоков обработки, В системе предусмотрено поступление задачи трех типов, Тип задачи определяется кодом важности, который поступает в систему на вход 61 вместе с кодом задачи, Код важности "два" определяет, что задача должна обслу>киться в системе за минимально возмо>кное время. Поэтому задача с кодом важности "два" считывается первой в очереди в блоке 1 регистров и поступает для решения одновременно в три . блока обработки, Это позволяет получить правильный результат решения задачи в случае, если даже один из блоков обработки во время решения задачи отказал. Код важности "один" определяет, что задача должна обслужиться в системе с повышенной вероятностью получения верного результата.
Ка>кдая задача с кодом важности "один" поступает для обслуживания в два блока обработки. Если после решения задачи блоки обработки выдаюТ различные коды результатов решения задачи, то это означает, что один из блоков обработки во время решения задачи отказал, В этом случае в данной паре блоков обработки подключается еще один блок обработки системы из числа свободных и исправных и задача обслуживается повторно уже в трех блоках обработки. По окончании ее повторного обслуживания определяется отказавший блок обработки и имеется верный результат решения задачи.
Задачи с кодом важности "один" ставятся в очередь в.блоке 1 регистров после задач с кодом важности "два", Задачи с нулевым кодом важности обслуживаются в одном блоке обработки и имеют наименьший приоритет при постановке в очередь в блок 1 регистров.
Блок l3 распределения заданий выдает в блок l регистров сигналы о наличии свободных блоков обработки. Сигнал на выходе
50 блока 13 свидетельствует о наличии в системе хотя бы одного свободного блока обработки, Единичные сигналы на выходах 55.155.п блока 13 распределения заданий свидетельствуют о том, что очередная задача . должна поступить для решения в соответствующие блока обработки, Эти сигналы могут быть одновременно не более чем на трех выходах 55.1 — 55,п. Если же в систему в очередном такте поступает задача с кодом важности "один", то единичные сигналы будут на двух выходах 55.1 — 55,п. Задача с кодом
"один" поступает в систему из блока 1 регистров только в том случае, если в блоке 1 регистров нет задач с кодом важности "два", .
1783538
12 о чем свидетельствует единичный сигнал на выходе 48 и нулевой на выходе 47 блока 1 регистров, Если же в систему для обслуживания поступает задача с нулевым кодом важности, то единичный сигнал будет только на одном выходе 55,1 — 55,п блока выбора.
Задача с нулевым кодом важности поступает на обслуживание только в случае, если в блоке 1 регистров не хранятся задачи с кодами важности "два" и "один", о чем свидетельствует единичный сигнал с выхода 49 блока 1 регистров.
B исходном состоянии счетчик 19.К в каждом операционном устройстве обнулен.
Поэтому на выходе элемента ИЛИ-НЕ 72,К будет единичный сигнал, который разрешит запись информации в счетчик 19,К с входа
73. К по заднему фронту импульса с входа 60, после чего 0- и C-входы счетчика 19,К закрываются нулевым сигналом íà V-входе, После этого счетчик готов к работе. В дальнейшем функционирует только счетный вход счетчика 19.К, который работает на убывание. В счетчик 19.К может быть записан код любого целого числа, в зависимости от того, какой критерий отказа выбран для операционного устройства, С момента времени, когда счетчик 19.К достигает нуля, данное операционное устройство 15.К выводится из конфигурации системы. В простейшем случае в счетчик 19.К может быть записана единица, и тогда после первого же н еисп равного функционирования данного операционного устройства (по различным причинам; например, сбой и др.) операционное устройство 15,К выводится из конфигурации системы.
Задача поступает в операционное устройство на обслуживание следующим образом.
Блок 13 распределения заданий в соответствии с управляющими сигналами, поступающими с выходов 47 — 49 блока 1 регистров, выдает один; два или три единичных сигнала на входы 55.1-55.п. Эти сигналы поступают в соответствующие операционные устройства системы, Далее рассматривается, как задача поступает и решается в одном операционном устройстве (например, в устройстве 15.К (К=1- . n). В случае поступления задачи одновременно в два или три операционных устройства алгоритм поступления не изменяется. Управляющие сигналы с выходов 47 — 49 блока 1 регистров разрешают проход через коммутатор 4 задачи одного из трех типов.
Поэтому код задачи с соответствующего выхода 43,44 или 45 блока 1 регистров через коммутатор 4 поступит в устройство 15,К. В операционном устройстве 15,К код задачи
15
30
55 поступает в блок обработки 42. К и на информационный вход регистра 16.К, На выходе элемента ИЛИ 18,К появится нулевой сигнал, который поступит на вход 54.К блока 13.
На выходе 55.К блока 13 формируется нуле5 вой сигнал, Задним фронтом единичного сигнала с выхода 55,К производится запись кода задачи в блок обработки 42.К, и триггер
22. К устанавливается в единицу, если поступила задача с кодом важности "ноль". Далее начинается решение задачи в блоке обработки 42.К, По окончании решения задачи блок обработки 42.К выставляет код результата решения задачи на выход 39.К..
Работа блоков обработки 42.1-42,п синхронизируется импульсами с входов 60, 63.
Для нормальной работы системы необходимо, чтобы код результата решения задачи выставлялся в паузах между импульсами с входа 60 и снимался после прихода единичного сигнала на вход 37.К.
По очередному импульсу с входа 60 произойдет запись кода. результата решения задачи в регистр 17.К,. на выходе элемента
ИЛИ 31,К появится единичный сигнал.
Далее система будет работать в зависимости от того, в каком состоянии находится триггер 22,К.
Если в триггера 22.К записана единица, то это означает, что задача решается только блоком обработки 42.К. После единичного
:сигнала на входе 34. К блока обработки 42,К задача начинает выполняться, программируемый таймер, настроенный на время вы-., полнения данной задачи, начинает отсчет
5 времени, Если решение задачи прошло успешно, то результат решения записывается в регистр 17.К, после чего появляется единичный сигнал на выходе элемента ИЛИ
68.К, который откроет элемент И 44,К. Запустится одновибратор 46.К, который установит. регистры 16.К, 17,К, триггер 22,К в нулевое состояние, а блок обработки — в исходное для приема очередной задачи. Если же по каким-либо причинам результат не появился на выходе 39.К блока обработки, то по истечении выделенного времени на выходе 64.К блока обработки появляется единичный сигнал, который пройдет через элементы ИЛИ 68.К,.И 44.К и запустит одновибратор для установки операционного устройства в исходное состояние. На выходе элемента ИЛИ вЂ” НЕ 18.К появится единичный сигнал, который поступит в блок 13 распределения заданий, сигнализируя о том, что операционное устройство 15.К готово к приему очередной задачи.
Пусть в триггере 22.К записан ноль, Зто означает, что задача поступила на решение одновременно в два или три блока обработ13 . 1783538 14 ки (например, в блоки обработки 42.К и
42.M), В этом случае на инверсном выходе триггера 22.К будет единичный сигнал. Элемент И 14,К будет открыт, сигналы с выхода элемента ИЛИ 31.К поступят через откры- 5 тый элемент И 14,К в блок 2 ранжирования заданий в качестве сигнала запроса. Блок 2ранжирования анализирует все поступившие запросы и выдает единичный сигнал на одном из выходов 12.1 — 12.п, Если нет более 10 высокоприоритетных запросов, то выдается единичный сигнал на выходе 12. К, разрешая проход кода задачи и кода результата решения задачи с выхода регистров 16.К и 17,К соответственно через коммутатор 3. Код за- 15 дачи с выхода коммутатора 3 поступает на входы всех блоков сравнения 20.1 — 20.п, на другие входы которых поступают коды с выходов соответствующих регистров 16.116,п. Код результата решения задачи с 20 выхода коммутатора 3 поступает на входы всех блоков сравнения 21.1-21.п, на другие входы которых .поступают коды с выходов соответствующих регистров 17.1 — 17,п. В устройствах 15.К и 15,М происходит сравне- 25 ние кодов задач, следовательно, появляются единичные сигналы на выходах блоков сравнения 20,К и 20.M. Появляется единичный сигнал на выходе порогового элемента 7. Далее возможны два варианта 30 работы системы:
1, Коды результатов решения задачи на блоках сравнения 21,К и 21,М совпали— задача решена правильно.
2. Коды результатов решения задачи на 35 блоках сравнения 21.К и 21.M не совпали— задача решена не п ра вил ь но.
1-й вариант. Прежде чем проводить анализ правильности решения задачи блоками обработки, необходимо получить результа- 40 ты решения в обоих блоках обработки. В противном случае, если, например, один из двух блоков обработки завершит выполнение задачи раньше (вследствие задержки другого по; сбой, пе- 45 реход по неверному логическому условию и др,), то естественно, что при анализе результаты решения не совпадут и другому (задер>кавшемуся) блоку обработки зафиксируется .отказ, хотя он исправен и 50 выдает результат решения через некоторое время, длительность которого определяется в каждом канале таймером (выход 64.К бло ка 42.К). Поэтому проводить анализ результатов решения необходимо после того, как 55 блоки обработки выдали результаты решения задач по таймеру. В системе функции
"закрывающего" выполняет элемент ИЛИ
83, нулевой сигнал на выходе которого закрывает всю схему анализа, т.е. элементы И
24.К, И 25.К, И 26.К, И ЗО.К И 10, элемент И
92 в блоке ранжирования заданий 2 (фиг.3).
Далее возможны две ситуации:
1, А, Двэ блока обработки решили задачу одновременно без задержки.
Б. один из блоков обработки задержался с выдачей результата нэ время, не превышающее значения времени, отсчитываемого таймером, Ситуация 1.А. В этом случае на выходе порогового элемента 79 появится единичный сигнал, который пройдет через элементы И 82, ИЛИ 83 и откроет схему анализа, Так как на выходе порогового элемента 9 появился единичный сигнал, он открывает элемент И 25.К и 25.М. Очередной синхроимпульс с входа 60 пройдет через открытые элементы И 25.К и 25.M и своим задним фронтом запустит одновибратор 33,К, ЗЗ,М, Результат решения и код задачи снимается одновременно абонентом с выходов регистров 17.К и 16.К соответственно по переднему фронту импульса с выхода одновибратора 33.К (К=1). Сигналы с выходов одновибраторов установят операционные устройства 15.К и 15.М в исходное состояние. Решение задачи закончилось.
Ситуация 1.Б. В этом случае на выходе порогового элемента 79 будет нулевой сигнал до тех пор, пока второй блок обработки не выдаст результат решения, Если задержка по времени повышает длительность периода импульсов с входа 60 (блок ранжирования 2 разрешает подключение к коммутатору задачи не более чем на пери-. од), то блок 2 предоставляет коммутатор 3 другой задаче и следующий анализ результатов решения данной задачи произойдет при очередном ее подключении к коммутатору 3 (после завершения обслуживания блока ранжирования 2).
После того как на выходе порогового элемента 79 появится единичный сигнал, схема работает аналогично описанному выше (см.ситуацию 1.А).
2-й вариант. Здесь возможны три ситуации;
2. А. Два блока обработки решили задачу одновременно без задержек.
2. Б. Один из блоков обработки задержался с выдачей результата на время, не превышающее значения времени, отсчиты ваемого таймером, 2.В, Один из блоков обработки задержался с выдачей результата на время, превышающее значение таймера.
Ситуация 2.А, В этом случае на выходе порогового элемента 79 будет единичный сигнал, который откроет схему анализа. Нэ выходе порогового элемента 9 будет нуле15
1783538
16 вой сигнал, который откроет элемент И 10.
На его выходе появится единичный сигнал при условии, что в системе есть хоть один свободный блок обработки, о чем свидетельствует единичный сигнал на выходе 50 ,блока 13. Единичный сигнал с выхода эле-: мента И 10 поступит на входы элементов И
24,1-24.п. Этот же сигнал поступит на вход
53 блока 13 распределения заданий и разрешит ему сформировать единичный сигнал только на одном из выходов 55.1-55.п, так как в этом случае к решению задачи подключается только один блок обработки. Кроме того, сигнал с выхода элемента И 10 разрешит проход через коммутатор 4 кода задачи с выхода коммутатора 3. Очередной синхроимпульс с входа 63 пройдет через открытые элементй И 24.К, 24.М и запустит одновибраторы 58.К и 58,М, Импульсы с выходов одновибраторов 58.К, 58.М поступят через . элементы ИЛИ 29.К, 29.M и операционные устройства и произведут повторный запуск задач для решения в соответствующих блоках обработки 42,К, 42.М, Кроме того, по очередному импульсу с входа 60 код задачи поступит в один из блоков обработки, выбранный блоком 13. Таким образом задача с выхода регистра 16.К поступит на повторное решение в блоки обработки 42.К, 42.М, а также еще в один из свободных блоков обработки. В дальнейшем система при решении этой задачи будет реализовывать алгоритм работы, соответствующий поступлению задачи одновременно в три блока обработки, который рассматривается
Ниже, . Ситуация 2.Б, В этом случае на выходе порогового элемента 79 будет нулевой сигнал и схема анализа будет закрыта до тех пор, пока второй блок обработки не выдаст результат решения. После того как на выходе порогового элемента 79 появится единичный сигнал, схема работает аналогично описанному выше (см.ситуацию 2.А).
Ситуация 2.В, В этом случае пороговый элемент 79 будет закрыт. Следовательно, элемент И 82 также будет закрыт. По истечении времени таймера устройства 15.К на выходе элемента ИЛИ 76 появится единичный сигнал, который пройдет через коммутатор 78 (пороговый элемент 7 находится в единичном состоянии), элемент ИЛИ 83 и откроет схему анализа. Далее система работает так же, как и в ситуации 24.
Ситуация, когда два блока обработки отказали (не выдали результата) одновременно, маловероятна и в системе не рассматривается.
При поступлении задачи в три блока обработки на трех выходах 55.1-55.п блока 13
10 решена верно.
15 2. Один из блоков обработки выдал код
20 дача решена верно
25 на выходе порогового элемента 80 появится единичный сигнал, который пройдет через элементы И 81, ИЛИ 83 и откроет схему анализа, На выходе порогового элемента 9 появится единичный сигнал, и аналогично
30 случаю, когда задача решается вдвухблоках две ситуации
55 выбора будут единичные сигналы. Аналогично вышеописанному задача поступит на решение в три блока обработки (например, в блоки 42.К, 42,М, 42.j). По окончании решения запросы с выходов элементов ИЛИ 31,К, 31.М, 31.I поступят в блок 2 ранжирования
Блок 2 выдаст на одном из выходов 12.К, 12,М, 12.! единичный сигнал. Через коммутатор 3 пройдет код результата решения задачи и код задачи для сравнения. Далее возможны три варианта работы системы:
1. Все блоки обработки выдали одинаковый код результата решения задачи — задача результата решения задачи, не совпадающий с двумя другими, — задача решена верно. Один из блоков обработки отказал в процессе решения задачи.
3. Все блоки обработки выдали различные коды результата решения задачи — за1-й вариант. После того как все три блока обработки выдали результаты решения, обработки, каналы 15.К, 15.М, 15.l,âåðíóòñÿ в исходное состояние.
2-й вариант. 8 этом случае возможны
А. Блок 2 ранжирования разрешаетпроход через коммутатор 3 кодов из канала, у которого код результата решения совпадает с одним из двух других кодов каналов.
Б. Блок 2 ранжирования разрешает проход через коммутатор 3 кодов из канала, у которого код результата отличается от двух других, Ситуация A. После того, как на выходе порогового элемента 80 появится единичный сигнал, схема анализа откроется, На выходе порогового элемента 9 будет единичный сигнал. Он откроет элемент И26,М (если блок обработки этого операционного устройства 15.M выдал код результата решения, отличный от двух других). Единичный сигнал с выхода элемента И 26,М поступит через элемент ИЛИ 32.M на счетный вход счетчика 19,М, умейьшив его текущее значение на единицу. Если в счетчике
19.M после этого окажется нулевое значение, то элемент И 69.М будет открыт и сигнал с выхода элемента ИЛИ 32,М пройдет через элемент И 69.М, запустит одновибратор 33.М, который сбросит канал в исходное состояние. Если в счетчике 9.М окажется
1783538
18 нулевое значение. элемент И 69.М будет закрыт, закроются элементы сравнения
20.М, 21.М, операционное устройство выводится из конфигурации системы, В устройствах 15.К и 15.i будут открыты элементы И
25.К и 25.l. Очередным импульсом с входа 60 эти операционные устройства установятся в исходно