Понятие векторного процессора
Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. Векторный процессор может быть реализован в двух вариантах. В первом он представляет собой дополнительный блок к универсальной вычислительной машине (системе). Во втором — векторный процессор — это основа самостоятельной ВС.
Рассмотрим возможные подходы к архитектуре средств векторной обработки. Наиболее распространенные из них сводятся к трем группам:
конвейерное АЛУ;
массив АЛУ;
массив процессорных элементов.
Последний вариант — один из случаев многопроцессорной системы, известной как матричная ВС. Понятие векторного процессора имеет отношение к двум первым группам, причем, как правило, к первой. Эти две категории иллюстрирует рис. 29.3.
Рис.29.3.Варианты векторных вычислений: а – с конвейерным АЛУ; б – с несколькими АЛУ
В варианте с конвейерным АЛУ (рис. 29.3, а) обработка элементов векторов производится конвейерным АЛУ для чисел с плавающей запятой (ПЗ). Операции с числами в форме с ПЗ достаточно сложны, но поддаются разбиению на отдельные шаги. Так, сложение двух чисел может быть сведено к четырем этапам:
Рис.29.4. Обработка векторов: а – структура арифметического конвейера для чисел с плавающей запятой; б – обозначение конвейера; в – обработка векторов в конвейерном АЛУ; г – параллельная обработка векторов несколькими конвейерными АЛУ; д – конвейерная обработка векторов четырьмя АЛУ
сравнению порядков, сдвигу мантиссы меньшего из чисел, сложению мантисс и нормализации результата (рис. 29.4, а). Каждый этап может быть реализован с помощью отдельной ступени конвейерного АЛУ (рис. 29.4, б). Очередной элемент вектора подается на вход конвейера, как только освобождается первая ступень (рис. 29.4, в). Ясно, что такой вариант вполне годится для обработки векторов.
Одновременные операции над элементами векторов можно проводить и с помощью нескольких параллельно используемых АЛУ, каждое из которых отвечает за одну пару элементов (см. рис. 29.3, б). Такого рода обработка, когда каждое из АЛУ является конвейерным, показана на рис. 29.4, г.
Если параллельно используются конвейерные АЛУ, то возможен еще один уровень конвейеризации, что иллюстрирует рис. 29.4, д. Вычислительные системы, где реализована эта идея, называют векторно-конвейерными. Коммерческие векторноконвейерные ВС, в состав которых для обеспечения универсальности включен также скалярный процессор, известны как суперЭВМ.
- 29. Вычислительные системы класса simd
- Векторные и векторно-конвейерные вычислительные системы
- Понятие вектора и размещение данных в памяти
- Понятие векторного процессора
- Структура векторного процессора
- Ускорение вычислений
- Матричные вычислительные системы
- Массив процессоров
- Структура процессорного элемента
- Подключение и отключение процессорных элементов
- Сети взаимосвязей процессорных элементов
- Ассоциативные вычислительные системы
- Вычислительные системы с систолической структурой
- Классификация систолических структур
- Топология систолических структур
- Пример вычислений с помощью систолического процессора
- Вычислительные системы с командными словами сверхбольшой длины (vliw)