SU1734100A1 - Векторно-потоковое операционное устройство - Google Patents
Векторно-потоковое операционное устройство Download PDFInfo
- Publication number
- SU1734100A1 SU1734100A1 SU894767597A SU4767597A SU1734100A1 SU 1734100 A1 SU1734100 A1 SU 1734100A1 SU 894767597 A SU894767597 A SU 894767597A SU 4767597 A SU4767597 A SU 4767597A SU 1734100 A1 SU1734100 A1 SU 1734100A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- tags
- outputs
- inputs
- connected respectively
- data
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относитс к цифровой вычислительной технике. Целью изобретени вл етс повышение быстродействи устройства . Поставленна цель достигаетс тем, что устройство содержит К регистров 1 данных, где К - число компонентов обрабатываемого вектора данных, К блоков 2 буферной пам ти данных, селектор 3 данных и К арифметико-логических блоков 4 первой группы, К арифметико-логических блоков 5 второй группы, К коммутаторов 6, К блоков
Description
Входы Входы тегов данных ®«г. 7
7 буферной пам ти признаков операции (тегов ), К регистров 8 тегов, К преобразователей 9 тегов, селектор тегов 10 и К распределителей 11 тегов. Введенные блоки соединены между собой и указанными выше функциональными элементами соответствующими св з ми. 3 ил.
Изобретение относитс к вычислительной технике и может быть применено при построении высокопроизводительных ЭВМ, работающих по принципу потоковой организации процесса обработки информации .
Известно устройство векторной обработки данных, состо щее из векторных процессоров , каждый из которых содержит векторные регистры, распределитель и селектор , соединенные между собой и с векторными регистрами дл перемещени векторных элементов данных внутри процессора , другие распределитель и селектор , соединенные с векторными регистрами и между собой через общий распределитель дл перемещени векторных элементов между процессорами под управлением команды перемещени векторов.
Устройство реализует потоковую обработку векторных данных под управлением соответствующих команд, записанных заранее в ЗУ. Необходимость вызова кода команды из ЗУ, расшифровка этого кода и формирование последовательности управл ющих воздействий при выполнении операций резко снижает эквивалентное быстродействие системы. Кроме того, глубока конвейеризаци процесса обработки информации в таком устройстве затруднена и малоэффективна, так как селекторы и распределители дл передачи информации внутри .процессора, а также селекторы и распределители дл передачи информации между процессорами соединены с одними и теми же векторными регистрами. Это также снижает производительность устройства.
Известно устройство поточной обработки данных, содержащее два независимых конвейера: исполнительный и командный, который считывает команды из пам ти и формирует коды адресов дл исполнительного конвейера. Оба конвейера работают синхронно под управлением специального блока управлени поточной обработкой. В таком устройстве обеспечена возможность совмещени операций каждого каскада конвейера дл каждой отдельной команды. Однако при этом командный конвейер полностью загружен на обработку командной и адресной информации дл исполнительного конвейера, который всегда будет отрабатывать адрес или команду только после их получени (формировани ), соответствующего вызова из пам ти и анализа. Тем самым , несмотр на наличие командного конвейера, потери устройства на формирование и обработку адресной информации не исключены, что снижает производительность системы. Кроме того, имеющийс способ организации поточной обработки информации с помощью исполнительного и командного конвейеров поддержан общим дл обоих конвейеров микропрограммным устройством управлени , что приводит к дополнительным затратам аппаратуры и снижает гибкость архитектуры устройства при переходе на решение новых классов задач, так как дл обеспечени совмещени работы блоков конвейеров потребуетс разработка (доработка) новых микропрограмм.
Существенным недостатком указанных устройств вл етс то, что на скал рных участках решени задач их эффективность резко падает, что вл етс одним из основных
факторов, ограничивающих фактическую производительность ЭВМ.
Наиболее близким к предлагаемому вл етс устройство, содержащее набор векторных регистров с адресными счетчиками,
подключенный к соответствующим выходам устройства управлени записью, входной селектор, выходы которого подключены к соответствующим входам векторных регистров , выходной селектор, входы которого
подключены к соответствующим выходам векторных регистров, а выходы - к входам сумматора и умножител поточной обработки , выходы которых соединены с соответствующими входами входного селектора.
Устройство выполн ет быстрые операции над данными, записанными в векторные регистры и считываемые с них под действием соответствующей векторной команды . Устройство управлени записью
обеспечивает запись исходных данных (результатов ) в несколько векторных регистров в зависимости от содержани векторной команды .
В устройстве-прототипе так же, как и в
устройствах-аналогах, реализовано программное (микропрограммное) управление
процессом обработки информации, что сопр жено с потер ми времени на вызов команды (микрокоманды) из пам ти программ (микропрограмм), ее расшифровку и формирование адресов операндов. Это приводит к изменению в целом быстродействи устройства и снижению в конечном итоге производительности .
Кроме того, архитектура и структура такого операционного устройства, ориентированные на обработку векторных данных, резко снижают свою эффективность на скал рных участках алгоритма решени задачи, что в целом снижает производительность устройства .
Целью изобретени вл етс повышение быстродействи устройства за счет распараллеливани процессов обработки информации и одновременно формировани сигналов, управл ющих процессом обработки , а также за счет повышени эффективности реализации унарных операций и скал рных участков реализуемого алгоритма .
Поставленна цель достигаетс тем, что в векторно-потоковое устройство, содержащее К регистров данных (К - число компонентов обрабатываемого вектора данных), К блоков буферной па.и ти данных, селектор данных и К арифметико-логических блоков первой группы, соединенных соответствующими св з ми, введены К арифметико-логических блоков второй группы, К коммутаторов, К блоков буферной пам ти признаков операции (тегов), К регистров признаков операции (тегов), К преобразователей признаков операции (тегов), селектор признаков операции и К распределителей признаков операции (тегов), соединенные между собой и с указанными выше блоками соответствующими св з ми. При этом вторые выходы регистров данных с первого по К-й подключены соответственно к информационным входам арифметико-логических блоков с первого по К-й второй группы, первые выходы которых подключены соответственно к вторым информационным входам регистров данных с первого по К-й. Вторые выходы арифметико-логических блоков с первого по К-й второй группы подключены соответственно к вторым информационным входам блоков буферной пам ти данных с первого по К-й. Выходы арифметико-логических блоков с первого по К-й первой группы подключены соответственно к информационным входам коммутаторов с первого по К-й, первые выходы которых подключены соответственно к третьим информационным входам регистров данных с первого по К-й. Вторые выходы коммутаторов с первого
по К-й подключены соответственно к третьим информационным входам блоков буферной пам ти данных с первого по К-й. Третьи
5 выходы коммутаторов с первого по К-й подключены соответственно к выходам результатов с первого по К-й устройства, с первого по К-й входы признаков операции (тегов) устройства подключены соответственно к первым информационным входам блоков буферной пам ти признаков операции (тегов ) с первого по К-й, выходы которых под- ключены соответственно к первым информационным входам регистров признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к первым информационным входам преобразователей признаков операции (тегов) с первого по К-й, первые выходы ко0 торых подключены соответственно к вторым информационным входам регистров признаков операции (тегов) с первого по К-й, вторые выходы которых подключены к информационным входам селектора при5 знаков операции (тегов), выходы первой группы которого подключены соответственно к управл ющим входам селектора данных . Выходы с первого по К-й второй группы селектора признаков операции (тегов) под0 ключены соответственно к первым информационным входам распределителей признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к третьим информацион5 ным входам регистров признаков операции (тегов) с первого по К-й. Вторые выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к вторым информационным входам блоков
0 буферной пам ти признаков операции (тегов ) с первого по К-й. Третьи выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к управл ющим входам коммутаторов с пер5 вого по К-й. Четвертые выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков с первого по К-й первой группы, п тые
0 выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к выходам с первого по К-й признаков операции (тегов) устройства, входы констант с первого по К-й первой группы
5 которого подключены соответственно к вторым информационным входам распределителей признаков операции (тегов) с первого по К-й. Входы констант с первого по К-й второй группы устройства подключены со0 ответственно к вторым информационным входам преобразователей признаков oneрации (тегов) с первого по К-й, вторые выходы которых подключены соответственно к третьим информационным входам блоков буферной пам ти признаков операции (тегов ) с первого по К-й. Третьи выходы преобразователей признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков с первого по К-й второй груп- пы, вход синхронизации устройства подключен к входам записи/считывани блоков буферной пам ти признаков операции (тегов), к входам записи/считывани регистров признаков операции (тегов) и к входам синхронизации преобразователей признаков операции.
Каждый преобразователь признаков операции (тегов) содержит три регистра, коммутатор, узел равнозначности и узел сравнени со значением признака уничтожени данных. При этом в каждом преобразователе признаков операции (тегов) первый и второй информационные входы преобразовател признаков операции (тегов ) подключены соответственно к информационным входам первого и второго регистров. Первый выход первого регистра и выход второго регистра подключены соответственно к первому и второму-входам узла разнозначности, выход которого подключен к информационному входу третьего регистра, первый и второй выходы которого подключены соответственно к информационному и управл ющему входам коммутатора, первый и второй выходы которого подключены соответственно к первому и второму выходам преобразовател признаков операции (тегов ). Второй выход первого регистра подключен к входу узла сравнени с признаком уничтожени данных, соединен с вторым выходом третьего регистра и подключен к третьему выходу преобразовател признаков операции (тегов), вход синхронизации которого подключен к входам записи/считывани первого, второго и третьего регистров . Выход узла сравнени с признаком уничтожени данных подключен к входу установки в ноль первого регистра.
На фиг. 1 приведена схема предлагаемого устройства; на фиг, 2 - функциональна схема преобразовател признаков операции (тегов); на фиг 3 - алгоритм работы устройства.
Устройство содержит К регистров 1 данных , где К-число компонентов обрабатываемого вектора данных, К блоков 2 буферной пам ти данных, селектор 3 данных и К арифметико-логических блоков 4 первой группы.
При этом с первого по К-й входы данных устройства подключены соответственно к первым информационным входам блоков 2 буферной пам ти данных с первого по К-й,
выходы которых подключены к первым информационным входам регистров 1 данных с первого по К-й. Первые выходы регистров данных подключены соответственно к информационным входам селектора 3 данных,
0 выходы с первого по К-й первой группы которого подключены соответственно к первым информационным входам арифметико-логических блоков 4 с первого по К-й первой группы , выходы с первого по К-й второй группы
5 селектора 3 данных подключены соответственно к вторым информационным входам арифметико-логических блоков 4 с первого по К-й первой группы. Вход синхронизации устройства подключен к входам записи/счи0 тывани блоков 2 буферной пам ти данных и регистров 1 данных. Устройство также содержит К арифметико-логических блоков 5 второй группы, К коммутаторов б, К блоков буферной пам ти 7 признаков операции (те5 гов), К регистров 8 признаков операции (тегов ), К преобразователей 9 признаков операции (тегов), селектор 10 признаков операции и К распределителей 11 признаков операции (тегов). Вторые выходы реги0 строе 1 данных с первого по К-й подключены соответственно к информационным входам арифметико-логических блоков 5 с первого по К-й второй группы, первые выходы которых подключены соответственно к вторым
5 информационным входам регистров 1 данных с первого по К-й. Вторые выходы арифметико-логических блоков 5 с первого по К-й второй группы подключены соответственно к вторым информационным входам блоков
0 2 буферной пам ти данных с первого по К-й. Выходы арифметико-логических блоков 4 с первого по К-й первой группы подключены соответственно к информационным входам коммутаторов 6 с первого по К-й, первые вы5 ходы которых подключены соответственно к третьим информационным входам регистров 1 данных с первого по К-й. Вторые выходы коммутаторов б с первого по К-й подключены соответственно к третьим ин0 формационным входам блоков 2 буферной пам ти данных с первого по К-й. Третьи выходы коммутаторов 6 с первого по К-й подключены соответственно к выходам результатов с первого по К-й устройства. С
5 первого по К-й входы признаков операции (тегов) устройства подключены соответственно к первым информационным входам блоков 7 буферной пам ти признаков операции (тегов) с первого по К-й, выходы кото- рых подключены соответственно к первым
информационным входам регистров 8 признаков операции (тегов) с первого по К-й, перэые выходы которых подключены соответственно к первым информационным входам преобразователей 9 признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к вторым информационным входам регистров 8 признаков операции (тегов) с первого по К-й, вторые выходы которых подключены к информационным входам селектора 10 признаков операции (тегов). Выходы первой группы селектора 10 подключены соответственно к управл ющим входам селектора 3 данных, выходы с первого по К-й второй группы селектора 10 признаков операции (тегов) подключены соответственно к первым информационным входам распределителей 11 признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к третьим информационным входам регистров 8 признаков операции (тегов) с первого по К-й. Вторые выходы распределителей 11 признаков операции (тегов) с первого по К-й подключены соответственно к вторым информационным входам блоков 7 буферной пам ти признаков операции (тегов) с первого по К-й. Третьи выходы распределителей 11 признаков операции (тегов) с первого по К-й подключены соответственно к управл ющим входам коммутаторов 6 с первого по К-й. Четвертые выходы распределителей 11 признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков 4 с первого по К-й первой группы. П тые выходы распределителей 11 признаков операции (тегов) с первого по К-й подключены соответственно к выходам с первого по К-й признаков операции (тегов) устройства. Входы констант с первого по К-й первой группы устройства подключены соответственно к вторым информационным входам распределителей 11 признаков операции (тегов) с первого по К-й. Входы констант с первого по К-й второй группы устройства подключены соответственно к вторым информационным входам преобразователей 9 признаков операции (тегов) с первого по К-й, вторые выходы которых подключены соответственно к третьим информационным входам блоков 7 буферной пам ти признаков операций (тегов) с первого по К-й. Третьи выходы преобразователей 9 признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков 5 с первого по К-й второй группы, Вход синхронизации устройства подключен к входам
записи/считывани блоков буферной пам ти признаков операции (тегов), к входам записи/считывани регистров 8 признаков операции (тегов) и к входам синхронизации
преобразователей 9 признаков операции (тегов).
Таким образом, векторно-потоковое операционное устройство условно разделено на два канала: канал обработки данных
0 (блоки 1 - 6) и канал обработки тегов и управлени (блоки 7-11).
Кажда компонента, вход ща в состав устройства, может быть реализована с применением современной элементной базы и
5 интегральной технологии. Так, каждый регистр 1 данных и каждый регистр 8 признаков операции (тегов) (фиг. 1), предназначенные дл хранени кодов данных, представленных в виде векторов или скал рных величин, и
0 соответственно признаков операции (тегов) могут быть реализованы любым из известных классических способов на базе триггер- ных схем с применением входной логики занесени кода с трех направлений и выход5 ной логики выдачи информации на два направлени при наличии синхронизирующих сигналов, поступающих на соответствующие входы синхронизации этих регистров. Каждый блок 2 буферной пам ти данных
0 и каждый блок 7 буферной пам ти признаков операции (тегов) могут быть реализованы в виде регистровой пам ти небольшой емкости (на несколько дес тков слов) с дисциплиной обслуживани Первым пришел 5 первым обслужен. Реализаци регистровой пам ти такого типа не представл ет затруднений .
Селектор 3 данных предназначен дл отбора в каждый момент времени пар опе0 рандов, поступающих с регистров 1 данных, и выдачи отобранных пар на соответствующие информационые входы арифметико-логических блоков 4 первой группы. Селектор 3 данных может быть реализован в виде
5 ортогональной матрицы, содержащей вертикальные и горизонтальные кодовые шины данных, соединенные между собой коммутирующими элементами (ключами) по принципу каждый с каждым. Эти ключи
0 управл ютс сигналами коммутации, поступающими с выходов селектора 10 признаков операции (тегов).
Каждый арифметико-логический блок 4 первой группы может быть выполнен по
5 классической арифметико-логической схеме , реализующей требуемый набор операций . При этом в качестве кода операций используют соответствующие разр ды кода тегов, которые выдел ютс распределител ми 11 признаков операции (тегов) и поступают на входы кодов операций арифметико- логических блоков 4.
Каждый арифметико-логический блок 5 второй группы предназначен дл выполнени унарных операций над данными (например , сдвиг, инверси и т.д.).
Блок 5 может быть выполнен в виде классического арифметико-логического блока, реализующего усеченный набор операций и имеющего выходные логические схемы на два направлени . Тип реализуемой операции и выбор направлени выдачи результата с блока 5 определ ет код, поступающий на управл ющие входы блока 5 с соответствующих выходов преобразователей 9 признаков операций (тегов).
Преобразователи 9 признаков операции (тегов) предназначены дл анализа и модификации тегов и прин ти решени о дальнейшем использовании соответствующих данных (уничтожить, изменить значение , сохранить неизменным, переслать в регистр и т.д.). Тип функций, реализуемых преобразователем 9, определ етс константой , поступающей на соответствующие входы констант этого преобразовател .
Преобразователь 9 признаков операции (тегов) содержит (фиг. 2) первый регистр
12исходного значени кода тега, второй регистр 13 констант, третий регистр 14 результирующего значени тега, коммутатор 15, узел 16 равнозначности и узел 17 сравнени со значением признака уничтожени данных. При этом первый и второй информационные входы преобразовател 9 признаков операции (тегов) подключены соответственно к информационным входам первого 12 и второго 13 регистров. Первый выход первого регистра 12 и выход второго регистра 13 подключены соответственно к первому и второму входам узла 16 разно- значности, выход которого подключен к информационному входу третьего регистра 14, первый и второй выходы которого подключены соответственно к информационному и управл ющему входам коммутатора 15, первый и второй выходы которого подключены соответственно к первому и второму выходам преобразовател признаков операции (тегов). Второй выход первого регистра 12 подключен к входу узла 17 сравнени с признаком уничтожени данных, а также соединен с вторым выходом третьего регистра 14 и подключен к третьему выходу преобразовател 9 признаков операции (тегов), вход синхронизации которого подключен к входам записи/считывани первого 12, второго
13и третьего 14 регистров. Выход узла 17 сравнени с признаком уничтожени данных подключен к входу установки в ноль первого регистра 12.
Таким образом, преобразователь 9 признаков операции представл ет собой (с точки зрени его технической реализации) простую схему, содержащую классические регистры с входами синхронизации, подключенные к логическим схемам, функционирование которых может быть описано
системой булевых выражений.
Селектор 10 признаков операции (тегов) представл ет собой коммутатор, содержащий горизонтальные и вертикальные кодовые шины тегов, на каждом пересечении
которых реализована логическа схема, фиксирующа совпадение определенных разр дов кодов тегов двух операндов. При совпадении этих разр дов кодов пары тегов селектор 10 вырабатывает на соответствующих выходах сигналы коммутации. Эти сигналы , поступа на управл ющие входы селектора 3 данных, открывают соответствующие ключи, пропуска на входы арифметико-логического блока 4 первой группы
выбранную пару операндов, которым принадлежат совпадающие теги. Техническа реализаци селектора такого типа не вызывает затруднений.
Распределитель 11 признаков операции (тегов) предназначен дл анализа и преобразовани тегов, выбора направлени передачи тегов, а также дл выбора направлени передачи результирующих данных. При этом вид преобразований тегов определ етс кодом константы, поступающей на входы констант второй группы устройства. Распределитель 11 признаков операции тегов по виду функциональной схемы и технической реализацией во многом совпадает с функциональной схемой и технической реализацией преобразовател 9 тегов. Он также содержит три регистра, коммутатор и узел равнозначности, соединенные соответствующими св з ми. При этом узел 17
сравнени (фиг. 2) в распределителе 11 отсутствует , а узел 16 равнозначности выполн ет те же функции, что и в преобразователе 9.
Векторно потоковое операционное устройство работает следующим образом.
В устройстве прин т потоковый принцип организации процесса обработки информации , т.е. по готовности данных. При этом слова, с которыми оперирует устройство , содержат две части: данные и признаки операций (тегов). Эти две части св заны неразрывно , существуют и перемещаютс только совместно как одно слово. Параллельно с обработкой данных в операционном устройстве осуществл ют и обработку признаков операций (тегов).
Код тегов несет информацию о характере (виде) выполн емых операций, маршрутах передачи данных внутри устройства, признаках уничтожени или дальнейшего использрвани данных. В соответствии с этим код тега содержит несколько кодовых полей (например, п ть) следующего назначени :
поле кодировани типов бинарных операций (4 разр да);
поле кодировани типов унарных операций и признаков уничтожени или дальнейшего использовани данных (4 разр да);
поле управлени выбором пар операндов (8 разр дов);
поле кодировани направлени передачи результатов выполнени бинарных операций (4 разр да);
поле кодировани направлени передачи результатов выполнени унарных операций (4 разр да).
В предлагаемом устройстве последовательность выполнени операций и маршруты движени операндов задают с помощью последовательности смен кодов тегов.
Алгоритм преобразовани тегов дл предлагаемого устройства определен на основе машинного моделировани и приведен на фиг. 3. Каждоз поле, вход щее в тег одного операнда, обрабатывают по данному алгоритму независимо. На первом шаге алгоритма над исходным значением кода тега А и константы К выполн ют поразр дную логическую операцию рав нозначности. Над полученным значением кода В выполн ют операцию циклического сдвига вправо на один разр д. Вновь полученное значение кода С суммируют поразр дную по модулю два с исходным значением кода тега А. Тем самым получают результирующее значение кода тега Д.
Приведенный алгоритм обеспечивает реализацию требуемого множества функций однозначного преобразовани кодов тега. При этом выбор конкретной функции определ етс выбором кода константы К, формат которой соответствует формату тега . Так как последовательность выполнени операций и маршруты движени операндов задают с помощью развертки последовательности смены кодов тегов, то функции, формируемые алгоритмом (фиг. 3), должны быть сконструированы таким образом, чтобы задавать разнообразные наборы бинарных деревьев. Начало функционировани устройства и темп его работы определ ютс поступлением сигналов синхронизации на соответствующие синхронизирующие входы регистров 1 данных, блоков 2 буферной
пам ти данных, блоков 7 буферной пам ти тегов, регистров 8 тегов, преобразователей 9 тегов, а также тактовыми сигналами, поступающими на соответствующие входы
всех блоков устройства (на фиг. 1 и 2 цепи прохождени тактовых сигналов не показаны ).
Перед началом работы все блоки устройства перевод т в исходное состо ние,
0 например, путем подачи сигнала сброса (цепи сброса на фиг. 1 и 2 не показаны). После этого на входы констант с первого по К-й первой группы и входы, констант с первого по К-й второй группы устройства подают
5 коды констант, которые запоминаютс на вторых регистрах соответственно распределителей 11 признаков операции (тегов) и преобразователей 9 тегов (фиг. 1 и 2) при наличии синхронизирующих импульсов на
0 соответствующих входах этих блоков.
При этом значени кодов констант определ ют методом машинного моделировани дл заданного класса задач и прин того алгоритма преобразовани - тегов (фиг. 3).
5 Одновременно на входы данных (с первого по К-й) и входы тегов (с первого по К-й) устройства подают коды К-компонентных векторов и К кодов тегов, которые записывают соответственно в К блоков буферной
0 пам ти 2 данных и в К блоков буферной пам ти тегов при наличии синхронизирующих импульсов на входах этих блоков. При этом первое пришедшее слово в блоки пам ти такого типа вл етс первым претен5 дентом на обработку. Поэтому при поступлении в блоки буферной пам ти второй порции из К-компонентных векторов и К кодов тегов, К кодов данных и К кодов тегов параллельно через соответствующие
0 первые информационные входы занос т в регистры 1 данных (с первого по К-й) и в регистры 8 тегов (с первого по К-й). С вторых выходов регистров 1 данных (с первого по К-й) коды данных поступают на информаци5 онные входы арифметико-логических блоков 5 данных (с первого по К-й) второй группы. Одновременно с первых выходов регистров 8 тегов (с первого по К-й) коды тегов поступают на первые информацион0 ные входы преобразователей 9 тегов (фиг, 1), где при наличии синхронизирующих импульсов запоминаютс на первых регистрах 12 (фиг. 2) преобразователей 9 (с первого по К-й).
5 Содержимое одного пол кода тега - пол кодировани типов унарных операций и признаков уничтожени или дальнейшего использовани данных анализируетс схемой сравнени (фиг. 2). Если это поле содержит признак уничтожени данных, то узел
17 сравнени вырабатывает на выходе сигнал , который, поступа на соответствующий вход регистра 12, устанавливает его в ноль. В этом случае узел 16 равнозначности не работает, а на первом и втором выходах блока 9 преобразовател тегов коды тегов отсутствуют (фиг. 2).,Таким образом, если уничтожаютс данные, то уничтожаютс и сопровождающие их теги. В случае повторного использовани операнда или выполнени над операндом унарной операции узел 16 равнозначности формирует в соответствии с алгоритмом преобразовани тега (фиг. 3) результирующий код тега, который поступает на третий регистр 14. При этом содержимое пол кодировани направлени передачи результирующего тега поступаете соответствующих выходов этого регистра на управл ющие входы коммутатора 15 (фиг. 2), а содержимое пол кодировани передачи результатов унарной операции - с других выходов этого регистра через третий выход блока 9 (фиг. 2) па соответствующие входы арифметико-логических блоков 5 второй группы (фиг. 1). В соответствии со значени ми этих кодов результат унарной операции (код данных) и сопровождающий его тег (код тега) одновременно поступают либо на входы соответствующих регистров ) и 8 либо на входы соответствующих блоков буферной пам ти 2 и 7 (фиг. 1) дл последующих использований. Указанные логические операции и передачи внутри блоков преобразователей 9 тегов (с первого по К-й) выполн ютс в промежуток времени между двум тактирующими импульсами.
Одновременно с этими преобразовани ми и с выполнением унарных операций с вторых выходов регистров 8 тегов (с первого по К-й) на соответствующие входы селектора 10 тегов (фиг. 1) поступают коды тегов, которые, проход через селектор 19 тегов без преобразований, поступают на соответствующие входы распределителей 11 тегов. Аналогично с первых выходов регистров да iHbix 1 (с первого по К-й) на соответствующие информационные входы селектора 3 данных поступают коды данных.
Селектор О тегов выдел ет с помощью маскировани определенных разр дов тега поле управлени выбором пар операндов и осуществл ет его анализ.
В случае попарного совпадени кодов этих полей селектор 10 тегов вырабатывает сигналы совпадени , которые, поступа на соответствующие управл ющие входы селектора 3 данных, коммутируют на входы арифметико-логических блоков 4 первой группы только те пары кодов данных, выбранные разр ды тегов которых совпадают при сравнении.
Арифметико-логические блоки 4 первой группы (с первого по К-й) выполн ют операции над выделенными селектором данных К-компонентными векторами, либо над выделенными К парами скал рных данных. При этом типы операций, которые реализуют арифметико-логические блоки 4 первой
группы, определ ют распределители 11 признаков операций (тегов), которые работают аналогично преобразовател м 9 тегов за исключением следующих особенностей. Так как селектор 10 тегов выдел ет пары
кодов данных с одинаковыми значени ми соответствующих полей тегов, то распределитель 11 тегов принимает с соответствующих выходов селектора коды одного тега из двух, причем каждое поле (из п ти указанных выше) кода тега подвергаетс преобразованию в соответствии с приведенным выше алгоритмом (фиг. 3). Так, в результате преобразовани пол кодировани бинарных операций распределитель 11 тегов вырабатывает сигнал кодов бинарных операций, которые с четвертых выходов этих распределителей поступают на соответствующие входы арифметико-логических блоков 4 дл реализации заданных операций над выбранными с помощью селектора 3 операндами. Одновременно преобразуютс и другие пол кода тега и тем самым формируетс результирующий код тега, который с п тых выходов распределителей 11
тегов поступают на соответствующие выходы тегов устройства одновременно с результирующим кодом данных, к которому этот код тега приписан. Причем код данных (как результат выполнени заданной бинарной
операции в арифметико-логическом блоке 4 первой группы) поступает на соответствующие выходы устройства с третьих выходов коммутаторов 6 (с первого по К-й) при наличии на соответствующих входах этих коммутаторов управл ющих сигналов. Управл ющие сигналы вырабатывает распределитель 11 в результате анализа соответствующего пол полученного кода тега - пол кодировани направлени передачи
результатов выполнени бинарных операций . Анализ других полей результирующего тега определ ет направление передачи полноформатного тега: либо с первых выходов распределител 11 тегов (с первого по К-й)
на третьи входы регистров 8 тегов (с первого по К-й), либо с вторых выходов этих же распределителей 11 тегов на вторые входы блоков 7 буферной пам ти тегов дл последующего использовани .
Одновременно такой же процесс коммутации осуществл етс с помощью коммутаторов 6 (с первого по К-й) над соответствующими результирующими кодами данных, к которым приписаны указанные выше коммутируемые коды тегов. При этом направление коммутации данных определ ют коды соответствующих полей результирующего тега, которые с третьих выходов распределителей 11 поступают на управл ющие входы коммутаторов 6.
Таким образом, преобразование и передача данных в блоках устройства 2,1, 5,3, 4, 6 (канал обработки данных) происходит одновременно с преобразованием и передачей неразрывно св занных с ними тегов в соответствующих блоках устройства .7, 8, 9, 10, 11 (канал обработки тегов). При этом коды тегов определ ют вид операций над данными и направлени их передачи.
Архитектура предлагаемого операционного устройства в целом, канал обработки данных и идентичный ему канал обработки тегов, а также св зи между ними выполнены такими, что процесс обработки тегов и формирование управл ющих сигналов происходит одновременно с процессом обработки данных, с которыми эти теги св заны.
Синхронизаци работы канала обработки тегов и канала обработки данных осуществл етс одними и теми же сигналами. Тем самым исключаетс врем задержки, которое имеет место в устройстве-прототипе, на формирование, вызоз, расшифровку адресной и командной информации, что должно быть выполнено либо после, либо до процесса обработки данных.
Кроме того, в предлагаемом устройстве процессы обработки данных в арифметико- логических блоках 4 первой группы могут быть совмещены с процессом обработки данных в арифметико-логических блоках 5 второй группы.
Тем самым можно утверждать, что предлагаемое устройство по сравнению с устройством-прототипом обладает более высоким быстродействием (производительностью ). Применение же арифметико-логических блоков 5 второй группы вместе с соответствующими преобразовател ми 9 тегов обеспечивает резкое повышение производительности устройства при решении конкретных классов задач.
Таким образом, положительный эффект достигаетс за счет использовани динамического параллелизма, возникающего в ходе развити процесса обработки информации; уплотнени временной диаграммы работы устройства вследствие отсутстви фазы выборки и расшифровки управл ющей информации;
Claims (1)
- за счет применени арифметико-логических блоков второй группы вместе с соответствующими преобразовател ми тегов. Формула изобретениВекторно-потоковое операционное устройство , содержащее К регистров данных, где К- число компонентов обрабатываемого вектора данных, К блоков буферной пам ти данных, селектор данных и К арифметико0 логических блоков первой группы, причем с первого по К-й входы данных устройства подключены соответственно к первым информационным входам блоков буферной пам ти данных с первого по К-й, выходы5 которых подключены к первым информационным входам регистров данных с первого по К-й, первые выходы которых подключены соответственно к информационным входам селектора данных, выходы с первого по К-й0 первой группы которого подключены соответственно к первым информационным входам арифметико-логических блоков с первого по К-й первой группы, выходы с первого по К-й второй группы селектора5 данных подключены соответственно к вторым информационным входам арифметико- логических блоков с первого по К-й первой группы, вход синхронизации устройства подключен к входам записи-считывани блоков0 буферной пам ти данных и регистров данных , отличающеес тем, что, с целью повышени быстродействи устройства, оно содержит К арифметико-логических блоков второй группы, К коммутаторов, К5 блоков буферной пам ти признаков операции (тегов), К регистров признаков операции (тегов), К преобразователей признаков операции (тегов), селектор признаков операции и К распределителей признаков опе0 рации (тегов), причем вторые выходы регистров данных с первого по К-й подключены соответственно к информационным входам арифметико-логических блоков с первого по К-й второй группы, первые выхо5 ды которых подключены соответственно к вторым информационным входам регистров данных с первого по К-й, вторые выходы арифметико-логических блоков с первого по К-й второй группы подключены соответст0 венно к вторым информационным входам блоков буферной пам ти с первого по К-й, выходы арифметико-логических блоков с первого по К-й первой группы подключены соответственно к информационным входам5 коммутаторов с первого по К-й, первые выходы которых подключены соответственно к третьим информационным входам регистров данных с первого по К-й, вторые выходы коммутаторов с первого по К-й подключены соответственно к третьим информационнымвходам блоков буферной пам ти данных с первого по К-й, третьи выходы коммутаторов с первого по К-й подключены соответственно к выходам результатов с первого по К-й устройства, с первого по К-й входы признаков операции (тегов) устройства подключены соответственно к первым информационным входам блоков буферной пам ти признаков операции (тегов) с первого по К-й, выходы которых подключены соответственно к первым информационным входам регистров признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к первым информационным входам преобразователей признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к вторым информационным входам регистров признаков операции (тегов) с первого по К-й, вторые выходы которых подключены к информационным входам селектора признаков операции (тегов), выходы первой группы которого подключены соответственно к управл ющим входам селектора данных , выходы с первого по К-й второй группы селектора признаков операции (тегов) подключены соответственно к первым информационным входам распределителей признаков операции (тегов) с первого по К-й, первые выходы которых подключены соответственно к третьим информационным входам регистра признаков операции (тегов) с первого по К-й, вторые выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к вторым информационным входам блоков буферной пам ти признаков операции (тегов ) с первого по К-й, третьи выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к управл ющим входам коммутаторов с первого по К-й, четвертые выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков с первого по К-й первой группы, п тые выходы распределителей признаков операции (тегов) с первого по К-й подключены соответственно к выходам с первого по К-й признаков операций (те го в) устройства, входы константе первого по К-й первой группы которого подключены соответственно к вторым информационным входам распределителей признаков операции (тегов) с первого по К-й, входы констант с первого по К-й второй группы устройства подключены соответственно к вторым информационным входам преобразователей признаков операции (тегов) с первого по К-й, вторые выходы которых подключены соответственно к третьим информационным входам блоков буферной пам ти признаков операции (тегов ) с первого по К-й, третьи выходы преобразователей признаков операции (тегов) с первого по К-й подключены соответственно к входам кода операции арифметико-логических блоков с первого по К-й второй группы, вход синхронизации устройства подключен к входам записи-считывани блоков буферной пам ти признаков операции (тегов), к входам записи-считывани регистров признаков операции (тегов) и к входам синхронизации преобразователей признаков операции (тегов), причем каждый преобразователь признаков операции (тегов) содержит три регистра, коммутатор, узел равнозначности и узел сравнени со значением признака уничтожени данных, при этом в каждом преобразователе признаков операции (тегов ) первый и второй информационные входы преобразовател признаков операции (тегов) подключены соответственно к информационным входам первого и второго регистров, первый выход первого регистра и выход второго регистра подключены соответственно к первому и второму входам узла равнозначности, выход которого подключен к информационному входу третьего регистра, первый и второй выходы которого подключены соответственно к информационному и уп- равл ющему входам коммутатора, первый и второй выходы которого подключены соответственно к первому и второму выходам преобразовател признаков операции (тегов ), второй выход первого регистра подключен к входу узла сравнени с признаком уничтожени данных, соединен с вторым выходом третьего регистра и подключен к третьему выходу преобразовател признаков операции (тегов), вход синхронизации которого подключен к входам записи-считывани первого, второго и третьего регистров , выход узла сравнени с признаком уничтожени данных подключен к входу установки в О первого регистра.Фыг. 2i
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894767597A SU1734100A1 (ru) | 1989-10-26 | 1989-10-26 | Векторно-потоковое операционное устройство |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU894767597A SU1734100A1 (ru) | 1989-10-26 | 1989-10-26 | Векторно-потоковое операционное устройство |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1734100A1 true SU1734100A1 (ru) | 1992-05-15 |
Family
ID=21483885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU894767597A SU1734100A1 (ru) | 1989-10-26 | 1989-10-26 | Векторно-потоковое операционное устройство |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1734100A1 (ru) |
-
1989
- 1989-10-26 SU SU894767597A patent/SU1734100A1/ru active
Non-Patent Citations (1)
Title |
---|
Международна за вка US № 85/00453,кл.С 06 F 15/00, опублик. 85.01.31. Международна за вка JP № 0137422,кл.С 06 F 15/347,опублик. 85.04.17. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3689895A (en) | Micro-program control system | |
KR100638703B1 (ko) | 데이터 프로세싱 시스템용 셀룰러 엔진 | |
US4141005A (en) | Data format converting apparatus for use in a digital data processor | |
US4156903A (en) | Data driven digital data processor | |
US5226131A (en) | Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer | |
US5561808A (en) | Asymmetric vector multiprocessor composed of a vector unit and a plurality of scalar units each having a different architecture | |
KR880001170B1 (ko) | 마이크로 프로세서 | |
US5404558A (en) | Data driven type information processor having a plurality of memory banks | |
US5265258A (en) | Partial-sized priority encoder circuit having look-ahead capability | |
US3213427A (en) | Tracing mode | |
SU1734100A1 (ru) | Векторно-потоковое операционное устройство | |
RU2198422C2 (ru) | Асинхронная синергическая вычислительная система | |
JPS6058487B2 (ja) | デ−タ処理装置 | |
EP0326164B1 (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
RU2042193C1 (ru) | Вычислительная система | |
RU2079877C1 (ru) | Модульное вычислительное устройство с раздельным микропрограммным управлением арифметико-логическими секциями | |
SU942020A1 (ru) | Устройство микропрограммного управлени | |
SU888121A1 (ru) | Устройство дл формировани исполнительных адресов | |
SU1247884A1 (ru) | Процессор | |
JP2895892B2 (ja) | データ処理装置 | |
RU1797108C (ru) | Арифметическое устройство с микропрограммным управлением | |
SU1508228A1 (ru) | Устройство дл формировани маршрута сообщени в однородной вычислительной системе | |
SU943736A1 (ru) | Микропрограммна система обработки данных | |
SU1265788A1 (ru) | Устройство дл сопр жени каналов ввода-вывода с устройством управлени оперативной пам тью | |
RU2032215C1 (ru) | Конвейерный процессор |