мутаторы 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)-й разряды выхода первого регистра соединены соответственно с третьим и четвертым входами признаков узла управления, с четвертого по (Н-М)-й разряды входа кода операции блока соединены с входом разрешения записи второго узла памяти, прямой и инверсный информационные выходы четвертого счетчика соединены соответственно с первым и вторым информационными-входами узла управления, с первого по третий выходы внутреннего поля управления которого соединены с информационными входами соответственно с первого по третий триггеров, выходы которых соединены соответственно с первым и вторым входами управления пятого коммутатора и с третьим выходом признака сопровождения информации блока, с первого по ЗК-й разряды входа признака режима векторной операции блока соединены с первым входом условий узла управления, первый и второй входы признака режима
прерывания блока соединены соответственно с вторым и третьим входами условий узла управления, с первого по седьмой выходы внешнего поля управления которого соединены соответственно с первым и вторым
выходами признаков сопровождения информации, первым и вторым выходами признаков режима прерывания и с первого по третий разрядами выхода признака режима векторной операции блока, выходы с четвертого по девятый внутреннего поля управления узла управления соединены соответственно с первым и вторым входами управления первого коммутатора, первым входом управления второго коммутатора,
счетным входом и выходом разрешения приема информации третьего счетчика, входом синхронизации второго регистра, десятый выход внутреннего поля управления узла управления соединен с входом синхронизации первого регистра, первым входом синхронизации второго узла памяти, одиннадцатый выход внутреннего поля управления узла управления соединен со счетными входами первого и четвертого счетчиков,
первым входом управления третьего коммутатора, вторым входом управления второго коммутатора, входом чтения первого узла памяти, двенадцатый выход внутреннего поля управления узла управления соединен
с вторым входом управления третьего коммутатора, счетным входом второго счетчика, вычитающим входом четвертого счетчика и входом записи первогоузла памяти, первый и второй входы синхронизации узла управления соединены соответственно с первым и вторым входами синхронизации блока, третий вход синхронизации которого соединен с вторым входом синхронизации второго узла памяти.
название | год | авторы | номер документа |
---|---|---|---|
Потоковый параллельный процессор | 1987 |
|
SU1608682A1 |
МНОГОПРОЦЕССОРНАЯ ВЕКТОРНАЯ ЭВМ | 1995 |
|
RU2113010C1 |
Реконфигурируемый вычислительный модуль | 2018 |
|
RU2686017C1 |
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ИНФОРМАЦИИ | 1991 |
|
RU2029359C1 |
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА | 1991 |
|
RU2042193C1 |
СПОСОБ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2000 |
|
RU2163391C1 |
Многопроцессорная вычислительная система | 1982 |
|
SU1168960A1 |
Векторно-потоковое операционное устройство | 1989 |
|
SU1734100A1 |
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА | 1995 |
|
RU2110089C1 |
Процессор микропрограмируемой ЭВМ | 1989 |
|
SU1697082A1 |
Изобретение относится к цифровой вычислительной технике и может быть использовано в вычислительных системах высокой Изобретение относится к цифровой вычислительной технике и может быть использовано в цифровых вычислительных системах высокой производительности, Цель изобретения - увеличение быстродействия процессора при выполнении векторных операций. На фиг. 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Ь. СП
Таблица 1
Таблица 2
Таблица 3
ю
т со
0
«о
««А
t
sl
CU
s
МайерсТ | |||
Архитектура современных ЭВМ | |||
Кн | |||
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
с англ.) | |||
М.: Мир, 1985 | |||
Способ модулирования для радиотелефона | 1921 |
|
SU251A1 |
Способ получения фтористых солей | 1914 |
|
SU1980A1 |
В.С.Бурцева.М.: ИТМ и ВТ АН СССР, 1981, с.50 | |||
Карцев М.А | |||
Архитектура цифровых вычислительных машин | |||
М.: Главная редакция физико-математической литературы изд-ва Наука, 1978 | |||
Каган Б.М | |||
Электронные вычислительные машины и системы: Учебн | |||
пособие для вузов | |||
М.: Энергоатомиздат, 1985 | |||
Потоковый параллельный процессор | 1987 |
|
SU1608682A1 |
Приспособление для точного наложения листов бумаги при снятии оттисков | 1922 |
|
SU6A1 |
/ |
Авторы
Даты
1991-11-15—Публикация
1989-06-26—Подача