logo search
Архитектура ВС (Карцева А

Понятие векторного процессора

Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. Векторный процессор может быть реализован в двух вариантах. В первом он представляет собой дополнительный блок к универсальной вычислительной машине (системе). Во вто­ром — векторный процессор — это основа самостоятельной ВС.

Рассмотрим возможные подходы к архитектуре средств векторной обработки. Наиболее распространенные из них сводятся к трем группам:

Последний вариант — один из случаев многопроцессорной системы, известной как матричная ВС. Понятие векторного процессора имеет отношение к двум первым группам, причем, как правило, к первой. Эти две категории иллюстрирует рис. 29.3.

Рис.29.3.Варианты векторных вычислений: а – с конвейерным АЛУ; б – с несколькими АЛУ

В варианте с конвейерным АЛУ (рис. 29.3, а) обработка элементов векторов производится конвейерным АЛУ для чисел с плавающей запятой (ПЗ). Операции с числами в форме с ПЗ достаточно сложны, но поддаются разбиению на отдель­ные шаги. Так, сложение двух чисел может быть сведено к четырем этапам:

Рис.29.4. Обработка векторов: а – структура арифметического конвейера для чисел с плавающей запятой; б – обозначение конвейера; в – обработка векторов в конвейерном АЛУ; г – параллельная обработка векторов несколькими конвейерными АЛУ; д – конвейерная обработка векторов четырьмя АЛУ

сравнению порядков, сдвигу мантиссы меньшего из чисел, сложению мантисс и нормализации результата (рис. 29.4, а). Каждый этап может быть реализован с помощью отдельной ступени конвейерного АЛУ (рис. 29.4, б). Очередной эле­мент вектора подается на вход конвейера, как только освобождается первая ступень (рис. 29.4, в). Ясно, что такой вариант вполне годится для обработки векторов.

Одновременные операции над элементами векторов можно проводить и с по­мощью нескольких параллельно используемых АЛУ, каждое из которых отвечает за одну пару элементов (см. рис. 29.3, б). Такого рода обработка, когда каждое из АЛУ является конвейерным, показана на рис. 29.4, г.

Если параллельно используются конвейерные АЛУ, то возможен еще один уровень конвейеризации, что иллюстрирует рис. 29.4, д. Вычислительные системы, где реализована эта идея, называют векторно-конвейерными. Коммерческие векторноконвейерные ВС, в состав которых для обеспечения универсальности включен также скалярный процессор, известны как суперЭВМ.