Из этой схемы видно, что для орг-ции векторно-конвейерной обработки данных требуется поддрежка специализированных процессоров, в данном случае 2-х: скалярный процессор, потому что не все задачи сводятся к векторной обработке, и к-ндный процессор, к-рый обеспечит настройку операционного конвейера, помните мы говорили, чт.е. сцепление данных, есть распределение данных; в состав самого конвейера могут входить те или иные ф-циональные устр-ва, необязательно все, т.е. считайте вот стоит конвейер и здесь, предположим, 15 устр-в некие из них можно удалить, а соединить их в том порядке к-рый требуется для выполнения векторных операций, более того в более сложных случаях можно организовать несколько параллельно-ф-ционирующих конвейеров. И все это делает устр-во настройки, для этого требуется выполнение специальных к-нд, к-рые будут перенастраивать конвейер для векторной обработки данных.
В мире существует несколько десятков СуперЭвм, построенных по векторно-конвейерному принципу. Понятно, что эти СуперЭвм очень дорогостоящие. Приведем таблицу наиболее известных типов СуперЭвм, организованных по векторно-конвейерному принципу.
Модель СуперЭвм |
Производит. в мегафлопп |
Число ПЭ |
Длительность такта ( в нс ) |
Объем цикла |
Элементная база |
|
Для вект. Операций |
Для скаляр.операций |
|||||
CRAY-2 |
487 |
4 |
4.1 |
4.1 |
1Г/38нс |
ЭСЛ СИС 0,35нс[4] |
VP2000 Fujitsu |
533 |
1 |
7.5 |
15.0 |
256Мб/ 60нс |
ЭСЛ БИС 0,35нс |
S-810 Hitachi |
840 |
1 |
14.0 |
28.0 |
256Мб/ 70нс |
ЭСЛ БИС 0,35нс |
CYBER-205 CDC |
40 |
2 |
20.0 |
40.0 |
1Г/50нс |
ЭСЛ БИС 0,75нс |
Стр-ра вычислительной с-мы на базе процессора CRAY – X – MP
Имеется 8 векторных регистров V0-V7, каждый из к-рых содержит 256 ячеек по 64 двоичных разряда. Они имеют прямую связь с локальной памятью. Также имеется 5 векторно-ф-циональных устр-в, образующие векторный конвейер: сложение, логич. операции, сдвиговые операции, подсчет 1 и номер старшей 1. Векторные ф-циональные устр-ва используют используют данные из векторного регистрового файла. Этот регистровый файл, как минимум, двухвходовый, если образуется один конвейер, четырехвходовый, если образуется 2 конвейера. Мы говорили, что при конвейерной обработке обязательно наличие буферных регистров, к-рые устанавливаются м/у стадиями. В этом же случае, для того чтобы организовать конвейер перенастраиваемый, используются несколько векторных устр-в и они соединяются ч/з буферные регистры к-рыми являются векторные регистры, т.е. векторный регистровый файл изначально многовходовый. Конвейер образ-ся с исп-ванием этих векторных регистров, причем т-ка подключения к этим векторным регистрам постоянно меняется. Оказывается, что требуется маскирование нек-рых данных, к-рые не должны учавствовать в операции, например, при распределении данных одно устр-во выбирает четные эл-нты вектора, а другое — нечетные, поэтому имеются спец. группа регистров упр-ия, в том числе и регистор масок, к-рый указывает на данные, к-рые не подвергаются обр-ке или подвергаются.
Нарисуем 3 регистра упр-ия – вектор маски, вектор режимов и счетчик тактов. Далее оказывается, что все эти векторные ф-циональные устр-ва явл. устр-вами целочисленной арифметики, а нам требуется еще выполнять операции с плавающей точкой. Поэтому рисуем еще ф-циональные устр-ва с плавающей точкой: сложение (имеет 6 стадий), умножение (7 стадий) и вычисление обратной вел-ны (14 стадий). Они не участвуют в образовании конвейера для сцепления и разветвления данных и заведомо имеют разное время вычисления, к-рое, в том числе, зависит от конкретных значений данных, но сами они строятся по конвейерному принципу. Поэтому обмена м/у ними не рисуем. Скалярная часть состоит из 8 скалярных 64-х разрядных регистров: S0-S7. Скалярных ф-циональных устр-в имеется всего 4: сложение, логические операции, сдвиг и подсчет единиц. Понятно, что скалярные устр-ва берут свои данные из скалярного регистрового файла, где имеется 8 регистров. Также имеется 8 адресных 64-х разрядных регистров: А0-А7. Имеется 2 адресных устр-ва: сложение и специализир. умножение (на целочисленную константу). Имеется 4 буферных блока памяти, называемые буфером к-нд. Фактически, одновременно в этом векторном процессоре находятся 4 фрагмента к-нд, а сами буфера м/б разделены на части. Это фактически кэш-память к-нд. Т.е. наиболее часто используемые фрагменты к-нд находятся в местах этой буферной памяти и более того реал-ся опережающее чтение фрагментов кода для последующего их выполнения процессором, в том числе, как скалярных, так и векторных. Каждый буфер содержит 64 16-ти разрядных слова. В среднем 24 к-нды помещается в каждом из буферов. Также ставили кэш-память данных для каждого из групп регистров: Т и В.
Последней конструктивной особенностью СуперЭвм CRAY является то, что расстояние м/у ф-циональными узлами сказывается на его быстродействии. Поэтому она сделана ввиде такого тора.
В связи с тем, что если сделать ее вытянутую в линию, то окажется, что м/у 2-мя концами распространение сигнала столь длительное, что очень сложно синхронизвать работу частей, находящихся наиболее удаленно. Поэтому сделали в виде «бублика», чтобы эту проблему решить. Получили макс. длину связи 6.2 м.
[1] 1 мегафлопп – это 1млн. операций в сек.
[2] ЭСЛ – эмитерно-связанная логика
[3] СИС – средняя интегральная схема
[4] 0,35нс – базовый эл-нт переключается за 0,35нс