Параллельный процессор
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
СОЮЗ СОВЕТСКИХСОЦИАЛИСТИЧЕСКИХРЕСПУБЛИК 9) (111 1)4 6 06 Р 15/ ГОСУД АРС ПО ДЕЛА ИЗОБРЕТЕН ОПИС 4) ПАРАЛЛЕЛЬНЫЙ ПРОЦЕССО(57) Пар к област может бы ст игналов с параллельн ный процес 15 адреса ления стра регистр 13 И 17 - 19,М ЕННЫЙ КОМИТЕТ СССРЗОБРЕТЕНИЙ И ОТКРЫТИЙ(71) Краснодарское специальное крукторско-технологическое бюро ссморазведочной электронной техни(56) Авторское свидетельство СССУ 479114, кл. С 06 С 5/00, 1973Авторское свидетельство СССРР 736107, кл. С 06 Р 15/00, 1978 ельный процессор относитсяычислительной техники ииспользован для обработкивысокой проиэводительноизобретения - упрощениего процессора. Параллельор содержит формировательиспетчера, блок 14 управицами, регистр 12 страниц,слов, сдвигатель, элементысумматор 20, блоки 8-1145 5 О 55 Блоки 173-176 - команды "Выгрузить У ничнай модифицированной адресации по-ступает на вычитатели 36-38, С выходов коммутаторов 39-42 страничныемодифицированные адреса АО-АЗ передаются в блоки 8-11. С выхода 118признак записи передается в блоки 811, Этот признак также поступает вблок 1, но в качестве признака чтения. С выходов элементов ИЛИ 101-104запросы поступают в блоки 8-1. С вы-хода элемента ИЛИ 105 блока программной диспетчеризации запрос поступаетв блок 1, Этими действиями инициируется выгрузка операнда Х из блока 1на шину 21 и загрузка операнда Х вблок 8.Блоки 166-168 - команды "Загрузить Х".Быполняются аналогично блоку 65эа исключением того, что адресная 2часть ав в каждом блоке саответствено равна 3,5,7, Открываются последовательно элементы И 17-19, увеличивается количество блоков буфернойпамяти, загружаемых операндами Х(фиг .4) .Блок 169 - команда "Загрузить 2".1(аманда выполняется с адреснойчастью а 1, равной О, и признакомстраничной адресации,Блок 170 - команца "Сменить страницуВ результате выполнения командысчетчик 56 увеличивает свое содержимое на единицу, т.е. переходит с ну-,левой страницы на первую.Блок 171 - команда "Переход, еслине окончен массив".Если блок 1 принял последние операнды Х и 2, то на вход блокапрограммной диспетчеризации 2 поступает признак окончания массива данных, Блок 2 программной диспетчеризации выполняет соответствующий переход.Елок 172 - команда "Переход, еслине окончена обработка".Если 3 блок программного управления сменяет последнюю оЬрабатаннуюстраницу, с выхода триггера 60 признак занятой страницы поступает навход элемента И 99 для выполнениясоответствующего перехода в блоке 2программной диспетчеризации, Признакзанятой страницы указывает на та, чтообработка данных блоков Азакончена. При выполнении этих команд поочередно выгружаются результаты обработки У - У в блокн соответст 1 Рвии с выражением2 + 1-1, для 1. =да Р,Формула и з обретения1. Параллельный процессор, содержащий блок буферизации данных, блок программной диспетчеризации, четыре Ьлака обработки данных, блок программного управления, синхравход которого соединен с синхровыхадам блока программной диспетчеризации, первый управляющий выход которого соединен с первым входам чтения блока буферизации данных, выход признака незанятости которого соединен с первым входом признака режима блока программнойдиспетчеризации, первый информациониый вход - выход выход признака занятости, первый вход записи и второй вход чтения блока буферизации данныхподключены к первой шине данных процессора, о т л и ч а ю щ и й с я- тем, что, с целью упрощения, он содержит формирователь адреса диспетчера, блок управления страницами, регистр страниц, регистр слов, сдвига- тель, сумматор, три элемента И и четыре блока буферной памяти, причемформирователь адреса диспетчера содержит шесть сумматоров, три вычитателя, четыре коммутатора, дешифратор и два сдвигателя, блок управления страницами содержит два счетчика, два триггера и схему сравнения, причем второй вход признака режима блока программной диспетчеризации соединен и с выходом первого триггера блока управления страницами, вход установки в "1" которого соединен со счетным входам первого счетчика блока управления страницами и с вторым управляющим выходом блока программной диспетчеризации, с третьего па шестой управляющие выходы которого соединены соответственно с первым входом обращения первого блока буферной памяти, с прямым входом первого элемента И, с прямым входом второго элемента И и с прямым входам третьего элемента И, седьмой управляющий выход блока программной диспетчеризации соединен с вторым входом заплси блока буферизации данных и с входами записи-чтения20 которого соединен с вторым входомобращения первого блока буферной памяти и с первым входом обращения свторого по четвертый блоков буферной З 5 40 50 динен с входом дешифратора формирова с пернаго по четвертый блоков буферной памяти, информационный выход блока программной диспетчеризации соединен с первыми информационными входами с первого по третий вычитателей и первого сумматора, восьмой управляющий выход блока программной диспетчеризации подключен к стробирующим входам с первого по третий нычитателей, девятый управляющий выход блока программной диспетчеризации соединен со стробирующими входами с первого по четвертый сумматоров, третий вход признака режима блока программнойдиспетчеризации подключен к выходувторого триггера блока управления страницами с входом блокировки блокапрограммного управления, вход эагруэки программы блока программной диспетчеризации подключен к входу загрузки программы диспетчеризации процессора, вход загрузки программы блока программного управления соединенс входом загрузки программы управления процессора, первый управляющийвыход блока программного управлениясоединен со стробирующим входом сумматора, первый информационный входкоторого соединен с первым информационным выходом блока программного управления, второй управляющий выход памяти, второй информационный выходблока программного управления соединен с входами кода операции с первого по четнертый блоков обработки данных, третий управляющий выход блокапрограммного управления соединен сосчетным входом второго счетчика блока управления страницами и с входом установки в "1" второго триггера блока управления страницами, вход установки в 110" которого соединен с входом установки в "0" первого триггера блока управления страницами и выходом схемы сравнения, первый вход которой соединен с выходом первого счетчика блока управления страницами и информационным входом первого сдвигателя формирователя адреса диспетчера, вход кода сдвига которога соетеля адреса диспетчера, с первым входом пятого сумматора, с выходом регистра слов и нходом кода сдвигасдвигателя, информационный вход кото 510 25 30 рого соединен с вторым входом схемысравнения и с выходом второго счетчика блока управления страницами,вход установки которогд соединен свходом установки первого счетчикаблока управления страницами, с выходом регистра страниц и с вторым входом пятого сумматора, выход которогосоединен с управляющими входами спервого по четвертый коммутаторов,информационные входы которыхсоединены соответственно с выходами с первого по четвертый сумматоров, второйинформационный вход первого сумматораи перные информационные входы с второго па четвертый . сумматоров соединены с выходом первого сдвигателяформирователя адреса диспетчера, выходы с первого по четвертый коммутаторов соединены с первыми адреснымивходами соответственно с первого почетвертый блоков буферной памяти,вторые адресные входы которых соединены с выходом сумматора, второйинформационный вход которого соединен с выходом сдвигателя, вторые входы с второго по четвертый сумматоровсоединень с информационными выходами соответственно с первого по третий вычитателей, выходы знака которых соединены соответственно с инверсными входами с первого но третийэлементов И, выходы которых соединены с вторыми входами обращения соответственно с второго по четвертыйблоков буферной памяти, информационные входы регистра страниц и регистра слов соединены соответственно спервым и нторым настроечными входами процессора, первые информационныевходы-выходы с первого по четвертыйблоков буферной памяти соединены синформационными входами-выходамисоотнетственно с первого по четвертый блоков обработки данных, вторыеинформационные входы-выходы блока буферизации данных и с первого по четвертый блоков буферной памяти подключены к второй шине данных процессора, выход дешифратора формирователя адреса диспетчера соединен снторым информационным входом первоговычитателя, с информационным входомвторого сдвигателя формирователя адреса диспетчера и с первым информационным входом шестого сумматора,второй информационный вход которогосоединен с вторым информационным входом второго вычитателя и с ныходомвтоРого сдвигателя формирователя ацреса диспетчера, вход кода сдвига которага подключен к входу логической единицы процессора, выход шестого сумматора соединен с вторым информа ционным входом третьего вычитателл.2, Процессор па и 1, о т л и ч аю щ и й с я тем, что блок программной диспетчеризации содержит регистр, память, счетчик, дешифратор, генератор импульсов, триггер, три элемента И и семь элемента:в ЙЛИ, причем выход генератора импульсов соединен с синхровходом триггера и подключен к синхровыходу блока, ин ,Формационный вход триггера соединен с выхацам первого элемента И, первый прямой вход которого соединен с прямым входом первого элемента ИЛИ, с синхровходом регистра и с инверсным 20 выходом триггера, прямой зьход которого соединен са стробирующим входом дешифратора, инФормационный вход которого соединен с первым вьходам регистра, второй выход которого сое 25 динен с информационньи входом счетчика, счетный вход которого соединенс выходом первого элемента ИЛИ,. инверсный вход которого, информационный вхоц и Вход чтения-ЗЯписи памя ти второй прямой вход первого элемента И и инверсный вход второго элемента ИЛИ объединены и подключены к входу загрузки программы бтюка, первый и второй инверснь:е входы первого гэлемента И подключень соответственно к первому и второму вхоцам признака режима блока, синхровход и выход счетчика соединены соответственно с выходом второго элемента ИЛИ и адрес ным входом памяти выход которой соединен с информационным входом регистра, третий, четвертый, пятый и шестой выходы которого являются соответственно седьмым, восьмым и девятым 45 управляющими и информацианньми выходами блока, выход третьего элемента ИЛИ подключен к первому управляющему выходу блока, первый выход де.шифратора подключен к второму управ ляющему выходу блока, третин управляющий выход которого подключен к выходу четвертого элемента ИЛИ и к первому входу второго элемента ИЛИ, второй вход которого подключен к вы ходу пятого элемента ИЛИ и к четвертому управляющему выходу блака 5 пятый управляющич выход которого под" ключен к выходу шестого элемента ИЛИ и к третьему входу второго элементаИЛИ, четвертый вход которого падключсн к выходу седьмого элемента ИЛИ ик шестому управляющему выходу блока, с второго по пятый выходы дешифратора подключены к первым входам соответственно с четвертого по седьмойэлементов ИЛИ, вторые входы которыхподключены к шестому выходу дешифратора, с седьмого по девятый выходы которого подключены соответственно к первому входу третьего элемента ИЛИ, прямому входу второго элемента И и к прямому входу третьего элемента И, инверсный вход которого подключен к третьему входу признака режимаблока, выходы второго и третьего элементов И подключены соответственно к второму и третьему входам третьего элемента ИЛИ.3. Процессор по п.1, а т л и ч а ю щ и й с я тем, что блок программного управления содержит счетчик,память, регистр, элемент И, триггер,цешифратор и три элемента ИЛИ, причеминформационный вход памяти, инверсный вход первого элемента ИЛИ, пераый прямой вход элемента И и вхоц записи-чтения памяти объединены и подключены к входу загрузки программы блока, второй прямой вход элеменга И соединен с прямым входом первогоблока элемента ИЛИ, с слнхравходом регистра и с инверсным выходам триггера, прямой выход которого соединен со стробирующим входом дешифратора, информационный вход которого соединен с первым выходом регистра, второй выход которого соединен с информационным вхоцом счетчика, выход которого соедипен с адресным входом памяти, выход которой соединен с информационным входом регистра, третий и четвертый выходы которого подключены соответственно к первому управлякщему и первому информационному выходам блока, пятый выход регистра и вьгход второго элемента ИЛИ объединены и подключены к второму управляющему выходу блока шестой выход регис.тра и выход третьего элемента ИЛИобъединены и подключены к второму информационному выходу блока, первый, второй и третий выходы дешифратора подключень соответственно к синхровходу счетчика, к первому входу второго элемента ИЛИ и к первому входу третьего элемента ИЛИ, вторые входывторого и третьего элементов ИЛИ под 23 1315939 24ключены к четвертому выходу дешифра- выходу элемента И и к синхровходу тора, пятый выход которого подключен блока, вход блокировки которого подк третьему управляющему выходу блока, ключен к инверсному входу элемента информационный вход и синхровход И, счетный вход счетчика соединен с триггера подключены соответственно к 5 выходом первого элемента ИЛИ.;ХО СоставительТехред Н, Глущенк анцо р Е. Ро едактор И. Шу Подписно аз 3 НИКТИ по 1130.Гир Государст елам изобр Москва, аж 672енного комитета СССРтений и открытийбуферной памяти, блок 2 программнойдиспетчеризации, блок 3 прагряммногауправления, блоки 4-7 обработки дян-.игх. НЯличие МОЦифьгдгиРОваннай стРЯничной адресации позволяет записатьмногократно используемые данные вблоки буферной памяти различных бло-.ков ОбрабОтки тЯким Обраэомг чта зявремя выполнения одной команды няуказанной процедуре одновременна по лучаютсл четыре промежуточных результата и исключается необходимость обмена,цанными непосредственно междуустройствами обработки данных, Кроме того, аппаратная реализация страничной адресации и наличие блоковбуферной памяти позволяют параллельно с обменом выполнять обработку данных и упростить программирование,2 з.п. Ф-ль: 12 ил.Изобретение относится; к вычислительной технике и может быть исгользавана ДЛЯ Об 17 яботки сигьгсг ггав с выСОКай ПРОИЗВОЦИТЕЛЬНОСТЬК) В ЧЯС ТИОСти, в геоФизике, особенно для выполнения таких времяемких процедур кякконвалюция, различного рс,ца Фильтраций, на которых возможна распараллеливание вычислений на нескольких усройствях обработки данных,Бель изобретения - уирагение па"раллельнога про гессара,На Фиг.1 рецстявленя .хема паролдельного процессгзря. ;Ня фиг.2ма формирователя яц 7 еся диспетчера;,на Фиг, г - схема блока управлениястоянкцягми; ня Фиг.4 - схема загрузки б гЬчых 03 у ня процедуре "КонвоЛЮЦИОЦНОЕ УМНагггЕНИЕ" г НЯ, гИГ, 7 - СХЕма устройства обработки,цянных; няФиг 6схема алака прОГ 17 яммноГО управления; на Фиг 7 - схема блока программной диспетчеризации" ня Фиг,8схема буферной памяти; ня фиг.9схема блока буферизации данных; наФиг.1.0 - схема счетчика.; ня Фиг.11схема коммутатора; на Фиг.12 - схемаалгоритма Функционирования парял: -лельногс процессора,Параллельный процессор содержитблок 1 буферизации данных, блок 2программной диспетчеризации, блок 3программного управления, четыре блока4-7 обработки данных, четыре блока8"11 буферной памяти, регистр 12страниц регистр 13 слов, блок 14 управления страницами, Формирователь15 адреса,циспетчера сдвигатель 16три элемента И 17-19 г сумматор 20,вторукг шину 21 ,цянных, и рвую шину гО 15 гО 25 3 О 35 4 О 22 данньгг вход 23 загрузки программдиспетчеризации, вход 24 загрузкипрограмм управления, первый 25 и второй 26 настроечные входы.Формирователь 15 адреса диспетчера(Фиг,6) содержит память 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, элементы ИЛИ 100-106, генератор 107 импульсов, вход 108 загрузки программ, первый 109, второй 110 и третий 111 входы признака режима, с первого по десятый 112-120 управляющие выходы,информационный выход 121 и синхравы-хац 122, 315989Каждый блок буферной памяти (фиг.8) содержит двухканальную память 123, четыре элемента НЕ 124- 127, первый 128 и второй 129 адресные входы, первый 130 и второй 131 входы обращения, вход 132 чтения-записи, первый 133 и второй 134 информационные входы-выходы.Блок 1 буферизации данных (Фиг.9) содержит двухканальный регистр 135, четыре элемента И 136-139, триггер 40, первый информационный вход-выход 141, второй информационный вход- выход 142, выход 143 признака незанятости, первый вход 144 чтения, выход 145 признака занятости, первый вход 146 записи, второй вход 147 чтения и второй вход 148 записи.Счетчики 56 и 57 (фиг,10) содержат три триггера 149-151 и дешиф ратор 152,коммутаторы 39-42 (фиг. 11) - пять элементов И 153-57 и дешифратор 158.Блок-схема алгоритма функциониро вания параллельного процессора (фиг.12) представлена в виде программ, выполняемьх в блоке 3 программного управления ( блоки 159-164 ) и в блоке 2 программной диспетчериза" 30 ции (блоки 165-176). Каждый блок 159- 176 представляет собой выполнение одной команды. Сплошные линии показывают направление выполнения программ, а пунктирные - связи синхронизации между программами. Над каждым блоком 159-176 показано содержимое регистров 76 и 93 блоков программного управления 3 и программной диспетчеризации 2. Причем каждое из шести полей регистров 76 и 93 отделены точками. В обозначении содержимого полей применены символы Х - безразлично, С-сложение, У - умножение, П - пересылка, В - выгрузка из уст ройства обработки данных. Например, над блоком 159 (Фиг.12) указано содержимое Х.1.0.0,П,4, которое обозначает, что первое поле безразлично, второе поле установлено в "1 , т.е. присутствует признак страничной адресации, пятое поле указывает на пересылку в блоках 4-7 обработки данных, шестое поле указывает, что с выхода дешифратора 78 сигнал поступает на 55 входы элементов ИЛИ 82 и 83, с выхода которых запрос передается в блоки 8- 11, а сигнал "Загрузить результат" в блоки 4-7 обработки данных. 4Все блоки буферной памяти имеютодинаковое распределение на страницы.Количество страниц и количество словв странице задается перед началом работы. Количество страниц может задаваться как 2", где= 1,2,3 ит.д., а количество слов в страницеможет задаваться как 2 , где ш = О,1, 2, 3 и т.д., причем объем Чблока буферной памяти должен позволять разместить заданное количествостраниц, для чего должно выполнятьсяусловие 77, 2 .При страничной адресации адресадля блоков буферной памяти представляют собой сумму базового адреса текущей страницы и номера слова в странице. Базовый адрес получается перемножением количества слов в страницена номер текущей страницы, а номерслова в странице выбирается из полякоманды блока программного управления или блока программной диспетчеризации, запрашивающей блок буфернойпамяти,Страничная адресация позволяет передать по одной команде одно данное,например, из блока буферизации данных в одноименные страницы всех блоков буферной памяти. Каждая страницапоследовательно проходит три состояния: обмен данными через шину 21под управлением блока программнойдиспетчеризации, обмен данными с блоками обработки данных под управлением блока программного управления,хранение данных, когда нет обращенияк данной странице, Формирователь адреса диспетчера позволяет формировать модифицированные страничные адреса для блоков буферной памяти приобмене данными между шиной 21 и блоками буферной памяти.Блок 2 программной диспетчеризации служит для реализации программыпередачи данных через шину 21.Регистр 12 страниц и регистр 13слов служат для хранения кодов ш ип, определяющих соответственно коли.чество страниц в блоке буферной памяти и количество слов в одной странице,.Блок 14 управления страницами служит для определения номеров в М иМ текущих страниц, преднаэначенйыхсоответственно для блока программнойдиспетчеризации и блока программногоуправления, Кроме того, блок страницформирует признаки занятой страницы.131Счетчики 56 и 57 служат для форми 1 ювания номеров текущих страниц, скоторыми работает блок 2 праграммночдиспетчеризации и блок 3 программного управления, Количество рабочихмладших разрядов счетчиков ограничивается количеством страниц, ,поступающим с выхаца регистра 12 страниц,При выполнении команд "Сменить стра-.ницу" блоком 2 программной диспетчеризации или блоком 3 программного управления управляющие сигналы "Сменить страницу" поступают на счетныевходы соответственно счетчиков 56 и57 и увеличивают их содержимое наединицу,Триггеры 59 и 60 предназначены дляопределения признака занятости стоаниц, к которым обращаются блок 2 программной диспетчеризации и блок праграммнага управления, блокируя приэтом работу тога иэ указанных блоков2 и 3, который обратился к занятойдругими блоками странице, т,е, приравенстве содержимых счетчиков 56 и57.При обращении блоков 2 и 3 к разным страницам, т.е. в случае, когдасодержимое счетчиков 56 и 57 неравна,схема 58 сравнения вырабатывает сиг"нал., устанавливающий триггеры 59 и60 в состояние незанятости страниц,обеспечивая параллельную передачу запросов блока 2 программной диспетчеризации и блока 3 программного управления в блоки 8-11 буФерной памяти,Бпак 14 управления страницами работает следующим образом.11 ри выполнении команды "Сменитьстраницу" блоком 2 программной диспетчеризации управляющий сигнал Сменитьстраницу" по связи 61 поступает насчетный вход счетчика 56, увеличиваяего содержимое на единицу, и на входтриггера 59, устанавливая его в состояние "1" (занята страница), Еслисоцержимое счетчиков 56 и 57 окажется равным, т.е. блок 2 программнойдиспетчеризации запрещает страницу,которая еще занята блоком 3 программного управления, та триггер 59 останется в состоянии 1". При этом паиэ -нак занятой страницы с выхода тригг: -ра 59 поступает в блок 2 программнойдиспетчеризации, блокируя рабату последнего, Триггер 59 сбрасывается всостояние О (незанята. страница)кагц блок 3 паогр."минаа ;чоавле 1 лния вдалняет коман)тумерить с р )5989 6ницу". Управляющий сигнал "С" .нитьстраницу" по связи 63 поступь- насчетный вход счетчика 57 и увеличивает ега содержимое на единицу, схема58 сравнения обнаруживает неравенство содержимых счетчиков 56 и 57 иформирует сигнал сброса триггера 59.Отсутствие признака занятой страницына выходе триггера 59 позволяет про далжить рабату блоку программной,диспетчеризации, Аналогично работаютсчетчик 57 и триггер 60.Сдвигатель б и сумматор 20 служатдля Формирования адреса А для блоковбуферной памяти при обмене с блоками обработки данных. Адрес А можетформироваться двумя видами адресации,прямым и страничным, в соответствиис выражениями20 А=а, (1)А=И 2"+ (2)где а - адресная часть команды бло 3ка программного управления,причем в выражении 1) - этополный адрес для блока буФерной памяти, а в выражении (2) - адрес слова встранице,30 В режиме страничной адресациибазовый адрес М 2 текущей страницыуправления формируется сдвигателем16, где текущий номер страницы управления, поступающий с выхода 66 бло 35 ка 14, сдвигается в старшую часть начисло разрядов, равное количествуслов в странице, поступающему с выхода регистра 13 слов,40 В режиме прямой адресации сумматор20 пропускает адресную часть а) команды блока. 3 программного управления на выход, с которого адрес А поступает во все блоки буферной памяти.45 В режиме страничной адресации сумматор 20 суммирует базовый адрес текущей страницы и адрес слова в странице всоответствии с выражением (2 ).Блокировка одного входа сумматора 50 20 в режиме прямой адресации осуществляется признакам страничной адресации, поступающим по связи 87 иэблока 3 программного управления,Формирователь 15 адреса диспетче.;5 ра слулжт для Формирования адресовА, и признаков отрицательной разности при обмене данными с шиной 21, используя при этом три вида адресации:прямую, страничную и модифицированнуюстраничную в соответствии с выражением аь 1 (3) М,2 +аЬ, (4) Мь 2 + ар - е 2 (5) Ае =АеАе = Сумматор 31 формирует величину3 2 количества слов в трех страниццах, суммируя величины 2 щ и 2 2 ,Сумматоры 32-35 служат для суммирования разности и базового адреса Я 2в соответствии с выражением (5). Привычислении адреса в вычитателях 3638 могут быть переполнения в старшиеразряды адресов, которые не выходят вобласть страничного распределения адресов буферов, Для обнуления этихстарших разрядов адреса служат коммутаторы 39-42. Число разрядов адреса .и + ш, отведенное под страничнуюадресацию, определяет сумматор 30.С выходов коммутаторов 39-42 адресаАр, А, А, А поступают соответственно в блоки 8-11,Для вычисления модифицированногостраничного адреса в соответствии свыражением (5) с выхода 119 блока 2 где а - адресная часть команды блоЬка 2 программной диспетчеризации; 10адрес блока буферной памяти,принимает значения О, 1, 2,3 соответственно для блоков 8-11.Базовыйадрес М 2 текущей страПницы диспетчеризации формируется,всдвигателе 28, где текущий номерстраницы М диспетчеризации, поступающий с выхода 65 блока 14, сдвигается в старшую часть на число разрядов, 20равное количеству ш слов в странице,поступающему с выхода регистра 13слов.Вычитатели 36-38 предназначеныдля вычисления разности а ь - е 2 в 25соответствии с выражением (5). Наодин из входов вычитателей поступаетадрес аь, а на другие входы - смещение е 2, Для блоков 8-11 смещениесоответственно равно 0,2 , 2 2, 303 2Дешифратор 27 определяет количество слов 2 в одной странице. Величина количества слов в двух страницах 2 2 получается сдвигом в сдвигателе 29 величины 2" на один разрядв сторону старших разрядов,программной диспетчеризации признак модифицированной страничной адресации поступает на управляющие входы ЕА вычитателей 36-38, разрешая этим прохождение величин 2", 2 2 , 3 2 на входы А. Аналогично с выхода 120 блока 2 программной диспетчеризации признак страничной адресации поступает на управляющие входы ЕА сумматоров 32-35, разрешая этим прохождение величины Мр 2 на входы А.Для вычисления страничного адреса в соответствии с выражением (4) признак модифицированной страничной адресации на выходе 119 отсутствует, вычитатели 36-38 выполняют функцию пропускания адресной ар части команды на выход.Для вычисления прямого адреса в соответствии с выражением (3) признаки модифицированной страничной адресации на выходе 119 и страничной адресации на выходе 120 отсутствуют, вычитатели 36-38 и сумматоры 32-35 выполняют функцию пропускания адресной а ь части команды без искажения,Элементы И 17-19 служат для блокировки запросов блоков 8-11 с цельюпредотвращения эапирания полезнойинформации, когда разность а Ь - е 2 , вычисляемая вычитателями 36-38, оказывается отрицательной. Для этого вычитатели 36-38 с выходов знака передают признаки отрицательной разности на входы элементов И 17-19, которые блокируют передачу запросов блоков 8-11. Если на входах элементов И 1719 отсутствуют признаки отрицательной разности, запросы с их выходов поступают в блоки 8-11. Параллельный процессор функционирует следующим образом. Программы блока 2 программной диспетчеризации и блока 3 программного управления пишутся на алгоритмическом языке и транслируются на язык загрузки, Перед выполнением задачи (процедуры) рабочие программы загружаются в память программ блока 3 программного управления через вход 24 и блока 2 программной диспетчеризации через вход 23, оцновременно загружаются коды и и ш в регистр 12 страниц и регистр 13 слов.Кроме того, перед решением задачи счетчики 56 и 57 блока 14 обнуляются, подготавливая работу с нулевыми страницами блоков 8-11. Триггер 59 уста 315989 1 Онавливастся в состояние "0" незанята страница ), ,с ьыхода 64 признак незанятой страницы передается в блок 2 программной диспетчеризации, разрешая тем самым выполнение программы последнего, Триггер 60 устанавливается в состояние 1 (занята страница)с выхода 67 признак занятой страницы передается в блок 3 программного управления, блокируя выполнение прог раммы последнегоДля решения задачи на входы 23 и 24 блоков программной диспетчеризации 2 и программного управления 3 поступают сигналы "Разрешить работу".15Программа блока 2 программной диспетчеризации начинает загружать входные операнды из блока 1 в блоки 8-11,. Для этого адресная часть а команды с выхода 121 блока. 2 программной диспетчеризации поступает в формирователь 15 ацреса диспетчера в .а входы вычитателей 36-38 и вход сумматора 32 далее на сумматоры 33-35 и коммутаторы 39-42 с целью формирования ад ресов для блоков 8-11: С выходов 19 и 120 блока 2 программной диспетчеризации признаки модифицированной стра- ничной адресации и страничной адресации поступают Б формирователь 15 ад" 30 реса диспетчера на входы вычитателей 36-38 и сумматорв 32-35 для переключения режимов адресациивыражения (3 ), ;4 1 и 1,5 Ц, указанных в команде блока 2 программной диспетчеризации, С выходов 114-117 блска 2 программной диспетчеризации запросы через элементы И 17 - 19 поступают в блоки 8-11 для осуществления записи входных операндов в нулевые страницы, С выхода 118 блока 2 программной диспетчеризации признак записи-чтения поступает в блоки 8-11 и 1, причем блоки 8-11 выполняют запись с шины 21, а блок 1 - чтение операндов на 45 шину 21.После загрузки нулевых страниц блок программной диспетчеризации выполняет команду "Сменить страницу", в этом случае с выхода 113 сигнал "Сменить страницу поступает в блок 14 на счетныи вход счетчика 56 и устанавливает, его в состояние первой страницы. Счетчик 57 по-прежнему ус. тановлен в состояние нулевой страниць, псэтому элемент 58 сравнения дает сигнал сброса триггеров 59 и 60состояние "О" незанята страница), Блок 2 программной диспетчеризации начинает загрузку первой стра"ицыи т.д. Блок 3 программного уноавления разблокировывается и начинает выполнять программу обработки данных впулевых страницах. При этом управляющие сигнапы с выхода блока 3 программного управления поступают в блоки 4-7 обработки данных и блоки 8-11,С выхода 90 блока 3 программного управления адресная часть а командыпоступает на сумматор 20, с выходакоторого адрес поступает в блоки 811, С выхода 87 блока 3 программного управления признак страничной адресации поступает на стробирующийвход сумматора 20 для переключениярежимов адресации выражения Г 1) и(2 Ц, укаэанных в команде блока 3программного управления. С выхода 88блока 3 программного управления запрос и признак чтения поступают на соответствующие входы блоков 8-11. Блоки 8-11 осуществляют чтение операндовиз нулевых страниц и передают по связям 133 в блоки 4-7 обработки данныхдля обработки. Одновременно код вычислительной команды поступает в блоки 4-7 обработки данных с выхода 91блока 3 программного управления. Результаты обработки возвращаются в нулевые страницы, после чегоблок 3программного управления выполняеткоманду "Сменить страницу". На выходе 89 блока программного управлениясигнал "Сменить страницу" поступаетна счетный вход счетчика 57, которыйустанавливается в состояние первойстраницы, и, если она уже загруженаблоком 2 программной диспетчеризации,начинается обработка первой страницы.Через вход-выход 22 поступают входные операнды и возвращаются результаты обработки, С выхода 144 и входа109 блока программной диспетчеризацииосуществляется запрос блока 1 для обмена с шиной 21. С выхода 122 блока2 программной дипетчеризации осуществляется диспетчеризация работы блока 3 программного управления. Пример загрузки буферных ОЗУ на процедуре Конволюпионное умножение" показан на фиг.2 и 4, В блоках 8-11 задается восемь страниц по два слова в каждой странице, причем входной операнд Е загружается понулево-. му адресу в странице, а Х - по первому,11 1315989Блок 2 программной диспетчериза- еции осуществляет первую загрузку ну- рлевой страницы в следующей последовательности. зВыполняются четыре команды загруз еки Х, Х 2, Х и Х одновременно вонвсе блоки 8-11 в режиме модифициро- ованной страничной адресации, при этом уадреса ав задаются соответственно 1, с.3, 5, 7. Получаем, что Х загружает рся только в нулевую страницу блока с8, а, например, Х- в блоки 9-11исоответственно в страницы 3, 2, лЗатем выпопняется команды загрузкиоперанда одновременно во все блоки 15 ф8-11 в режиме страничной адресации,при этом адрес а равен нулю. После оэтого нулевая страница сменяется и Ппередается на обработку,Первая страница загружается двумя 20командами блока 2 программной диспет- бчериэации, Первая команда загружает лХ в режиме модифицированной странич- - иной адресации с адресом ав, равнымк7, а вторая команда загружает Е, 25 гЗагрузка последующих страниц анало- сгична загрузке первой страницы, Пос- уле такой .загрузки входные данные Хи Е собраны парами, готовыми для оперемножения и подсуммирования. м 12 Блок 3 программного управления пересылает данные из блоков 8-11 в блоки 4-7 обработки данных в режиме страничной адресации. Промежуточные результаты подсуммирования У, У35 Т и 1 хранятся в области с прямой адресацией по адресу "16" в блоках 8-11.Блок 4 обработки данных функционирует следующим образом.Если необходима обработка данных в блоке 4 обработки данных, блок 3 программного управления с выхода 91 передает код вычислительной команды на управляющие входы арифметико-логического узла 69, селектора 70 и узла 72. Например, необходимо выполнить вычисления ЕХ+7, Первый операнд Е выгружается из блока 8 и по связи 133 поступает на вход В арифметика-логического узла 69, который выполняет команду пропускания операнда на выход, селектор 70 пропускает операнд Е на вход регистра 71. По сигналу "Загрузить результат", поступающему с выхода блока 3 программного управления, операнд Е записывается в ре" гистр 71, Умножение Е Х осуществлятся на умножптеле 68, причем опеанд Е поступает с выхода регистра1, а операнд Х - из блока 8 по свяи 133. Результат умножения записыватся в регистр 1, Аналогично выполяется суммирование произведения сперандом У на арифметико-логическомзле 69. Результат суммирования запиывается в регистр 71. Для передачиеэультата вычислений с выхода регитра 71 в блок 8 команда передачиоступает на управляющий вход Е уэа 2.Блок 3 программного управленияункционирует следующим образом.Вначале память 75 загружается небходимыми для работы программами.осле загрузки программы в память 75четчик 77 сбрасывается в состояние0, поступает сигнал "Разрешить раоту БПУ" на вход элемента И 80, Еси на выходе 67 блока 14 отсутствуетризнак занятой страницы для обработи, элемент И 80 разблокирует тригер 79, с выхода которого тактовыеигналы Т 1, Т 2 начинают поступать назлы блока 3 программного управпения.По каждому тактовому сигналу Т 2существляется загрузка очередной коанды в регистр 76, а также приращение на единицу адреса команд в счетчике 77. По этому адресу иэ памяти 75 вЪбирается следующая команда. Во время прохождения тактового сигнала Т 1 осуществляется исполнение текущих команд, загруженных в регистр 76.1Разряды регистра 76 распределены на шесть полей,Первое поле - адрес перехода передается в счетчик 77 для осуществления перехода по адресам программы. Второе поле - признак страничной адресации передается на стробирующий вход сумматора 20 и служит для переключения сумматора 20 с прямой адресации на страничную в соответствии с выражениями (1) и (2). Третье поле - адресная часть акоманды передается на вход сумматора 20 и служит для указания адреса в блоках 8-11. Четвертое поле - признак записи-чтения передается в блоки 8-11. При наличии этого признака блоки 8-11 осуществляют запись информации, передаваемой из блоков 4-7 обработки данных, а при отсутствии признака осуществляет" ся чтение. Пятое поле - код вычислительной команды передается в блоки134-7 обработки данных для перестройки устройства на требуемое вычисление Шестое поле - код команды передается надешифратор 78 для дешифрирования пяти команд блока 3 программного управления.Блок 2 программной диспетчеризации Функционирует следующим образом.Вначале память 92 загружается необкодимьми для работы программами. После загрузки памяти 92 счетчик 94 сбрасывается в состояние "0". Поступает сигнал "Разрешить работу БПД" на вход элемента И 97. Если на вьходе 64 блока 14 отсутствует признак занятой страницы,цля обмена с шиной 21 и из блока 1 па сняэи 109 не поступает признак закрытого регистра, то элемент И 97 разблокирует триггер 96 с выхода которого тактовые сигналы Т и Т 2 начинают поступать на узлы блока 2 программной диспетчеризации, По каждому тактовому сигналу Т 2 осуществляется загрузка очередной команды в регистр 93, а также приращение на единицу адреса н счетчике 94, По этому адресу иэ памяти 92 выбирается следующая команца. Во время прохождения тактового сигнала Т 1 осуществляется исполнение текущих команд, загруженных в реги тр 93.Раэряды регистра 93 распределены на шесть полей.Первое поле - адрес перехода передается н счетчик 94 для осуществления перехода по адресам программы. Второе пале - признак записичтения передается в блоки 8-11 и олок 1.При наличии этого признака блоки 8- 11 осуществляют записьинформации, передаваемой иэ блаха 1 через шину 21, при отсутствии признака осущестнляе.ся чтение. Третье поле - адресная часть команды передается в формирователь 15 адреса диспетчера на вычитатели 36-38 и сумматор 32 и служит для указания адреса н блоках 8-11. Четвертое поле - признак страничной модифицированной адресации передается в Формирователь 15 адреса диспетчера на страбирующие входы вычитателей 36.- 38 и служит для переключения вычитателей 36-38 на режим страничной модифицированной адресации, Пятое поле- признак страничной адресации передается н Формирователь 15 адреса диспетчера на сумматоры 32-35 и служит для переключения на режим страничной адресации, Шестое поле - кад оманды передается на дешифратор 9 длядешиФрирования девятикоманд блока 2программной диспетчеризации. Еслитактовый сигнал Т 1 поступит на стробирующий вход дешифратора 95, с выходов последнего сигналы поступают нсоответствующие узлы для исполнения.Элементы ИЛИ 101-104 служат для О Формирования запросов для блоков 811. Если присутствует хотя бы одинзапрос, элемент ИЛИ 105 формируетзапрос для блока 1. Элемент И 98 служит для выполнения перехода по отсут ствию признака окончания массива,Элемент И 99 служит для осуществленияперехода занятой страницы для обработки. Укаэанный признак поступает свыхода 67 блока 14. Этот переход ин Формирует алак программной диспетчериэации о том, чта закончена обработка н блоках 4-7 обработки данных.Блок буферной памяти Функционируетследующим образам.25Если необходимо записать операндс шины 21 по нходу ВВ памяти 123 сныхода 49 формирователя 15 адресадиспетчера на вход АВ памяти 123 по,цается адрес с выхода 118 блока 2программной диспетчеризации черезэлемент НЕ 126, признак записи поступает на вход ЫВ памяти 123, С выхода114 блока 2 программной диспетчеризации через элемент НЕ 127 запрос по дается на нхад ЕСВ памяти, Если необходимо чтение, то на вход РВ памяти123 подается признак чтения, Аналогично выполняется запись или чтениепо входу-вьгкоду 133 памяти 23.40 Блок 1 буферизации данных функционирует следующим образом.Триггер 140 сбрасывается в состояние 0 , Е сли необходимо записатьоперанд с входа 2 2 в регистр 1 35 и 15 передать на шину 21, на вход ПА регистра 135 поступает операнд признакзаписи, запрос, с выхода элемента И136 строб записи поступает в регистр50135,по которомуосуществляется записьоперанда впоследний.Одновременно запрос поступает на вход триггера 140 иустанавливает его и состояние "1",С выхода триггера 140 признак занятости поступает на выход 145, запрещая . передачу следующего операнда. С инверсного выхода триггера 140 признак незанятого регисгра поступает па связи 143 в блок программной дис 15 131598 петчеризации, который начинает выгружать операнд на шину 21. Для этого с выходов 118 и 112 блока 2 программной диспетчеризации поступает соответственно признак записи-чтения и запрос блока приема информации. С выхода элемента И 139 строб чтения поступает на вход РА регистра 135, считанный операнд передается на шину 2, Триггер 40 устанавливается в со О стояние "0", разрешая тем самым загрузку операнда с входа 22.Лля примера загрузки блоков 8-11 по процедуре "Конволюционное умножение" (фиг.4) требуется восемь стра ниц 2" = 8, где и = 3(11), по два слова в каждой странице 2 = 2, где ш = 1(01) , Тогда п + т = 3+1 - 4(100) . На выходе дешифратора 158 формируется код 2 " = 2 16(00000), 20 Сигнал с соответствующего выхода дешифратора 158 запрещает прохождение старшего разряда адреса через элемент. И 157, так как восемь страниц по два слова занимают 16 слов в блоке 8. Старший разряд адреса, который может возникнуть в результате переполнения в сумматоре 32, блокируется элементом И 157.Перед выполнением процедуры "Кон волюционное умножение" блок 2 про-. граммной диспетчеризации и блок 3 программного управления загружаются программами. Одновременно загружаются коды и и п 1 в регистр 12 страниц.и 35 регистр 13 слов. Код т в данном случае равен 3, что соответствует восьми страницам, а код и равен 1, что соответствует двум словам в каждой странице (фиг,4). 40Блок 159 - команда "Выгрузить 2".С выхода 90 адресная часть команды, равная нулю, и с выхода 87 признак страничной адресации передаются на сумматор 20, с выхода когоро го адрес, равный нулю, передается в блоки 8-11. С выхода регистра 76 признак чтения и с выхода элемента И 82 запрос поступают в блоки 8-11 ОЗУ, с выходов которых операнды Е пере даются на входы арифметико-логических узлов 69 блоков 4-7 обработки данных, С выхода регистра 76 код вычислительной команды поступает на входы узла 69 и селектора 70 и пере ключает их на пересылку операнда Е, С выхода элемента ИЛИ 83 сигнал "Загрузить результат" поступает на управляющий вход регистра 71 блоков 9 64-7 обработки данных, где операндызаписываются. Блок 3 программногоуправления переходит к выполнениюследующей команды,Блок 160 - команда "Умножить2 Г.Выполняется аналогично блоку 159за исключением того, что адреснаячасть а команды на выходе 90 равна единице для выбора операнда Х, аумножители 68 выполняют операциюумножения операндов Х, поступающихиз блоков 8-1, на операнды Е, храняющиеся в регистрах 71. Результатыумножения Р помещаются в регистры 71.Блок 161 - команда "Сложить Р+У",Выполняется аналогично блокч 160за исключением того, что адресная часть а равна 16, признак страничной адресации отсутствует, т.е. адресация прямая, арифметико-логические узлы 69 выполняют операции сложения,Блок 162 - команда "Загрузить У".По этой команде результаты обработки из регистров 71 поступают на хранение в блоки 8-1 по адресу, равном "16".Блок 163 - команда "Сменить страницуС выхода 89 дешифратора 78 сигнал "Сменить страницу" поступает в блок 14 на счетный вход счетчика 56, увеличивается содержимое счетчика 57 на единицу, т.е. переходит с нулевой страницы на первую. Если содержимое счетчиков 56 и 57 равно, триггер 60 устанавливается в состояние занятой страницы для обработки. С выхода 67 признак занятой страницы поступает в блок 3 программного управления и блокирует его работу. Если на выходе триггера 60 отсутствует признак занятой страницы, блок 3 программного управления может продолжить свою работу по программе.Блок 64 - команда "Переход".С выхода дешифратора 78 сигнал перехода поступает на вход установки адреса в счетчик 77 команд, Адрес перехода передается с выхода регистра 76 на вход счетчика 77.Блок 165 - команда "Загрузить Х"С выхода 121 блока 2 программной диспетчеризации адресная часть ай, равная единице, поступает на вычитатели 36-38, сумматор 32.С выхода 120 признак страничной адресации передается на сумматоры 32-35, а с выхода 119 признак стра
СмотретьЗаявка
3995429, 23.12.1985
КРАСНОДАРСКОЕ СПЕЦИАЛЬНОЕ КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКОЕ БЮРО СЕЙСМОРАЗВЕДОЧНОЙ ЭЛЕКТРОННОЙ ТЕХНИКИ
САЛИЙ ВИКТОР ФЕДОРОВИЧ, ШНЕЕР МИХАИЛ ГРИГОРЬЕВИЧ, ВЕРЕМКО ЭРЛЕНА НИКОЛАЕВНА, КЛЕБАНОВА АННА САМУИЛОВНА
МПК / Метки
МПК: G06F 15/00
Метки: параллельный, процессор
Опубликовано: 07.06.1987
Код ссылки
<a href="https://patents.su/18-1315989-parallelnyjj-processor.html" target="_blank" rel="follow" title="База патентов СССР">Параллельный процессор</a>
Предыдущий патент: Устройство для сопряжения эвм с внешним устройством
Следующий патент: Устройство связи для вычислительной системы
Случайный патент: Способ сенсибилизации негативной бромйодсеребряной фотографической эмульсии