Параллельный процессор

Иллюстрации

Показать все

Реферат

 

Параллельный процессор относится к области вычислительной техники и может быть использован для обработки сигналов с высокой производительностью . Цель изобретения - упрощение параллельного процессора. Параллельный процессор содержит формирователь 15 адреса диспетчера, блок 14 управления страницами, регистр 12 страниц, регистр 13 слов, сдвигатель, элементы И 17 - 19, сумматор 20, блоки 8-П оо ел 00 со

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК

А1 (19) (111 (51)4 G 06 F 15/00

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3995429/24-24 (22) 23.12.85 (.46) 07,06.87. Бюл. № 21 (71) Краснодарское специальное конструкторско-технологическое бюро сейсморазведочной электронной техники (72) В.Ф. Салий, М.Г. Шнеер, Э.Н. Веремко и А.С. Клебанова (53) 681.32(088.8) .(56) Авторское свидетельство СССР

¹ 479114, кл. G 06 G 15/00, 1973.

Авторское свидетельство СССР № 736107, кл. G 06 Р 15/00, 1978. (54) ПАРАЛЛЕЛЬНЬ111 ПРОЦЕССОР (57) Параллельный процессор относится к области вычислительной техники и может быть использован для обработки сигналов с высокой производительностью. Цель изобретения — упрощение параллельного процессора. Параллельный процессор содержит формирователь

15 адреса диспетчера, блок 14 управления страницами, регистр 12 страниц, регистр 13 слов, сдвигатель, элементы

И 17 — 19, сумматор 20, блоки 8 — 11

) 3 буферной памяти, блок 2 программной диспетчеризации, блок 3 программного управления, блоки -4-7 обработки дан-ных. Наличие МОдифицировянной стря ничной адресации позволяет записать многократно используемые данные в блоки буферной памяти различных бла-кОВ ОбрабОтки таким Образом что зя время выполнения одной команды ня указанной процедуре одновременно получаются четыре промежуточных результат" и исключается необходимость обмена,цанными непосредственно между устройствами обработки данных. Кроме тога, аппаратная реализация страничной адресации и наличие блоков буферной памяти позволяют параллельно с обменом выполнять обработку данных и упростить программирование, 2 з.п. ф-ль„ 12 ил.

Изобретение относится, к вычисли-. тельной технике и может быть исгользавяна для Обработки сигняпов с вы сокой произвоцительностью, в частности, в геофизике, особенно для вь-полнения таких времяемких процедур кяк конвалюция, различного рс,ца фильтраций, ня которых возможно распараллеливание вычислений на нескольких усройс гвях o6paáo гки данных, Цель изобретения — упрж11ение пя" раллельнога процессора, На фиг.l нрецстя-:леня схема пярял фиг.2 — ozp" ма <формирователя яд :>еся диспетчера;, на фиг, — схема блока управления страницами; ня фиг.4 — схема загрузки бу,!1ерных 03у ня гроцедуре "Конволюционно"= умножение" ; ня IIIHlг,5 ма устройства. Обработки,цянных; ня фиг 6 схема блок". программноro уп равления, на фиг,,7 - схема блока про-. граммной диспетчеризации„ ня фиг.8 схема буферной памяти; ня фиг.9 схема блока буферизации данных; на фиг.).0 — схема счетчика.; ня фиг.)1 схема коммутатора; на фиг.12 = схема алгоритма функционирования парял:— лельногс процессора.

Параллельный процессор содержит блок 1 буферизации данных, блок 2 программной диспетчеризации, блок 3 программного управления, четыре блока

4-7 обработки данных, четыре блока

8 11 буферной памяти, регистр 12 страниц„ регистр 13 слов, блок 14 управления страницами, формирователь

15 адреса,циспетчеря,, сдвигатель 16,, три элемента И )!-!9,, сумматор 20, вторую шину 2),цянных, первую шину

8)

f5 О

ЗО

22 данньг, вход 23 загрузки программ диспетчеризации, вход 24 загрузки программ управления, первый 25 и второй 26 настроечные входы.

Формирователь 15 адреса диспетчера (фиг.2) содержит дешифратор 27, сдвигатель 28 и 29, сумматоры 30-35, вычитатели 36-38, коммутаторы 39-42, входы 43-48 и вьгходы 49-55, Блок )4 управления страницами (фиг.3) содержит первый 56 и второй

57 счетчики, схему 58 сравнения, первый 59 и второй 60 триггеры, вхо,цы 61-63 и выходы 64-67.

Блок обработки данных (фиг.5) содержит умножитель 68, арифметика-логический узел 69, селектор 70, регистр 71, узел 72 двунаправленной передачи данных, вход 73 кода опера:ции и информационный вход-выход 74, Блок 3 программного управления (фиг.б) содержит память 75, регистр

76, счетчик 77, дешифратор 78, тригер 79, элемент И 80, элементы ИЛИ

81-83, вход 84 загрузки, вход 85 блокировки, синхравход 86,первый 87, второй 88 и третий 89 управляюшие выходы, первый 90 и второй 9) информационные выходы.

Блок 2 программной диспетчеризации (фиг,7) содержит память 92, регистр 93, счетчик 94, дешифратор 95, триггер 96, элементы И 97-99, элементы ИЛИ )00-106, генератор 107 импульсов, вход 108 загрузки программ, первый 109, второй 110 и третий 111 входы признака режима, с первого по де сятый !)2-120 yпрявляюШие выходы, информационный выход 121 и синхровы- хоц 122.

13)5989

Каждый блок буферной памяти (фиг.8) содержит двухканальную память 123, четыре элемента HE )24

127, первый )28 и второй )29 адресные входы, первый 130 и второй 131 входы обращения, вход 132 чтения-записи, первый 133 и второй 134 информационные входы-выходы.

Блок 1 буферизации данных (фиг ° 9) содержит двухканальный регистр 135, четыре элемента И 136-139, триггер !

40, первый информационный вход-выход 14) второй информационный входвыход )42, выход 143 признака незанятости, первый вход 144 чтения, выход 145 признака занятости, первый вход 146 записи, второй вход 147 чтения и второй вход )48 записи.

Счетчики 56 и 57 (фиг.)0) содержат три триггера 149-151 и дешифратор 152,коммутаторы 39-42 (фиг. 11)— пять элементов И 153-157 и дешифратор 158.

Блок-схема алгоритма функциониро- 25 вания параллельного процессора (фиг.12) представлена в виде программ, выполняемь|х в блоке 3 программного управления (блоки 159-164 ) и в блоке 2 программной диспетчериза" 30 ции (блоки 165-176). Каждый блок 159176 представляет собой выполнение одной команды. Сплошные линии показывают направление выполнения программ, а пунктирные — связи синхронизации между программами. Над каждым блоком 159-176 показано содержимое регистров 76 и 93 блоков программного управления 3 и программной диспетчеризации 2. Причем каждое из шес-40 ти полей регистров 76 и 93 отделены точками. В обозначении содержимого полей применены символы Х вЂ” безразлично, С-сложение, У вЂ” умножение, П вЂ” пересылка, B — выгрузка из уст- 45 ройства обработки данных. Например, над блоком 159 (фиг.)2) указано содержимое Х.l.О.О,P.4, которое обозначает, что первое поле безразлично, второе поле установлено в "1, т.е. при-50 сутствует признак страничной адресации, пятое поле указывает на пересылку в блоках 4-7 обработки данных, шестое поле указывает, что с выхода дешифратора 78 сигнал поступает на 55 входы элементов ИЛИ 82 и 83, с выхода которых запрос передается в блоки 811, а сигнал "Загрузить результат" в блоки 4-7 обработки данных.

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

Количество страниц и количество слов в странице задается перед началом работы. Количество страниц может задаваться как 2", где h = 1,2,3... и т.д., а количество слов в странице может задаваться как 2, где m = --О, 1, 2, 3... и т.д., причем объем V блока буферной памяти должен позволять разместить заданное количество страниц, для чего должно выполняться условие V 2 + .

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

Страничная адресация позволяет передать по одной команде одно данное, например, из блока буферизации данных в одноименные страницы всех блоков буферной памяти. Каждая страница последовательно проходит три состояния: обмен данными через шину 21 под управлением блока программной диспетчеризации, обмен данными с блоками обработки данных под управлением блока программного управления, хранение данных, когда нет обращения к данной странице. Формирователь адреса диспетчера позволяет формировать модифицированные страничные адреса для блоков буферной памяти при обмене данными между шиной 21 и блоками буферной памяти.

Блок 2 программной диспетчеризации служит для реализации программы передачи данных через шину 2).

Регистр 12 страниц и регистр 13 слов служат для хранения кодов m u п, определяющих соответственно количество страниц в блоке буферной памяти и количество слов в одной странице ..

Блок 14 управления страницами служит для определения номеров в N и

N> текущих страниц, преднаэначенйых соответственно для блока программной диспетчеризации и блока программного управления, Кроме того, блок страниц формирует признаки занятой страницы.

13!

Счетчики 56 и 57 служат для формирования номеров текущих страниц, с которыми работает блок . прогряммноч диспетчеризации и блок 3 программного управления. Количество рабочих младших разрядов счетчиков ограничивается количеством страниц, .поступающим с выхоца региcòðà 12 страниц.

При выполнении команд "Сменить стра-ницу" блоком 2 программной диспетчеризации или блоком 3 программного управления управляющие сигналы "Сменить страницу" поступают ня счетные входы соответственно счетчиков 56 и

57 и увеличивают их содержимое на единицу, Триггеры 59 и 60 предназначены для определения признака занятости страниц, к которым обращаются блок 2 программной диспетчеризации и блок праграммнога управления, блокируя при этом работу тога иэ указанных блоков

2 и 3, который обратился к занятой другими блоками странице, т.е, при равенстве содержимых счетчиков 56 и

57.

При обращении блоков "".. и 3 к разным страницам, т.е. в случае, когда содержимое счетчиков 56 и 57 неравно, схема 58 сравнения вырабатывает сиг" нал., устанавливающи-. триггеры 59 и

60 в состояние незанятости страниц, обеспечивая паралле.-<ьную передачу за-просов блока 2 программной диспетчеризации и блока 3 программного управления в блоки 8-11 буферной памяти.

Бпак 14 управления страницами ря ботает следующим образом.

При выполнении команды " Сменить страницу" блоком 2 программной диспетчеризации управляющий сигнал Сменить страницу" по связи 61 поступает на счетный вход счетчика 56, увеличивая его содержимое ня единицу, и на вход триггера 59, устанавливая его в состояние " 1" (занята страница). Если соцержимое счетчиков 56 и 57 окажет- ся равным, т. е . блок 2 п1рограж най диспетчеризации запрещает страницу, которая еще занята блоком 3 програм-. много управления, та триггер 59 остя— нется в состоянии 1". При этом пои.-,— нак занятой страницы с выходя триггера 59 поступает в блок ".. прог«раммной диспетчеризации, блокируя работу последнего, Триггер 59 сбрасывается в

11/ЪI б состояние О (незанятH !гоаниц «.) когда, элок паагря«>м«на«о улоявле«р «KR выполняет ком,-«нуту, манитL C тря5989 6 ницу". Управляющий сигнал "C"".íèòü страницу" по связи 63 поступь -« на счетный вход счетчика 57 и увеличивает ега содержимое на единицу, схема

58 сравнения обнаруживает неравенство содержимых счетчиков 56 и 57 и формирует сигнал сброса триггера 59.

Отсутствие признака занятой страницы на выходе триггера 59 позволяет про10 должить рабату блоку программной ,диспетчеризации. Аналогично работают счетчик 57 и триггер 60.

Сдвигатель 16 и сумматор 20 служат для формирования адреса А для блоков буферной памяти при обмене с блоками обработки данных. Адрес А может формироваться двумя видами адресации, прямым и страничным, в соответствии с выражениями

20 А= а. (1)

A=# ?" +а,, (2) где а — адресная часть команды бло3 ка программного управления, причем в выражении (1) — это полный адрес для блока буферной памяти, а в выражении (2) — адрес слова в странице.

В режиме страничной адресации базовый адрес М 2 текущей страницы управления формируется сдвигателем

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

40 В режиме прямой адресации сумматор

20 пропускает адресную часть а> команды блока. 3 программного управления на выход, с которого адрес А поступает во все блоки буферной памяти.

45 В режиме страничной адресации сумматор 20 суммирует базовый адрес текущей страницы и адрес слова в странице в соответствии с выражением (2).

Блокировка одного входа сумматора

56 20 в режиме прямой адресации осущеcòHëÿåòñÿ признакам страничной адресации, поступающим по связи 87 иэ блока 3 программного управления.

Формирователь 15 адреса диспетче.,"5 ра слулжт для формирования адресов

А р и признаков отрицательной разности при обмене данными с шиной 21, ис- пользуя при этом три вида адресации: прямую, страничную и модифицированную

1315989 страничную в соответствии с выражением а,; (3)

М 2 + а (4)

ND 2 + aD — e.2 (5) Ае

Ае = где а — адресная часть команды блоD ка 2 программной диспетчеризации; f0 е — адрес блока буферной памяти, принимает значения О, 1, 2, 3 соответственно для блоков 8 — 11.

Базовый адрес N 2 текущей стра- f5

D ницы диспетчеризации формируется,в сдвигателе 28, где текущий номер страницы N диспетчеризации, поступающий с выхода 65 блока 14, сдвигается в старшую часть на число разрядов, 20 равное количеству m слов в странице, поступающему с выхода регистра 13 слов .

Вычитатели 36-38 предназначены для вычисления разности а — е ° 2 в соответствии с выражением (5). На один из входов вычитателей поступает адрес а> а на другие входы — смещение е ° 2, Для блоков 8-11 смещение соответственно равно 0,2, 2 2, 30

3 2

Дешифратор 27 определяет количество слов 2 в одной странице. Величина количества слов в двух страницах 2.2 получается сдвигом в сдви- 35 и гателе 29 величины 2" на один разряд в сторону старших разрядов.

Сумматор 31 формирует величину

3 2 количества слов в трех страни ц цах, суммируя величины 2 и 2. 2, Сумматоры 32-35 служат для суммирования разности и базового адреса Я 2 в соответствии с выражением (5). При вычислении адреса в вычитателях 3638 могут быть переполнения в старшие разряды адресов, которые не выходят в область страничного распределения адресов буферов. Для обнуления этих старших разрядов адреса служат коммутаторы 39-42. Число разрядов адреса .п + m, отведенное под страничную адресацию, определяет сумматор 30.

С выходов коммутаторов 39-42 адреса

Аю, А„, А2, А> поступают соответст- 55 венно в блоки 8-11.

Для вычисления модифицированного страничного адреса в соответствии с выражением (5) с выхода 119 блока 2 программной диспетчеризации признак модифицированной страничной адресации поступает на управляющие входы

EA вычитателей 36-38, разрешая этим прохождение величин 2", 2 2, 3 ? на входы А. Аналогично с выхода 120 блока 2 программной диспетчеризации признак страничной адресации поступает на управляющие входы EA сумматоров 32-35, разрешая этим прохождение величины М 2 на входы А.

Для вычисления страничного адреса в соответствии с выражением (4) признак модифицированной страничной адресации на выходе l)9 отсутствует, вычитатели 36-38 выполняют функцию пропускания адресной ар части команды на выход.

Для вычисления прямого адреса в соответствии с выражением (3) признаки модифицированной страничной адресации на выходе 119 и страничной адресации на выходе 120 отсутствуют, вычитатели 36-38 и сумматоры 32-35 выполняют функцию пропускания адресной а части команды без искажения.

Элементы И 17-19 служат для блокировки запросов блоков 8-11 с целью предотвращения эапирания полезной информации, когда разность aD — е.2, вычисляемая вычитателями 36-38, оказывается отрицательной. Для этого вычитатели 36-38 с выходов знака передают признаки отрицательной разности на входы элементов И )7-19, которые блокируют передачу запросов блоков

8 — 11. Если на входах элементов И 1719 отсутствуют признаки отрицательной разности, запросы с их выходов поступают в блоки 8-11.

Параллельный процессор функционирует следующим образом.

Программы блока 2 программной диспетчеризации и блока 3 программного управления пишутся на алгоритмическом языке и транслируются на язык saгрузки, Перед выполнением задачи (процедуры) рабочие программы загружаются в память программ блока 3 программного управления через вход 24 и блока 2 программной диспетчеризации через вход 23, оцновременно загружаются коды п и m в регистр 12 страниц и регистр 13 слов.

Кроме того, перед решением задачи счетчики 56 и 57 блока 14 обнуляются, подготавливая работу с нулевыми страницами блоков 8-11. Триггер 59 уста13!5989 10 навливястся B ocTÎHние 0 нРзаня" тя страница ), .с выхода 64 признак незанятой cTpBHH ы TIc >f!ÄHe1 (я 13 блок 2 программной диспетчеризации, разрешая тем самым выполнение программы псследнего. Триггер 60 устанавливается в сОстаяниР 1 (занята. страница) q с выхода 67 признак занятой страницы передается в блок 3 программного уп.— равления, блокируя выполнение прог- 10 раммы последнего„

Для решения задачи на входы 23 и

24 блоков программной диспетчеризации 2 и программного упрявпения 3 поступают сигналы "Разрешить работу".)5

Программа блока 2 программной диспетчеризации начинает загружаTb вход-ные операнды из блока I в блоки 8-11.

Для этого адресная часть я., команды с выхода 121 блока. 2 программной дис-20 петчеризации поступает в формирователь 15 адреса диспетчера:: †.а входы вычитателей 36-38 и вход сумматора

32 далее на сумматоры 33-35 и коммутаторы 39-42 с целью формирования ад- 25 ресов для блоков 8-1!: С выходов ))9 и 120 блока 2 програм лной диспетчеризации признаки модифицированной стра- ничной адресации и страничной адресации поступают в фОрмировЯтель 15 Яд" 30 реса диспетчера на входы вычитателей

36-38 и сумматоров 32-35 для переключения режимов адресации)выражения (3 ),;4 ) и (5Ц, укаэанных в команде блока 2 программной диспетчеризации, С выходов )14-117 блска 2 программной диспетчериsàöèè запросы через элементы И 17 — 19 поступают в блоки

8-11 для осуществления записи вход; ных операндов в нулевые страницы, С выхода 118 блока 2 программной диспетчеризации признак записи-чтения поступает в блоки 8-11 и ), при-..ем блоки 8-)l выполняют запись с шинь

21, я блок 1 — чтение операндов ня шину 21.

После загрузки нулевых страниц блок программной диспетчеризации выполняет команду "Сменить страницу", в этом случае с выходя 113 сигнал

"Сменить страницу поступает в блок

14 на счетныи вход счетчика 56 и устанавливает, его в состояние первой страницы. Счетчик 57 по-прежнему установлен в состояние нулевой страни- :> ць|, псэтому элемент 58 сравнения дает сигнал сброса триггеров 59 и 60

cocToHHHQ "О" (незаHHTB cTpBница), Блок 2 программной диспетчеризации начинает загрузку первой стра"ицы и т.д. Блок 3 программного у льявления разблакировывается и начинает выполнять программу обработки данных в пулевых страницах. При этом управляющие сигналы с выхода блока 3 программного управления поступают в блоки 4-7 обработки данных и блоки 8-1).

С выхода 90 блока 3 программного управления адресная часть а команды поступает на сумматор 20, с выхода которого адрес поступает в блоки 811. С выхода 87 блока 3 программного управления признак страничной адресации поступает на стробирующий вход сумматора 20 для переключения режимов адресации выражения (I,I) и (2)), укаэанных в команде блока 3 программного управления. С выхода 88 блока 3 программного управления запрос и признак чтения поступают на соответствующие входы блоков 8-)1. Блоки 8-11 осуществляют чтение операндов иэ нулевых страниц и передают по связям 133 в блоки 4-7 обработки данных для обработки. Одновременно кад вычислительной команды поступает в блоки 4-7 обрабстки данных с выхода 91 блока 3 программнога управления. Результаты обработки возвращаются в нулевые страницы, после чего блок 3 программного управления выполняет команду "Сменить страницу". На выходе 89 блока программного управления сигнал "Сменить страницу" поступает на счетный вход счетчика 57, который устанавливается в состояние первой страницы, и, если она уже загружена блоком 2 программной диспетчеризации, начинается обработка первой страницы.

Через вход-выход 22 поступают входные операнды и возвращаются результаты обработки. С выхода 144 и входа

109 блока программной диспетчеризации осуществляется запрос блока ) для обмена с шиной 21, С выхода 122 блока

2 программной дипетчеризации осуществляется диспетчеризация работы блока 3 программного управления.

Пример загрузки буферных ОЗУ на процедуре "Конволюционное умножение" показан на фиг.2 и 4. В блоках 8-!1 задается восемь страниц по два слова в каждой странице, причем входной операнд Z загружается по нулево-. му адресу в странице, а Х вЂ” по первому, 11 1315989

Блок 2 программной диспетчериза- е ции осуществляет первую загрузку ну- р левой страницы в следующей последо- 7 вательности ° з

Выполняются четыре команды загруз- 5 е ки Х„, Х, Х и Х одновременно во н все блоки 8-11 в режиме модифициро- о ванной страничной адресации, при этом у адреса а задаются соответственно l, с.

3, 5, 7. Получаем, что Х загружает- 10 р ся только в нулевую страницу блока с

8, а, например, Х „— в блоки 9-11 и соответственно в страницы 3, 2, л

Затем выпопняется команды загрузки операнда одновременно во все блоки 15 ф

8-11 в режиме страничной адресации, при этом адрес а> равен нулю. После о этого нулевая страница сменяется и П передается на обработку.

Первая страница загружается двумя 20 командами блока 2 программной диспет- б чериэации. Первая команда загружает л

Х в режиме модифицированной странич- - и! ной адресации с адресом а, равным к

7, а вторая команда загружает Z2 25 г

Загрузка последующих страниц анало- с гична загрузке первой страницы. Пос- у ле такой загрузки входные данные Х и Z собраны парами, готовыми для о перемножения и подсуммирования. м

Блок 3 программного управления пересылает данные из блоков 8-11 в блоки 4-7 обработки данных в режиме страничной адресации. Промежуточные результаты подсуммирования Y>, Y

У и 7 хранятся в области с прямой адресацией по адресу "16" в блоках

8-11.

Блок 4 обработки данных функционирует следующим образом.

Если необходима обработка данных в блоке 4 обработки данных, блок 3 программного управления с выхода 91 передает код вычислительной команды на 4 управляющие входы арифметико-логического узла 69, селектора 70 и узла 72.

Например, необходимо выполнить вычисления Z ° X

Z на вход регистра 71. По сигналу

"Загрузить результат", поступающему с выхода блока 3 программного управления, операнд Z записывается в ре" гистр 71, Умножение Z Х осуществлятся на умножптеле 68, причем опеанд Z поступает с выхода регистра

1, а операнд Х вЂ” из блока 8 по свяи 133. Результат умножения записыватся в регистр 71. Аналогично выполяется суммирование произведения с перандом У на арифметико-логическом зле 69. Результат суммирования запиывается в регистр 71. Для передачи еэультата вычислений с выхода регитра 71 в блок 8 команда передачи оступает на управляющий вход Е уэа 72.

Блок 3 программного управления ункционирует следующим образом.

Вначале память 75 загружается небходимыми для работы программами. осле загрузки программы в память 75 четчик 77 сбрасывается в состояние

0, ра оту БПУ" на вход элемента И 80. Еси на выходе 67 блока 14 отсутствует ризнак занятой страницы для обработи, элемент И 80 разблокирует тригер 79, с выхода которого тактовые игналы Т1, Т2 начинают поступать на злы блока 3 программного управпения.

По каждому тактовому сигналу Т2 существляется загрузка очередной коандь> в регистр 76, а также приращение на единицу адреса команд в счетчике 77. По этому адресу иэ памяти

75 вЪ бирается следующая команда. Во время прохождения тактового сигнала

Тl осуществляется исполнение текущих команд, загруженных в регистр 76.

Разряды регистра 76 распределены на шесть полей.

Первое поле — адрес перехода передается в счетчик 77 для осуществления перехода по адресам программы.

Второе поле — признак страничной адресации передается на стробирующий вход сумматора 20 и служит для переключения сумматора 20 с прямой адресации на страничную в соответствии с выражениями (1) и (2). Третье поле— адресная часть а команды передается на вход сумматора 20 и служит для указания адреса в блоках 8-11. Четвертое поле — признак записи-чтения передается в блоки 8-11. При наличии этого признака блоки 8-11 осуществляют запись информации, передаваемой из блоков 4-7 обработки данных, а при отсутствии признака осуществляется чтение. Пятое поле — код вычислительной команды передается в блоки

1315989

4-7 обработки данных для перестройки устройства на требуемое вычисление„

Шестое поле — код команды, передается на дешифратор 78 для д(шифриров ения пяти команд блока 3 программного управления.

Блок 2 программной диспетчеризации функционирует следующим образом.

Вначале память 92 загружается необкодимьми для работы программами.

После загрузки памяти 92 счетчик 94 сбрасывается в состояние "0". Поступает сигнал "Разрешить работу БПД" на вход элемента И 97. Если на вьтходе 64 блока 14 отсутствует признак занятой страницы,цля обмена с шиной

21 и из блока 1 па сняэи 109 не поступаеT признак закрытого регистра > та элемент И 97 разблокирует триггер

96„ с выхода которого тактовые сиг- 20 налы Т! и Т2 начинают поступать на узлы блока 2 программной диспетчеризации. По каждому тактовому сигналу

Т2 осуществляется загрузка очередной команды в регистр 93, а также приращение на единицу адреса н счетчике

94, По этому адресу из памяти 92 выбирается следующая команца. Во время прохождения тактового сигнала Тl осуществляется исполнение текущих ко11> манд, загруженных в реги тр 93.

Разряды регистра 93 р.аспределены на шесть полей.

Первое поле — адрес перехода передается н счетчик 94 для асущестнле 3> ния перехода по адресам програм.. ы.

Второе поле — признак записи- чтения пере,цается в блоки 8--)) и блок 1.

При наличии v I o o признака блоки 8l1 осуществляют запись::информации, 40 передаваемой иэ блока l через шину

Z1, при отсутствии признака осущегтнt ляе>ся чтение. Третье поле — адресная часть команды передается в формирователь 15 адреса диспетчера на вычита-. г15 тели 36-38 и сумматор 32 и служит для указания адреса в блоках 8-11. Четвертое поле — признак страничной модифицированной адресации передается в формирователь 15 адреса диспетчера на страбирующие нходы вычитателей 36-38 и слуямт для переключения вычитателей 36-38 на режим < траничной модифицированной адресации. Пятое поле:=

"r признак страничной адресации передается н формирователь 15 адреса диспетчера на сумматоры 32-35 и гпужит для гереключения на режим страничной адресации, Шестое поле — кад оманды передается на дешифратор 9 для дешифрирования девятикоманд блока 2 программной диспетчеризации, Если тактовый сигнал Тl поступит на стробирующий вход дешифратора 95, с выходов последнего сигналы поступают в соответствующие узлы для исполнения.

Элементы ИЛИ 101 †1 служат для формирования запросов для блоков 8l1, Если присутствует хотя бы один запрос, элемент ИЛИ 105 формирует запрос для блока 1. Элемент И 98 служит для выполнения перехода по отсутствию признака окончания массива.

Элемент И 99 служит для осуществления перехода занятой страницы для обработки. Укаэанный признак поступает с выхода 67 блока )4. Этот переход информирует блок программной диспетчеризации о том, что закончена обработка н блоках 4-7 обработки данных.

Блок буферной памяти функционирует следующим образам.

Если необходимо записать операнд с шины 21 по входу )>В памяти )23> с ныхода 49 формирователя 15 адреса диспетчера на вход АВ памяти 123 по,цается адрес с выхода 118 блока 2 программной диспетчеризации через элемент HE 126, признак записи поступает на вход ЫВ памяти 123. С выхода

114 блока 2 программной диспетчеризации через элемент HE 127 запрос подается на нхад ЕСВ памяти. Если необходимо чтение, то на вход PB памяти

l23 подается признак чтения. Аналогично выполняется запись или чтение по входу-вьгкоду 133 памяти !23.

Блок 1 буферизации данных функционирует следующим образом.

Триггер 140 сбрасывается в состояние "0". Если необходимо записать операнд с входа 22 в регистр 135 и передать на шину 21, на вход DA регистра )35 поступает операнд, признак записи, запрос, с выхода элемента И

I36 строб записи поступает в регистр

135>по которомуосуществляется запись операнда впоследний.Одновременно запрос поступает на вход триггера 140 и устанавливает его и состояние "1", С выхода триггера 140 признак занятости поступает на:выход !45, запрещая передачу следующего операнда. С инверсного выхода триггера 140 признак незанятого регис>гра поступает па связи 143 в блок программной дис!

5 131598 петчеризации, который начинает выгружать операнд на шину 21. Для этого с выходов 1!8 и 112 блока 2 программной диспетчеризации поступает соответственно признак записи-чтения и запрос блока приема информации. С выхода элемента И 139 строб чтения поступает на вход PA регистра 135, считанный операнд передается на шину

2!. Триггер 340 устанавливается в со- 10 стояние "О", разрешая тем самым загрузку операнда с входа 22.

Для примера загрузки блоков 8-11 по процедуре "Конволюционное умножение" (фиг.4) требуется восемь страниц 2" = 8, где n = 3(33), по два слова в каждой странице 2 = 2, где

m = 1(01), Тогда п + m = 3+1 т — 4 (100) . На выходе дешифратора 158 формируется код 2 " = 2 16(030000), 20

Сигнал с соответствующего выхода дешифратора 158 запрещает прохождение старшего разряда адреса через элементИ 157, так как восемь страниц по два слова занимают 16 слов в блоке 8.

Старший разряд адреса, который может возникнуть в результате переполнения в сумматоре 32, блокируется элементом И 157 °

Перед выполнением процедуры "Кон- - @ волюционное умножение" блок 2 про-. граммной диспетчеризации и блок 3 программного управления загружаются программами. Одновременно загружаются коды и и m в регистр 12 страниц.и 35 регистр 13 слов ° Код m в данном случае равен 3, что соответствует восьми страницам, а код и равен 1, что соответствует двум словам в каждой странице (фиг,4). 40

Блок 159 — команда "Выгрузить Z".

С выхода 90 адресная часть команды, равная нулю, и с выхода 87 признак страничной адресации передаются на сумматор 20, с выхода ко горо- <5

ro адрес, равный нулю, передается в блоки 8-11. С выхода регистра 76 признак чтения и с выхода элемента И

82 запрос поступают в блоки 8-11 ОЗУ, с выходов которых операнды Z пере- 50 даются на входы арифметико-логических узлов 69 блоков 4-7 обработки данных. С выхода регистра 76 код вычислительной команды поступает на входы узла 69 и селектора 70 и пере- 55 ключает их на пересылку операнда Z.

С выхода элемента ИЛИ 83 сигнал "Загрузить результат" поступает на управляющий вход регистра 73 блоков

9 lá

4-7 обработки данных, где операнды записываются. Блок 3 программного управления переходит к выполнению следующей команды.

Блок 1бΠ— команда "Умножить

Z Г .

Выполняется аналогично блоку 159 за исключением того, что адресная часть а„ команды на выходе 90 равна единице для выбора операнда Х, а умножители 68 выполняют операцию умножения операндов Х, поступающих из блоков 8-1!, на операнды Z, храняющиеся в регистрах 71. Результаты умножения Р помещ,аются в регистры 71.

Блок 161 — команда "Сложить P+Y", Выполняется аналогично блокч 160 за исключением того, что адресная часть a„ равна 16, признак страничной адресации отсутствует, т.е. адресация прямая, арифметико-логические узлы 69 выполняют операции сложения.

Блок 162 — команда "Загрузить Y".

По этой команде результаты обработки из регистров 71 поступают на хранение в блоки 8-1! по адресу, равном "16".

Блок 163 — команда "Сменить страницу

С выхода 89 дешифратора 78 сигнал

"Сменить страницу" поступает в блок

34 56, увеличивается содержимое счетчика 57 на единицу, т.е. переходит с нулевой страницы на первую. Если содержимое счетчиков 56 и 57 равно, триггер 60 устанавливается в состояние занятой страницы для обработки. С выхода 67 признак занятой страницы поступает в блок 3 программного управления и блокирует его работу. Если на выходе триггера 60 отсутствует признак занятой страницы, блок 3 программного управления может продолжить свою работу по программе.

Блок 164 — команда "Переход".

С выхода дешифратора 78 сигнал перехода поступает на вход установки адреса в счетчик 77 команд. Адрес перехода передается с выхода регистра

76 на вход счетчика 77.

Блок 165 — команда "Загрузить Х".

С выхода 121 блока 2 программной диспетчеризации адресная часть а13, равная единице, поступает на вычитатели 36-38, сумматор 32.

С выхода 120 признак страничной адресации передается на сумматоры

32-35, а с выхода 319 признак стра !31 ь989

",!5

Блоки 173-176 — команды "Быгрузить Y"., ничной модифицированной адресации по- ступает íà вычитатели 36-38. С выходов коммутаторов 39-42 страничные модифицированные адреса АО-АЗ передаются в блоки 8-)1. С выхода 118 признак записи передается в блоки 811. Этот признак также поступает в блок 1, но в качестве признака чтения. С выходов элементов ИЛИ 101 †1> запросы поступают в блоки 8-!l. С вы- хода элемента ИЛИ 105 блока программной диспетчеризации запрос поступает в блок 1. Этими действиями инициируется выгрузка операнда Х из блока 1 на шину 2! и загрузка операнда Х в

1 блок 8.

Блоки 166-168 — команды "Загрузить Х".

13ыполняются аналогично блоку !65 эа исключением того, что адресная часть ав в каждом блоке соответствено равна 3,5,7, Открываются последовательно элементы И )7-19, увеличивается количество блоков буферной памяти, загружаемых операндами Х (фиг.4).

Блок !69 — команда "Загрузить У.".

Команда выполняется с адресной частью а, равной О, и признаком страничной адресации.

Блок 170 — команца "Сменить страницу

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

Блок 171 — команда "Переход, если не окончен массив ".

Если блок принял последние операнды Х и Z то на вход блока программной диспетчеризации Z поступает признак окончания массива данных. Блок 2 программной диспетчеризации выполняет соответствующий переход.

Елок 172 — команда "Переход, если не окончена обработка".

Если 3 блок программного управления сменяет последнюю обработанную страницу, с выхода триггера 60 признак занятой страницы поступает на вход элемента И 99 для выполнения соответствующего перехода в блоке 2 программной диспетчеризации. Признак занятой страницы указывает на то, что обработка данных блоков 4-7 закончена.

При выполнении этих команд поочередно выгружаются результаты обработки Y — У в блок н соответст1 Р вии с выражением

Z. + >-l, для > = до P.

Формула изобретения

1. Параллельный процессор, содержащий блок буферизации данных, блок программной диспетчеризации, четыре блока обработки данных, блок программного управления, синхровход которого соединен с синхровыходом блока программной диспетчеризации, первый управляющий выход которого соединен с первым входом чтения блока буферизации данных, выход признака незанятости которого соединен с первым входом признака режима блока программной диспетчеризации, первый информациониый вход — выход,, выход признака занятости, первый вход записи и второй вход чтения блока буферизации данных подключены к первой шине данных процессора, отличающийся †т, что, с целью упрощения, он содержит формирователь адреса диспетчера, блок управления страницами, регистр страниц, регистр слов, сдвигатель, сумматор, три элемента И и четыре блока буферной памяти, причем формирователь адреса диспетчера содержит шесть сумматоров, три вычитателя, четыре коммутатора, дешифратор и два сдвигателя, блок управления страницами содержит два счетчика, два триггера и схему сравнения, причем второй вход признака режима блока программной диспетчеризации соединен и с выходом первого триггера блока управления страницами, вход установки B

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