Многопроцессорная вычислительная система
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в отказоустойчивых системах для распределения задач между процессорами. Целью изобретения является повышение быстродействия . Цель достигается тем, что многопроцессорная вычислительная система содержит блок регистров, блок приема кодов задач, Н вычислительных устройств, блок ранжирования заданий, блок распределения заданий, блок приоритета, блок управления и блок вывода. 4 з.п. ф-лы, 10 ил.
союз советских социАлистических
РЕСПУБЛИК (l 9) Н
СУДАРСТВЕ ННОЕ ПАТЕНТНОЕ
ЕДОМСТВО СССР
ОСПАТЕНТ СССР) АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (1) 4923572/24 (2) 11.02,91 (6) 30.08,93. Бюл, N 32 (1) Конструкторское бюро электроприборос роения (2) А.В.Бек, М,А,Чернышов, Г.Н,Тимонькин, .Ф.Цветинский, Д.В.Дмитров, В.С.Харченкр и С.Н.Ткаченко (6) Авторское свидетельство СССР
1111165, кл, G 06 F 9/46, 1984.
Авторское свидетельство СССР
N 1569831, кл, G 06 F 9/46, 1990, 1
Изобретение относится к вычислительой технике и может быть использовано в тказоустойчивых многопроцессорных сисемах для распределения задач между проессорами.
Цель изобретения — повышение быстроействия системы.
Сущность изобретения состоит в повыении быстродействия системы за счет беспечения возможности решения менее риоритетных задач в промежутки времени, огда более приоритетные задачи находятся режиме ожидания, а также возможности роверки хода решения задачи посредстом контрольных точек.
В системе, в зависимости от типа задаи, поступают в один, два или три процессов и решается либо в одинарном, либо в ублированном, либо в мажоритарном реимах.
Задачи, предназначенные для решения мажоритарном режиме, при "ожидании" вободных процессоров могут отдавать име
При каждом несовпадении промежуточных результатов в процессорах, решение задачи прерывается и принимаются меры по обеспечению возможности дальнейшего решения данной задачи с целью получения верного результата.
После решения задачи в каналах и получения правильного результата данные каналы устанавливаются в исходное состо1837309
40
55 яние, после чего они готовы к приему очередной задачи, На фиг,1 приведена функциональная схема системы; на фиг.2 — функциональная схема блока 1 приема; на фиг,3 — функциональная схема 2 регистров; на фиг,4 — функциональная схема блока 3 анализа задач; на фиг.5 — функциональная схема блока 4 выбора; на фиг,б — функциональная схема блока 5 выдачи результата; на фиг,7 — функциональная схема блока 6 управления; на фиг.8 — функциональная схема блока 7 приоритета; на фиг.9 — функциональная схема блока 9.К принятия решения; на фиг.10— алгоритм функционирования системы.
Многопроцессорная система (фиг.1) содержит блок 1 приема, блок 2 регистров, блок 3 анализа задач, блок 4 выбора, блок 5 выдачи результата, блок G управления, блок
7 приоритета, каналы 8.1 — 8,п и в каждом
К-ом (К = 1, n) канале блок 9,К принятия решения, процессор 10.К, перый 11,К и второй 12.К регистры, второй 13.К и первый
14,К элементы сравнения, второй 15.К, третий 16.Ê и первый 17,К триггеры, коммутатор 18. К, четвертый 19.К элемент И, элемент
И вЂ” НЕ 20.К, одиннадцатый 21,К элемент И, одновибратор 22.K, выходы 23.1 — 23. блока 7 приоритета, десятый 24,К, седьмой 25.К, восьмой 26,К, шестой 27,К, третий 28,К, второй 29.К, двенадцатый ЗО.К, пятый 31.К, элементы И, блок 32.К элементов И, первый
33.К, седьмой 34.К, пятый 35.К, четвертый
36.К, восьмой 37,К. третий 38,К, второй 39,К, девятый 40.К, шестой 41,К, элементы ИЛИ, вход 42.К пуска процессора 10 К, входы 43.К и 44.К синхронизации процессора 10.К, выход 45.К окончания работы таймера процессора 10.К, выход 46.К "Конец решения" процессора 10,К, информационный 47,К выход процессора 10,К, вход — "квитанция"
48.К процессору 10.К, вход 49.К сброса процессора 10.К, выход 50,К контрольной точки процессора 10.К, входы 51,К, 52.К, 53.К сброса процессора 10.К, информационный вход 55 системы, информационный выход
56 блока 1 приема, управляющий выход 57 блока 1 приема, управляющие выходы 58,59 блока 2 регистров, первый 60, вход синхронизации системы, информационный вход 61 блока 2 регистров и блока 3 анализа задач, второй 62 и третий 63 входы синхронизации системы, первый 64, второй 65 и третий 66 информационные выходы блока 2 регистров, управляющие выходы 67, 68, 69 блока 4 выбора, управляющий выход 70 блока 2 регистров, информационный выход 71 блока 3 анализа задач, управляющий выход 72 блока 3 анализа задач, управляющий вход 73.К блока 4 выбора, управляющий выход 74.К блока 4 выбора, управляющие выходы 75, 76 блока 6 управления, управляющие выходы
77, 78, 79 блока 3 анализа задач, общая шина 80, девятый 81.К элемент И, информационный вход 82.К блока 5 выдачи результата, управляющие входы 83.К, 84.К, 85.К блока 5 выдачи результата, управляющий вход86.К блока 6 управления, управляющий выход 87 блока 6 управления, управляющий вход 88.К блока управления, управляющие выходы 89, 90, 91 блока 6 управления, управляющий вход 92.К блока 9,К принятия решения, управляющий вход 93.К блока 6 управления, управляющий выход 94 блока 6 управления, управляющий вход 95,К блока 6 управления, управляющие выходы 96, 97 блока 6 управления, управляющие выходы
98.К, 99.К блока 9,Кпринятия решения,,управляющие входы 100.К, 101.К блока 9.К принятия решения, управляющие выходы
102,К, 103.К, 104.К, 105.К блока 9.К принятия решения, управляющий вход 106.К блока 9.К принятия решения, информационный вход
107.К блока 9,К принятия решения, управляющие входы 108.К блока 5 выдачи результата, управляющие выходы 109, 110, 111 блока
3 анализа задач.
Блок 1 приема (фиг.2) содержит первый
112 и второй 113 регистры, элемент сравнения 114, элемент И 115, элемент ИЛИ 116, одновибратор 117.
Блок 2 регистров (фиг.3) содержит три канала 118.1 — 118,п и в каждом канале регистры 120.1 — 120,п, блоки элементов ИЛИ
124,1 — 124 n — 1, первые 126.1 — 126.п и вторые
128.1 — 128, и элементы ИЛ И, элементы И
122.1 — 122,п, а также дешифратор 119, Кроме того, канал 118.2 содержит дополнительно элемент сравнения 219 и одновибратор
220, Блок 3 анализа задач (фиг,4) содержит триггер 136, коммутатор 130, первый 131, второй 132, третий 133, четвертый 134, пятый 135, шестой 137, седьмой 138, восьмой
139, девятый 140, десятый 141 элементы И, первый 142 и второй 143 элементы ИЛИ, первый 144, второй 145, третий 146 одновибраторы.
Блок 4 выбора (фиг.5) содержит и каналов и в каждом канале первый элемент И
147,К, второй элемент И 148.К (за исключением первого канал@ третий элемент И
149.К (за исключением первого и второго каналов), четвертый элемент И 151.К, элемент ИЛИ 150.К (за исключением первого канала), первый 153, второй 154, третий 155 пороговые элементы, элемент ИЛИ 152, элемент И 156, Блок 5 выдачи результата (фиг.б) содержит первый 170 и второй 171 коммутаторы, 1837309
10
20 первый 172 и второй 180 элементы ИЛИ, одновибратор 173, счетчик 174, дешифратор 175, триггер 181, схему приоритета на элементах И 167.1 — 167.п, и каналов, и в каждом канале первый 157.К и второй 159,К триггеры, элемент сравнения 158.К, первый
160.К и второй 161,К регистры, первый
162, К, второй 168, К, третий 169. К, четвертый
176.К, пятый 178,К элементы И, первый
165,К, второй 166.К; блоки элементов И, первый 163.К, второй 164.К, третий 177,К, ;четвертый 179,К элементы ИЛИ.
Блок 6 управления (фиг.7) содержит первый 182, второй 185, третий 188. четвертый
192, пятый 195, шестой 197 элементы И, первый 183, второй 186, третий 194, элемен ты ИЛИ, первый 184, второй 187, третий 189, четвертый 190, пятый 191, шестой 193, седь! мой 196 пороговые элементы.
Блок 7 приоритета (фиг.8) содержит и каналов и в каждом канале первый 201,К и второй 203.К триггеры, первый 198.К и второй 199,К элементы И, первый 200.К и вто1зой 202.К элементы ИЛИ, а также общие ! первый 204 и второй 206 элементы И, одноибратор 205, )
Блок 9, К принятия решения (фиг.9) в кажом канале 8.К содержит счетчик 212.К, перый 207.К, второй 208.К, третий 209.К, етвертый 210 К, пятый 214,К, шестой 215.К, едьмой 216.К, восьмой 217,К элементы И, элеент ИЛИ 211.К, элемент ИЛИ вЂ” НЕ 213.К, перый 219.К и второй 218.К одновибраторы.
Поясним назначение отдельных элеентов и узлов предлагаемой системы.
Блок 1 приема (фиг.2) предназначен для иксирования кодов задач, поступающих синхронно на информационный вход 55 истемы. Код задачи снимается с входа 55 о переднему фронту импульса с выхода 57 лока 1 приема.
Блок 1 приема работает следующим обазом. В начальном состоянии регистры 112
113 обнулены, Коды задач поступают на ход 55. По переднему фронту импульса с хода 60 код очередной задачи записываетя в регистр t12. а по заднему фронту этого е импульса — в регистр 113. Если в течение лительности импульсов с входов 60, 62 не
ыло переходных процессов на входе 55, то а выходе элемента сравнения 114 будет диничный сигнал, который откроет элеент И 115, Очередной импульс с входа 63 оступит на вход 57 в качестве сигнала о ом, что код задачи на выходе регистра 113 ерный, Задний фронт импульса с входа 63 апустит одновибратор 117, в результате чео регистры 112 и 113 обнуляются.
Если же в промежуток времени между ередним фронтом импульса с входа 60 и
55 задним фронтом импульса с входа 62 были переходные процессы, или они были в момент действия одного иэ фронтов, то в регистрах 112 и 113 будет различная информация. Поэтому элемент И 115 будет закрыт нулевым сигналом с выхода элемента сравнения 114. Код задачи с входа 55 снимается по переднему фронту импульса с выхода 57.
Блок 2 регистров (фиг,3) предназначен для приема задач, поступающих в систему для обслуживания. На выход 64 блока 2 регистров выдаются задачи с наибольшим кодом важности, единичный сигнал на выходе
58 того же блока свидетельствует о том, что такие задачи хранятся в блоке 2 регистров, На выход 65 блока 2 регистров выдаются задачи, требующие решения дублированием. Эти задачи сопровождаются единичным сигналом с выхода 59 того же блока. На выход бб блока 2 регистров поступают задачи с самым низким кодом важности, Эти задачи сопровождаются единичным сигналом с выхода 70 того же блока.
Блок 2 ретистров работает следующим образом, В начальном состоянии регистры
120,1 — 120,п, 121.1 — 121.п каналов 118.1118,3 обнулены. На выходе элемента ИЛИ
126.1 канала 118,1 присутствует нулевой сигнал, который, открывая элемент И 122,1, обеспечивает запись кода задачи, первой поступивший в данный канал, в регистр
120.1 импульсом с выхода элемента ИЛИ
128.1. После записи задачи в регистр 120.1 на выходе элемента И 126,1 появляется единичный сигнал, который открывает элемент
И 122.2 и закрывает элемент И 122.1. Поэтому задача, прошедшая второй канал 118.1, запишется в регистр 120,2 и т.д.
В случае, когда задача из канала 118.1 будет принята системой на решение, на входе
111 блока 2 регистров появится единичный сигнал, который, пройдя через элементы
ИЛИ 128.1-128.п, осуществит сдвижку информации в регистрах 120.1 — 120.п таким образом, что задача из регистра 120.2 перепишется в регистр 120.1, из регистра 120.3— в регистр 120,2 и т.д. В это время на входе
56 должна быть нулевая информация.
В блоке 2 регистров дешифратор 119 выдает управляющие сигналы записи очередной задачи в канал, соответствующий ее коду важности.
Код важности задачи — это двухразрядный код, причем задаче с наибольшим кодом важности соответствует код "00", задаче, которая должна решаться в двух процессорах соответствует код "01", а задача, которая должна решаться в одном процессоре,несет код "10".
1837309
В регистрах всех каналов блока 2 регистров предусмотрен разряд лишь для второго разряда кода важности, т.е, в этот разряд записывается единица лишь в случае, когда задача должна решаться в одном процессоре.
Каналы 118.1, 118.3 блока 2 регистров и идентичны. Каналы 118.2 и 118.3 могут работать в псевдорежиме. В этом случае сдвиг информации в регистрах 121.1 — 121,п канала
118.2 произойдет тогда, когда откроется элемент сравнения 219, т.е. задача с кодом важности "01", решаемая системой в псевдорежиме, успела решиться и получен верный результат ее решения. В противном случае элемент сравнения 219 будет закрыт и эта задача останется на выходе 65 блока 2 регистров, ожидая ее очередного обслуживания. В канале t18,3 сдвиг информации (в псевдорежиме) произойдет сразу после поступления задачи с кодом важности "10" в систему, независимо от того, успеет она решиться в системе или нет, т.к. вероятность получения верного результата в данном случае меньше вероятности отказа канала системы, Получение результата не является обязательным и существенно не влияет на результат вычислительного процесса в целом (в круг таких задач могут входить, например, "фоновые" задачи).
Блок 3 анализа задач (фиг.4) предназначен для анализа задач, поступающих в него из блока 2 регистров, и выдачи очередной задачи (na приоритету) в каналы на обслуживание.
Блок 3 анализа задач работает следующим образом. В начальном состоянии триггер 136 находится в нулевом состоянии, Если в блоке 2 регистров есть задача с кодом важности "00" и в системе есть три свободных канала, то на выходе элемента И
131 блока 3 анализа задач появится единичный сигнал, который пропустит через коммутатор 130 код задачи с входа 64 блока 3 анализа задач, и задача поступит с выхода
71 в каналы на решение, Поступление задачи в каналы на решение сопровождается единичным сигналом на выходе 72 блока 3 анализа задач. При этом по очередному импульсу с входа 60 открывается элемент И
139 блока 3 анализа задач, запускается одновибратор 144, единичный сигнал с выхода которого поступает на сдвиг информации в соответствующий канал блока 2 регистров.
Аналогично блок 3 анализа задач работает при поступлении на решение в каналы задач с кодами важности "01" и "10". Причем задачи в каналы на обслуживание через коммутатор 130 поступают согласно приоритета, Наивысший приоритет при про5
50 хождении задач через коммутатор 130 блока
3 анализа задач имеют задачи. поступающие на вход 61, сопровождаемые единичным сигналом на входе 76(используется при перезагрузке задачи в каналах). Вышеописанная работа блока 3 анализа задач проходила в основном режиме. Если же возникает одна из ситуаций псевдорежима, то на выходе элементов И 132 или И 134 появляется единичный сигнал. который переключает триггер 136 псевдорежима,в единичное состояние. Элемент И 138 выдает единичный сигнал B том случае, когда система находилась в псевдорежиме и уже освободились три канала, необходимые для решения задачи с кодом важности "00". Состояние псевдорежима соответствующих каналов прерывается, т,к, уже есть условие для обслуживания задачи в основном режиме.
Аналогично работает элемент И 137 блока 3 анализа задач с той лишь разницей, что уже освободились два канала, необходимые для решения задачи с кодом важности "01" в основном режиме.
Блок 4 выбора (фиг.5) предназначен для выдачи управляющих сигналов приема задач в каналы 8,1 — 8.п. Управляющие сигналы выдаются на выходы 74.1 — 74.п в зависимости от наличия свободных каналов в системе и задач различных типов, требующих обслуживания.
Работает блок 4 выбора следующим образом. В блоке 4 выбора содержится три схемы приоритета. Группа элементов И
147.1 — 147,п принимает участие в определении свободного канала в любом случае, если для решения задачи требуется один, два или три приоритета. Эта группа элементов И определяет первый свободный процессор, начиная с процессора с меньшим порядковым номером. Группа элементов И 148.1—
148,п участвует в определении второго свободного процессора по порядку, начиная с процессора с меньшим порядковым номером. В соответствии с этим эта группа элементов И включается в работу, когда для решения задачи необходимы два или три процессора. Группа элементов 149,3 — 149.п включается в работу, когда для решения задачи необходимо три процессора и она определяет третий свободный процессор, начиная с процессора с меньшим порядковым номером, Сигналы с входов 76,110 запрещают работу приоритетных схем, образованную элементами И 148.2-148,п, И 149.3 — 149.п, обеспечивая тем самым поиск одного свободного процессора. Сигнал с входа 109 запрещает работу приоритетной схемы, образованной элементами И 149.3-149.п, 1837309
10
В начальном состоянии триггеры 157,1 — 15
57.п, 159,1 — 159.п, 181, регистры 160.1—
60 и, 161.1 — 161.п, счетчик 174 находятся в
20 беспечивая поиск двух свободных процесоров. На выходе 67 блока 4 выбора будет диничный сигнал в случае. когда в системе сть хотя бы три свободных процессора, на
ыходе 68 — когда в системе есть хотя бы два вободных процессора. на выходе 69 — кога в системе есть хотя бы один свободный роцессор.
Блок 5 выдачи результата (фиг,6) предазначен для приема кодов задач и кодов езультатов решения задач, их хранения и
ыдачи абоненту.
Блок 5 выдачи результата работает слеующим образом. улевом состоянии. Появление единичного игнала на выходе элемента И 162.К блока выдачи результатов говорит о том, что адача с кодов важности "10" решена, а едиичный сигнал на входе 83,К блока 5 выдачи езультата говорит о том. что завершилось ешение задачи либо с кодом важности
00", либо с кодом важности "01" и получен ерный результат ее решения. Рассмотрим, ак код задачи и код результата решения адачи записываются в блок 5 выдачи реультата. Допустим. появился единичный игнал на входах 83.1. 83.2 блока 5 выдачи еэультата. К этому моменту времени на
ыходах из регистров 11.1, 11.2, каналов 8.1, .2 в блоке 5 выдачи результата находится од задачи, а на выходах 82.1, 82.2 — код ерного результата решения этой задачи. о переднему фронту импульса с входа 62 риггеры 157,1, 157.2 установятся в единичое состояние, Так как время срабатывания риггеров 157,1. 157.2 может быть различым, то триггер, который первым переклюится в единичное состояние (допустим, риггер 157.1), выставит первым на выходе лемента И 167.1 единичный сигнал, котоый закроет все другие элементы И 167.2—
67.п. Код задачи с входа их регистра 11.1 анала 8.1 блока 5 выдачи результата пройет через открытый элемент И 165.1, через оммутатор 170 и поступит на входы элеентов сравнения 158.1 — 158.п, элемента
ЛИ 172, а также íà D-входы регистров
60.1 — 160.п. На выходах элементов сравнения 158.1, 158.2 появятся единичные сигнаы. А код результата решения задачи с хода 82,1 блока 5 выдачи результата пройет через открытый элемент И 166.1, через оммутатор 171 и поступит íà D-входы регитров 161.1 — 161.п. По переднему фронту игнала с выхода элемента ИЛИ 172 срабоает одновибратор 173, в счетчик 174 запиется единица, на первом выходе
55 дешифратора 175 появится единичный сигнал, который flo переднему фронту импульса с входа 62 откроет элемент И 176.1, а по заднему фронту этого же импульса запишет информацию в регистры 160.1, 161.1. На выходах элементов ИЛИ 177.1, 179.1 появятся единичные сигналы, которые откроют элемент И 1 i8.1, единичный сигнал с выхода которого пройдет через элемент ИЛИ 180 и установит триггер 181 в единичное состояние по заднему фронту импульса с входа 62 блока 5 выдачи результата. Единичный сигнал с выхода триггера 181 откроет элемент
И 169,1, И 168,2, и усз а новит триггеры 157.1, 157,2 в нулевое состояние, после чего они готовы к приему новых запросов на обслуживание, Код задачи и код результата решения задачи выставляются абоненту соответственно на выходы 221.1, 222.1 блока 5 выдачи результатов, после получения которых абонент выставляет единичный сигнал на соответствующем входе 108.1, Триггер 159.1 по заднему фронту импульса с входа 62 установится s единичное состояние и сбросит регистры 160.1, 161.1 в исходное состояние. Регистровая ячейка памяти станет свободной и готовой к записи очередной информации. Запросы от задач с кодами важности "00" и "10" обслуживаются аналогично описанному выше.
Блок 6 управления (фиг.7) предназначен для выдачи управляющих сигналов в каналы
8.1 — 8.п.
Блок 6 управления работает следующим образом. Единичный сигнал на выходе 75 блока 6 управления выдает в случае, когда все каналы 8.1-8.п системы работают в основном режиме, Единичный сигнал на выходе элемента
ИЛИ 183 появляется в случае, когда закончилось время решения задачи по таймеру хотя бы в одном канале, который подключен в данный момент времени через общую шину 80, Единичный сигнал на выходе первого элемента 184 появляется в случае, когда задача, подключенная через общую шину 80, решалась в трех процессорах, а на выходе порогового элемента 187 — когда задача решалась в двух процессорах. Единичный сигнал на выходе порогового элемента 189 появляется в случае, когда задача, подключенная через общую шину 80. решалась в трех процессорах, а на выходе порогового элемента 190 — когда задача решалась в двух процессорах. Единичный сигнал на выходе порогового элемента 191 появляется в случае, когда в системе есть менее трех каналов. свободных от решения задач и не находящихся в псевдорежиме. а на выходе порогового элемента 193 — когда в системе
1837309 есть не менее двух свободных каналов. Единичный сигнал на выходе порогового элемента 196 появляется в случае. когда в системе задача, подключенная через общую шину 80, решилась с одинаковым результатом не менее, чем в двух каналах системы.
Единичный сигнал на выходе 87 блока 6 управления появляется в случае, когда при появлении сигнала на прерывание псевдорежима в соответствующих каналах, в системе есть другие свободные каналы и поэтому каналы, находящиеся в псевдорежиме, можно перевести в основной режим.
Единичный сигнал на выходе элемента И
197 проявляется в случае. когда задача, решаемая в двух процессорах, решилась неправильно и в системе есть еще хотя бы один свободный канал.
Блок 7 приоритета (фиг.8) предназначен для приема сигналов запроса от каналов
8.1 — 8,п, их обслуживания и выдачи управляющих сигналов на выходы 23.1 — 23.п.
Блок 7 приоритета работает следующим образом. В канальном состоянии триггеры
201,1 — 201 и, 203.1 — 203.п обнулены, на запросных входах 98.1-98,п, 106.1 — 106.п присутствуют нулевые сигналы, на выходах
23.1-23.п будет также нулевая информация, Запросы от каналов поступают на входы
98,1-98,п. Если одновременно поступает несколько запросов, то приоритетная схема, образованная элементами И 199.1—
199 и, выбирает наиболее приоритетный.
После выбора наиболее приоритетного запроса на выходе соответствующего элемента И 199.К (К = 1 — и) появляется единичный сигнал. По очередному импульсу с входа 60 триггера 201.К и 203,К устанавливаются в единичное состояние. На выходе 23.К появляется единичный сигнал, разрешающий подключение соответствующего канала 8,К к общей шине 80, Каждому каналу запрещается более одного такта подключаться к общей шине 80. Поэтому по следующему тактовому импульсу с входа 60 фиксируется запрос от другого канала на соответствующем триггере 201.М (M = 1 — п, М = К). Если запрос не успел обслужиться за один такт, то повторное разрешение на подключение к общей шине 80 предоставляется после обслуживания всех запросов от других каналов. После одноразового обслуживания всех имеющихся запросов на всех элементах ИЛИ 202.1 — 202.п появляются единичные сигналы. Очередной импульс с входа 60 пройдет через открытый элемент И 204 и своим задним фронтом запустит одновибратор 205. Импульс с его выхода установит триггеры 201.1-201.п в нулевое состояние.
После этого возможно повторное обслужи5
55 вание запросов. В случае, если на выходе элемента И 206 появляется единичный сигнал, то запрещается работа приоритетной схемы, образованной элементами И
199,1 — 199,п и разрешается работа приоритетной схемы, образованной элементами
И 198,1 — 198.п. В этом случае запросными входами являются входы 106.1 — 106.п. Выбор наиболее приоритетного запроса и его подключение осуществляется аналогично описанному выше.
Блок 9,К принятия решения (фиг.9) в каждом канале 8.К предназначен для анализа результатов решения задач в каналах и на основании его выработки соответствующего решения по дальнейшему функционированию системы.
Блок 9.К принятия решения работает следующим образом.
В начальном состоянии счетчик 212.К находится в нулевом состоянии. По заднему фронту импульса с входа о0 в счетчик 212.К записывается информация с входа 107, после чего синхровход счетчика 212.К закрывается нулевым сигналом на его разрешающем входе. Информация, записанная в счетчик 212.К, представляет собой код числа отказов, количество которых "допустимо" для данного канала, т.е. чем меньше число. записанное в счетчик 212.К, тем меньше степень "доверия" к данному каналу. Когда содержимое счетчика 212,К становится равным нулю, данный канал
8;К выводится из конфигурации системы (на выходе 105.К присутствует единичный сигнал), Система работает следующим образом.
В начальном состоянии блок 2 регистров. блок 5 выдачи результата не содержит никакой информации. На входы блока 7 приоритета поступают нулевые сигналы, на его выходах 23,1 — 23.п также нулевые сигналы, На входах блока 4 выбора нулевые сигналы, на его выходах-нулевые сигналы. В каждом К-ом (К = 1-n) канале 8.К регистры
11.К, 12.К, триггеры 15.К, 16.К, 17.К, а также счетчик в блоке принятия решения 9.К обнулены, процессорное устройство 10.К находится в исходном состоянии и работоспособно. Задачи поступают на вход 55 системы, после чего они фиксируются в блоке
2 регистров.
В системе предусмотрено поступление задач трех типов, Тип задачи определяется кодом важности, который поступает в систему на вход 55 вместе с кодом задачи. Код важности "ноль" (1) определяет. что задача должна обслужиться в системе за мини13
1837309
5
10 мально возможное время. Поэтому задача с кодом важности "два" считывается первой из блока регистров 2 через блок анализа задач 3 на выход 71 в три канала на решение. Это позволяет получить правильный результат решения задачи в случае, если даже один из процессоров во время решения задачи отказал. Код важности "один" (01) определяет, что задача должна обслужиться в системе с повышенной вероятностью получения верного результата. Каждая задача с кодом важности "один" поступает для обслуживания в два процессора. Если после решения процессоры выдают различные коды результатов решения задачи, то это означает, что один из процессоров во время решения задачи отказал или дал сбой. В этом случае к данной паре процессоров подключается еще один процессо системы из числа свободных и исправный, и задача обслуживается повторно уже в трех процессорах. По окончании ее повторного обслуживания определяется отказавший процессор и имеется верный результат решения задачи. Задачи с кодом важности
"один" обслуживаются только после обслуживания всех задач с кодом важности
"ноль" . Задачи с нулевым кодом важности
"два" (10) обслуживаются в одном процессоре и поступают на решение в последню о очередь, Блок 4 выбора выдает сигналы в блок анализа задач 3 о наличии свободных процессоров. Единичные сигналы на выходах
<4.1 — 74,п блока 4 выбора свидетельствуют
j го том, что очередная задача должна посту пить для решения в соответствующие процессоры. Эти сигналы могут быть дновременно не более чем на трех выходах
4. 1 — 74.п.
В исходном состоянии счетчик в блоке ринятия решения 9.К каждого канала обнуен. Поэтому в счетчик разрешена запись нформации со входа 107.К в каждом канае, после чего D- и С-входы счетчика закрыаются нулевым сигHBRQM на V-входе. После того счетчик готов к работе. В дальнейшем ункционирует только счетный вход счетчиа, который работает на убывание. В. счетик может быть записан код любого целого исла. в зависимости от того. какой критеий отказа выбран для каждого канала. С омента времени, когда счетчик достиг нуя, данный канал 8,К выводится из конфигуации системы. В простейшем случае в четчик может быть записана единица и тога, после перого же исправного функциониования данного канала (по различным ричинам, например. сбой и др.), данный
55 канал 8.К выводится из конфигурации системы, Система функционирует в следующих двух режимах:
1) — основной режим, 2) — псевдорежим.
Рассмотрим функционирование системы в основном режиме.
В основном режиме в систему могут поступать задачи, требующие решения е одном, двух или трех процессорах.
Рассмотрим работу системы в случае поступления задачи на решение в один процессор с кодом важности (10), Задача, находящаяся на выходе 66 блока регистров (с кодом важности (10), проходит в один иэ каналов системы, выбранный блоком выбора 4, через коммутатор блока анализа задач 3 (при условии, что в блоке регистров 2 нет задач с кодами важности 01 и 00), после чего на выходе 72 блока анализа задач появится единичный сигнал, Только на одном выходе 74, К блока выбора 4 появится единичный сигнал, поэтому код задачи запишется в регистр 11.К этого канала по заднему фронту импульса с входа 60.
Кроме того, единичный сигнал с выхода элемента ИЛИ 33.К поступит на вход 42.К процессора 10.К в качестве сигнала "Пуск", а также установит триггер 15.К в единичное состояние. Процессор 10.К запустился на решение задачи, программируемый таймер данного процессора начал отсчет времени выполнения задачи. На выходе элемента И
20.К появился нулевой сигнал, который информирует блок выбора 4 о том, что данный канал занят обслуживанием задачи. Заметим, что для задач с кодом важности 10 контрольных точек не предусмотрено. Если решение данной задачи прошло успешно (по истечении времени таймера), то на выходе 47.К процессора 10.К появляется код результата решения данной задачи, сопровождающийся единичным сигналом на выходе 46,К процессора 10.К. Этот сигнал пройдет через коммутатор 18.К, после чего результат решения задачи запишется в регистр 12.К по заднему фронту импульса с входа 60. На выходе элемента ИЛИ 39.К появится единичный сигнал, который по переднему фронту импульса с входа 63 откроет элемент И 21.К и пройдет через одновибратор 22,К на сброс канала в исходное состояние, после чего данный канал готов к приему очередной задачи.
Если же по каким-либо причинам результат решения задачи не появился на выходе 47.К процессора 10;К, то по исте <ении времени, отсчитываемого таймером, на выходе 45.К процессора 10.К появится единич15
1837309
16 ный сигнал, который откроет элемент И 19.К и поступит на вход 101 блока принятия решения, который, уменьшив значение счетчиков отказов на единицу (уменьшение степени доверия к каналу), выдает единичный сигнал на выход 99, который установит данный канал в исходное состояние.
Рассмотрим работу системы в случае поступления задачи на решение в два процессора (допустим, в процессоры 10.К и
10.M). В этом случае триггер 15,К (15,M) будет находиться в нулевом состоянии. По достижении процессором 10.K (10.М) контрольной точки на выходе 47,К (47.М) процессора 10.К (10,M) будет находиться результат промежуточных вычислений, который сопровождается единичным сигналом на выходе 50.К (50.M) процессора 10.К (10.М), Этот сигнал пройдет через коммутатор 18.К (18.М) и запишет в регистр 12.К (12.M) результат промежуточных вычислений, а триггер 16.К (16.М) переключит в единичное состояние по заднему фронту импульса с входа 60, Сигнал с выхода элемента ИЛИ 39.К (39.М) поступит через открытый элемент И 24.К (24,M) на вход 100 блока принятия решения в качестве сигнала запроса, Блок приоритета 7 анализирует все поступившие запросы и выдает единичный сигнал на одном из выходов 23.1 — 23.п. Если нет более высокоприоритетных запросов, то выдается единичный сигнал на выходе
23.К, разрешая подключение кода задачи и кода результата решения задачи через блок элементов И 32.К к общей шине 80, Код задачи через общую шину 80 подключается к входам всех элементов сравнения 13,1—
13.п, а код результат решения задачи — к входам всех элементов сравнения 14.114 и В каналах 8.К и 8.М происходит сравнение кодов задач, следовательно, появляются единичные сигналы на выходах . элементов сравнения 13.К и 13,М. Далее возможны два варианта работы системы:
1. Коды результатов решения задачи на элементах сравнения 14,К и 14,М совпали— результат решения правильный, 2. Коды результатов решения задачи на элементах сравнения 14,К и 14.М не совпали — результат решения не верный, 1-й вариант. В этом случае на выходе 97 блока управления 6 появится единичный сигнал. который откроет схемы анализа в блоках принятия решения 9.К и 9.М. В блоках принятия решения 9,К и 9.М на выходах элементов И 208.К, И 208.M появятся единичные сигналы, которые поступят на соответствующие выходы 103.К и 103.M. Если в регистрах 12.К и 12.М записан промежуточный результат (очередная контрольная точ5
55 ка), то сигнал с выхода 103.К, 103.М блоков принятия решений 9.К, 9.М откроет в каналах 8,К и 8.М соответствующие элементы И
27.К, 27.М, единичный сигнал с выходов которых сбросит триггеры 16.К, 16.М и регистры 12,К, 12,М в нулевое состояние, тем самым подготовив их для фиксирования очередной контрольной точки.
Если же в регистрах 12.К, 12.M записан окончательный результат, то сигналы с выходов 103.К, 103,М блоков принятия решения 9,К, 9.Моткроют в каналах 8.К,,8.М соответствующие элементы И 25.К, 25.М, единичный сигнал с выходов которых (после приема блоком выдачи результата исходного кода и кода результата решения задачи) по переднему фронту импульса с входа 63 пройдет через элементы И 26.К, 26.M на сброс каналов 8,К, 8,М в исходное состояние, 2-ой вариант. В этом случае на выходе
97 блока управления 6 будет единичный сигнал. который открывает схемы анализа в блоках принятия решения 9.К, 9.M. На выходе порогового элемента 196 блока управления 6 будет нулевой сигнал, который откроет элемент И 197 блока управления 6.
На его выходе появится единичный сигнал при условии, что в схеме есть хотя бы один свободный процессор, о чем свидетельствует единичный сигнал на выходе 69 блока 4 выбора. Единичный сигнал с выхода 76 блока управления 6 поступит на входы элементов И 207.К, 207.М блоков принятия решения 9.К, 9.М, а также на вход 76 блока выбора 4 и разрешит ему сформировать единичный сигнал только нд Одном иэ ВыхОдОВ
74.1-74,п, т.к. в этом случае к решению задачи подключается только один процессор.
Кроме того, этот сигнал разрешит проход через коммутатор 130 блока 1 анализа задач
3 кода задачи с общей шины 80. По очередному импульсу с входа 63 единичный сигнал с выходов 102,К, 102.M блоков принятия решения 9.К, 9.M поступит через элементы
ИЛИ 33.К, ЗЗ,М каналов 8.К, 8.M и произведет повторный запуск задач для решения в соответству ощих процессорах 10.К, 10.М.
Кроме того, по очередному импульсу с входа
60 код задачи поступит в один из процессоров, выбранный блоком 4 выбора, Таким образом, задача с выхода регистра 11.К поступит на повторное решение в процессоры .10.К, 10.М, а также в еще один из . свободных процессоров. В дальнейшем система при решении этой задачи будет реализовать алгоритм работы, соответствующий поступлению задачи одновременно в три процессора, который рассматривается ниже, 1837309
5
15
Рассмотрим работу системы в случае поступления задачи на решение в три проессора. В этом случае на трех выходах
4.1 — 74.п блока 4 выбора будут единичные сигналы. Аналогично описанному выше заача поступит для решения в три процессора (допустим, в процессоры 10.К, 10.М и
10,i). Триггеры 15.К. 15.M. 15.i будут нахо диться в нулевом состоянии. После того, как результат решения задачи (промежуточный или окончательный) запишется в регистры
12.К, 12,М, 12.i каналов 8,К, 8.М, 8л. запросы с выходов 98.К, 98.М, 98.I блоков принятия решения 9.К, 9.М, 9,I поступят в блок 7 приоритета, который выдаст на одном из выходов 23,К,23.М,23,I единичный сигнал, Через общую шину 80 пройдут в каналы на сравнение код задачи и код результата решения задачи, Далее возможны три варианта работы системы:
1. Все процессоры выдали одинаковый код результата решения задачи — задача ре шена верно.
2. Один из процессоров выдал