Потоковый параллельный процессор Советский патент 1991 года по МПК G06F15/00 

Описание патента на изобретение SU1691845A1

мутаторы 12 и 13, узел 14 управления, узлы 15 и 16 памяти, второй регистр 17 и с первого по третий триггеры 18-20.

Функциональная схема узла 16 памяти представлена на фиг. 3. Он содержит т-раз- рядный регистр 21, элементы И 22.1-22.m и запоминающие блоки 23.1-23.т.

Кроме того, на фиг. 1-3 обозначены: ИНФ1.ИНФ2, ИНФЗ-с первого по третий информационные выходы блока обработки команд; ИНФО, ИНФЗи - первый и второй информационные входы блока обработки команд; ПР|, ПН| - первый и второй признаки режима прерывания; ГД| РЕП, ПОБР| - с первого по третий признаки сопровождения информации; УПРО| - вход кода операции блока обработки команд; A1i, A2i, , MAi - первый, второй, третий и с четвертого по (Н+4)-й разряды входа кода операции блока обработки команд; ВУ - выход режима векторной операции блока обработки команд; УПР - вход режима векторной операции блока обработки команд; HBi, KBi, Б Л| - с первого по третий разряды .выхода признака векторной операции; HBi-НВк, KBi-КВк, Б/И-БЛк - с первого по ЗК-й разряды входа признака векторной операции; Пвект, ПЬИ-ПНн, ПК1-ПКн+з с первого по (2Н+5)-й разряды выхода второго узла памяти.

Устройство работает следующим образом.

Программа для процессора представляется в виде направленного графа. В узлах графа находятся команды, а дуги указывают направления, по которым передаются данные в виде группового пакета результата, ЗМ разрядов которого формируется в блоке 1 как результат выполнения операции и содержат М-разрядный пакет данных и два М-разрядных пакета адреса (табл. 1). Первый разряд каждого пакета является признаком наличия в нем информации (ПН 1) либо указывает на ее отсутствие (ПН О), в пакете адреса содержится признак активизации(ПЗП) команды. Если ПЗП Г, то по этому адресу производится запись М- разрядного пакета данных. Если ПЗП О, то по этому адресу считывается m М-разряд- ная команда, которая содержит М-разрядный пакет операции и (т-1) М-разрядных пакетов данных, Пакет команды и групповой пакет результата на выходе блока памяти объединяются в (т+3)-М-разрядный групповой пакет данных (табл. 2). Пакет кода операции содержит признаки участия соответствующих пакетов в операции ПК-|ПКт+З.

В качестве блока 1 обработки может быть использован, например, процессор с

шиной данных большой разрядности (в частности, изделие 5Э66, Фг 1,700.000). В каждом такте работы блок 1 принимает данные и код операции и на выходе формирует результат выполнения операции в виде группового пакета результата. Выходная шина данных блока 1 соединена с входами всех блоков 2. На управляющих выходах блока 1 формируются сигналы, которые управляют

приемом информации в блоки 2. В каждом такте сигналы ГОТ-гГОТк разрешают прием информации в соответствующие блоки памяти, а сигналы А11-А1к и A2i-A2« указывают, какой из двух адресов группового

пакета результата используется для обращения в соответствующем блоке 2, сигналы маски (МА) обеспечивают запись М разрядов в строку памяти на соответствующие места и считывание полной т-М-разрядной

строки. В каждом такте работы блок 1 обрабатывает до (2+т) М-разрядных операндов, формируя при этом М-разрядный результат и до двух М-разрядных адресов; такую операцию считают скалярной. Если в операции

участвуют больше операндов, то такую операцию считают векторной, Она размещается в нескольких блоках 2 (табл. 3) и обрабатывается, соответственно, за большее количество тактов блока 1.

В каждом такте производится прием информации ЗМ-разрядного группового пакета результата и управляющих сигналов A1j и А2| в 2|-й блок обработки команд по сигналу ГОТ|. Так как такт работы блока 2 дольше

такта работы блока 1, то информация накапливается в (ЗМ+2)-разрядном узле памяти. В каждом такте работы блока 2 на выходе ИНФ1 формируется групповой пакет дан- ных для передачи в блок 1 по управляющему

сигналу ГД( 1.

В момент т могут выдавать данные в блок 1 1-й (1+К/2)-й блоки 2. При этом блок 2 с меньшим номером считывается приоритетным, поэтому формируются сигналы ГД|

1 и ГДн-к/2 О, по которым 1-й блок 2 передает групповой пакет данных в блок 1, а в блоке 2{i+K/2) запрос на передачу данных в блок 1 запоминается в виде группового пакета результата в узле 15.

В процессоре одновременно могут обрабатываться разные ветви программы. Для синхронизации их обработки и исключения потери информации при формировании команды проверяется соответствие признаков ПК1-ПКт в пакете операции и признаков в пакетах операции и данных. Если окажется, что в команде нет всех данных для выполнения операции, то формируется сигнал ГД| О и запрос в виде группового

пакета результата заносится в узел 15, количество занятых ячеек узла 15 контролируется в счетчике 9. Если в узле 15 нет информации, то запрещается чтение из узла памяти. Если узел 15 заполнен, то формируется признак БЛi 1, который запрещает передачу данных в блок 1 для всех блоков 2, кроме 1-го. Это позволяет не допустить переполнения узла 15с потерей информации и способствует последовательному перебору запросов из очереди в узле 15. Запросы, для которых нет еще всех данных, возвращаются в конец очереди, Если команда передается в блок 1 для обработки, то запрос исключается из очереди и освобождает ячейку узла 15, при этом устанавливается БЛ| О.

Если из узла 16 считана команда с признаком Начало вектора, Пвект 01, то ее передача в блок 1 задерживается на один такт работы блока 2.I. При этом групповой пакет данных запоминается в регистре 17, а адрес, по которому он был считан, заносится в счетчик 8 и передается в (1+1)-й блок 2. Если векторная команда содержит больше компонентов, чем блоков 2. то запрос на считывание данных, последовательно обойдя блоки памяти, возвращается в 1-й блок памяти, при этом адрес, содержащийся в счетчике 8, увеличивается на единицу.

При выполнении векторной команды для всех блоков 2 разрешается запись результата с выходов блока 1 в узле памяти. Если групповой пакет результата на выходах блока 1 содержит признак чтения из узла памяти, то он запоминается в узле па- мяти, чтобы исключить передачу в блок 1 новой команды до тех пор, пока не будут обработаны все компоненты векторной команды. Триггеры 18-20 необходимы для сохранения управляющих сигналов на всем протяжении такта работы узла памяти.

Узел 15 представляет собой (ЗМ+2)-раз- рядное запоминающее устройство, содержащее (8 ячеек. Число /3 примерно равно максимальному числу одновременно выпол- няемых ветвей программ.

(т.М)-разрядное ЗУ обеспечивает запись М разрядов в соответствии с маской (МА), которая содержит одну единицу, и считывание полной (т.М)-разрядной строки, при этом все разряды маски (МА) равны 1.

Узел управления обеспечивает формирование в каждом такте управляющих сиг- налов в соответствии с формулами:

БЛ| (Сч4 к+1 Сч41 л Сч42 л ... л Сч№ л Сч4к+1 г, где К

( 1 при (Пвект 11) Г,

KBi- j

ГО иначе

ПН| - (ПК1 л ПК1Х„ л JJHm v пКщ);

f Г при г(ПНГ НВи1/2лПБЛГ Т:),

нвЦ

О при r(..XKBn), где ПБЛ| (... БЛ|-1 БЛ|-ц /..

приг(Т|л ПОВТг НВ| л ПБ/Ь);

О при т( тГ ПР) Т при г( п ); РЕП

ГЛРЕП ГД| ( т л «00 л ПН| ПН|-п/2 л ПР|-п/2 л ПЕЛ,);

ЗП Г (ГОТ л Г) МГД( л ПОВТ| л

ПБЛ|);

гдеПОВТ| ГГприг(т ЛПОВТ|ЛНВ|ЛПБЛ|);

О при ГлПОВТ ЧТ Т( Г л ЗП л Сч Сч42Ч.ЛСч4к+1):

YI r(roTi1 D;

Y2 Т(ГД|ЛПОВТ|Л ту): УЗ 1кГприт1ПвеКт 01 лНВ ПОБР|.1);

ГО при Г ПОБР| Y4 т(ПВект 01 лНВО; Y5 Г(НВ л ПОБРн);

Y6 HB|;

Y7 г(НВ л ПОБРы);

Y8 nOBT|

Y9 Т;ЛГОТ(;

ПОБР| Y5.

На фиг. 4 представлены временные диаграммы синхронизирующих сигналов. Длительность такта работы блока 1 обозначена г(блока 2 - Т.

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

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

третий входы синхронизации которого соединены соответственно с вторым и третьим входами синхронизации процессора, отличающийся тем, что, с целью увеличения быстродействия при выполнении векторных операций, он дополнительно содержит с второго по К/2-й коммутаторы, где К (2.Т)/ г; Т - длительность такта работы блока команд; г - длительность такта работы блока обработки, с второго по К-й блоки обработки команд, причем информационный выход блока обработки соединен с первыми информационными входами с второго по К-й блоков обработки команд, первый и второй информационные выходы с второго по К/2-й блоков обработки команд соединены соответственно с первым и вторым информационными входами с второго по К/2-й коммутаторов, выходы которых соединены соответственно с второго по К/2-й информационными входами блока обработки, первый и второй информационные выходы с (К/2+1)-го по К-й блоков обработки команд соединены соответственно с третьим и четвертым информационными входами с первого по К/2-й коммутаторов, первый и второй выходы признаков сопровождения информации с второго по К/2-й блоков обработки команд соединены соответственно с первым и вторым управляющими входами с второго по К/2-й коммутаторов, первый и второй входы признаков сопровождения информации с (К/2+1)-го по К-й блоков обработки команд соединены соответственно с третьим и четвертым управляющими входами с первого по К/2-й коммутаторов, третий информационный выход и третий выход признака сопровождения информации с первого по К-й блоков обработки команд соединены соответственно с вторым информационным входом и входом признака сопровождения информации с второго по К-й и с первым блоком обработки команд, выходы первого и второго признаков режима прерывания с первого по К/2-й блоков обработки команд соединены соответственно с первым и вторым входами признаков режима прерывания с (К/2+1)-го по К-й блоков обработки команд, с первого по третий выходы признаков режима векторной операции с первого по К-й блоков обработки команд соединены соответственно с первого по ЗК-й входами признаков режима векторной операции с первого по К-й блоков обработки команд, с второго по К-й выходы кода операции блока обработки соединены соответственно с входами кода операции с второго ло К-й блоков обработки команд, первый вход синхронизации процессора соединен с первыми входами синхронизации с второго по К-й блоков обработки команд, вторые и третьи входы синхронизации с второго по К/2-й блоков обработки команд соединены соответственно с четвертого по (К+1)-й входами синхронизации процессора, с второго по (К+1)-й входы синхронизации которого соединены соответственно с вторым и третьим входами синхронизации с

0 (К/2+1)-го по К-й блоков обработки команд. 2. Процессор по п. 1,отличающий с я тем, что блок обработки команд содержит первый и второй узлы памяти, с первого по пятый коммутаторы, с первого по четвер5 тый счетчики, первый и второй регистры, с первого по третий триггеры, узел управления, причем первый информационный вход и первый и второй разряды входа кода операции блока соединены с первыми инфор0 мационными входами первого и второго коммутаторов, выход первого коммутатора соединен с информационным входом первого узла памяти, информационные выходы первого и второго счетчиков соединены со5 ответственно с первым и вторым информационными входами третьего коммутатора, выход которого соединен с входом адреса первого узла памяти, выход которого соединен с вторым информационным входом вто0 рого коммутатора, выход которого соединен с информационным входом первого регистра, выход которого соединен с вторым информационным входом первого коммутатора, с первого по А-и разряды вы5 хода первого регистра соединены соответственно с первого по А-й разрядами информационного входа второго регистра и первого информационного выхода блока (где А- количество разрядов группового па0 кета результата, А ЗМ; М - количество разрядов пакета данных или адреса), с первого по М-й разряды выхода первого регистра соединены соответственно с первого по М-й разряд информационного входа второ5 го узла памяти, с первого по разряды выхода (где В - количество разрядов пакета команды, В НМ; Н - количество пакетов данных в пакете команды) второго узла памяти соединены соответственно с (А+1)-го

0 по (А+В)-й разрядами информационного входа второго регистра и первого информационного выхода блока, второй информационный выход которого соединен с выходом второго регистра, с (М+1)-го по 2М-й и с

5 (2М+1)-го по ЗМ-й разряды выхода первого регистра соединены соответственно с первым и вторым информационными входами четвертого коммутатора, выход которого соединен с адресным входом второго узла па- мяти и информационным входом третьего

счетчика, информационный выход которого соединен с первым информационным входом пятого коммутатора, выход которого соединен с третьим информационным входом четвертого коммутатора и третьим информационным выходом блока, второй информационный вход которого соединен с вторым информационным входом пятого коммутатора, третий разряд входа кода операции блока, (А+1)-й и(А+2)-й разряды выхода первого регистра соединены соответственно с первого по третий входами кода операции узла управления, вход признака сопровождения информации блока соединен с первым входом признаков узла управления и первым входом управления четвертого коммутатора, первый разряд выхода которого соединен с входом записи второго узла памяти, с первого по (2Н+5)-й разряды выхода которого соединены с вторым входом признаков узла управления, (А+1)-й и (А+2)-й разряды выхода первого регистра соединены соответственно с вторым и третьим входами управления четвертого коммутатора, (М + 1)-й и (2М+1)-й разряды выхода первого регистра соединены соответственно с третьим и четвертым входами признаков узла управления, с четвертого по (Н-М)-й разряды входа кода операции блока соединены с входом разрешения записи второго узла памяти, прямой и инверсный информационные выходы четвертого счетчика соединены соответственно с первым и вторым информационными-входами узла управления, с первого по третий выходы внутреннего поля управления которого соединены с информационными входами соответственно с первого по третий триггеров, выходы которых соединены соответственно с первым и вторым входами управления пятого коммутатора и с третьим выходом признака сопровождения информации блока, с первого по ЗК-й разряды входа признака режима векторной операции блока соединены с первым входом условий узла управления, первый и второй входы признака режима

прерывания блока соединены соответственно с вторым и третьим входами условий узла управления, с первого по седьмой выходы внешнего поля управления которого соединены соответственно с первым и вторым

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

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

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

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

Похожие патенты SU1691845A1

название год авторы номер документа
Потоковый параллельный процессор 1987
  • Александров Павел Иванович
SU1608682A1
МНОГОПРОЦЕССОРНАЯ ВЕКТОРНАЯ ЭВМ 1995
  • Миллер Л.Я.
  • Мухтарулин В.С.
RU2113010C1
Реконфигурируемый вычислительный модуль 2018
  • Андрюшин Дмитрий Валентинович
  • Биконов Дмитрий Владиленович
  • Бутов Алексей Александрович
  • Гаврилов Святослав Андреевич
  • Горбунов Виктор Станиславович
  • Никитин Анатолий Иванович
  • Панасенков Алексей Викторович
  • Равчеев Андрей Валерьевич
  • Семенов Александр Александрович
  • Степанов Антон Сергеевич
  • Пеплов Илья Сергеевич
  • Шмаленко Дмитрий Сергеевич
  • Эйсымонт Леонид Константинович
RU2686017C1
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИНФОРМАЦИИ 1991
  • Бурцев В.С.
  • Хайлов И.К.
  • Фетисов Н.С.
  • Твердохлебов М.В.
  • Сызько Э.В.
  • Ершов В.К.
  • Козлов Л.А.
  • Никитин М.Ю.
  • Торчигин В.П.
  • Федоров В.Б.
  • Копейкин А.Б.
  • Игнатов В.В.
  • Подшивалов Д.Б.
  • Березко А.М.
  • Никольская Ю.Н.
RU2029359C1
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 1991
  • Булавенко Олег Николаевич[Ua]
  • Коваль Валерий Николаевич[Ua]
  • Палагин Александр Васильевич[Ua]
  • Рабинович Зиновий Львович[Ua]
  • Авербух Анатолий Базильевич[Ua]
  • Балабанов Александр Степанович[Ua]
  • Дидык Петр Иванович[Ua]
  • Любарский Валерий Федорович[Ua]
  • Мушка Вера Михайловна[Ua]
RU2042193C1
СПОСОБ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2000
  • Гречишников А.И.
  • Золотухин Ф.Ф.
  • Поляков В.Б.
  • Телековец В.А.
RU2163391C1
Многопроцессорная вычислительная система 1982
  • Прангишвили Ивери Варламович
  • Игнатущенко Владислав Валентинович
  • Трахтенгерц Эдуард Анатольевич
  • Караванова Людмила Валентиновна
  • Горинович Лариса Николаевна
  • Прохорова Элла Григорьевна
  • Рабинович Владимир Михайлович
  • Резанов Владислав Васильевич
  • Костелянский Владимир Михайлович
  • Борисенко Виталий Михайлович
  • Лехнова Галина Михайловна
  • Жилиев Владимир Леонидович
  • Гантман Сергей Залманович
  • Лобак Михаил Алексеевич
  • Щербаков Евгений Васильевич
SU1168960A1
Векторно-потоковое операционное устройство 1989
  • Яковлев Юрий Сергеевич
  • Махиборода Александр Васильевич
SU1734100A1
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА 1995
  • Бурцев В.С.
  • Хайлов И.К.
  • Твердохлебов М.В.
  • Сызько Э.В.
  • Ершов В.К.
  • Козлов Л.А.
  • Никитин М.Ю.
  • Торчигин В.П.
  • Федоров В.Б.
  • Подшивалов Д.Б.
  • Березко А.М.
  • Никольская Ю.Н.
RU2110089C1
Процессор микропрограмируемой ЭВМ 1989
  • Кричевский Борис Михайлович
  • Любарский Валерий Федорович
  • Якуба Анатолий Александрович
SU1697082A1

Иллюстрации к изобретению SU 1 691 845 A1

Реферат патента 1991 года Потоковый параллельный процессор

Изобретение относится к цифровой вычислительной технике и может быть использовано в вычислительных системах высокой Изобретение относится к цифровой вычислительной технике и может быть использовано в цифровых вычислительных системах высокой производительности, Цель изобретения - увеличение быстродействия процессора при выполнении векторных операций. На фиг. 1 представлена функциональная схема потокового параллельного процессора; на фиг. 2 - функциональная схема блока обработки команд; на фиг. 3 - функпроизводительности. Цель изобретения - увеличение быстродействия при выполнении векторных операций потокового парал- лельного процессора. Потоковый параллельный процессор содержит блок обработки, блоки обработки команд коммутаторы. Программа для процессора представляется в виде направленного графа, в узлах которого находятся команды, а дуги указывают направления передачи данных и признаки активизации команд. Команды, для которых есть все операнды, обрабатываются в блоке обработки, на выходе его формируются результат и адреса, по которым производится либо запись результата в память, либо считывание из нее следующих команд для их обработки. Это позволяет исключить наиболее сложную и дорогостоящую часть потоковых ЭВМ - ассоциативное ЗУ большой емкости. Наличие нескольких блоков обработки команд по- зволяеторганизовать конвейерное считывание и обработку упорядоченных данных (векторов) любой длины без снижения эффективности работы процессора. 1 з.п. ф- лы, 4 ил., 3 табл. циональная схема узла памяти, на фиг. 4 - временные диаграммы сигналов синхронизации. Процессор (фиг. 1) содержит блок 1 обработки, блоки 2.1-2.К обработки команд и коммутаторы 3.1-3.К/2. Блок обработки (фиг. 2) включает первый коммутатор 4, первый и второй счетчики 5 и 6, второй коммутатор 7, третий и четвертый счетчики 8 и 9, третий коммутатор 10, первый регистр 11, четвертый и пятый ком(Л С о ю & 00 4Ь. СП

Формула изобретения SU 1 691 845 A1

Таблица 1

Таблица 2

Таблица 3

ю

т со

0

«о

««А

t

sl

CU

s

Документы, цитированные в отчете о поиске Патент 1991 года SU1691845A1

МайерсТ
Архитектура современных ЭВМ
Кн
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
с англ.)
М.: Мир, 1985
Способ модулирования для радиотелефона 1921
  • Коваленков В.И.
SU251A1
Способ получения фтористых солей 1914
  • Коробочкин З.Х.
SU1980A1
В.С.Бурцева.М.: ИТМ и ВТ АН СССР, 1981, с.50
Карцев М.А
Архитектура цифровых вычислительных машин
М.: Главная редакция физико-математической литературы изд-ва Наука, 1978
Каган Б.М
Электронные вычислительные машины и системы: Учебн
пособие для вузов
М.: Энергоатомиздат, 1985
Потоковый параллельный процессор 1987
  • Александров Павел Иванович
SU1608682A1
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1
/

SU 1 691 845 A1

Авторы

Александров Павел Иванович

Даты

1991-11-15Публикация

1989-06-26Подача