Обобщенная структура векторно-конвейерных ВС


Обобщенная структура векторно-конвейерных ВС

поддержка специализированных процессоров

 

Из этой схемы видно, что для организации векторно-конвейерной обработки данных требуется поддержка специализированных процессоров, в данном случае двух : скалярный процессор, потому что не все задачи сводятся к векторной обработке, и командный процессор, который обеспечит настройку операционного конвейера, помните мы говорили, что есть сцепление данных, есть распределение данных; в состав самого конвейера могут входить те или иные функциональные устройства, необязательно все, то есть считайте вот стоит конвейер и здесь, предположим, 15 устройств некие из них можно удалить, а соединить их в том порядке который требуется для выполнения векторных операций, более того в более сложных случаях можно организовать несколько параллельно-функционирующих конвейеров. И все это делает устройство настройки, для этого требуется выполнение специальных команд, которые будут перенастраивать конвейер для векторной обработки данных.

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

Модель СуперЭвм

Производит. в мегафлопп[1]

Число ПЭ

Длительность такта ( в нс )

Объем цикла

Элементная база

Для вект. Операций

Для скаляр.операций

CRAY-2

487

4

4.1

4.1

1Г/38нс

ЭСЛ[2]

СИС[3]

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

Структура вычислительной системы на базе процессора 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 является то, что расстояние между функциональными узлами сказывается на его быстродействии. Поэтому она сделана ввиде такого тора.

Супер Эвм

В связи с тем, что если сделать ее вытянутую в линию, то окажется, что между двумя концами распространение сигнала столь длительное, что очень сложно синхронизовать работу частей, находящихся наиболее удаленно. Поэтому сделали в виде «бублика», чтобы эту проблему решить. Получили максимальную длину связи 6.2 метра.


[1] 1 мегафлоп – это 1млн. операций в сек.

[2] ЭСЛ – эмитерно-связанная логика

[3] СИС – средняя интегральная схема

[4] 0,35нс – базовый элемент переключается за 0,35нс

Загрузка...