Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




План лекции.

1. Понятие вектора и размещение данных в памяти.

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

3. Структура векторного процессора.

4. Структуры типа “память-память” и “регистр-регистр”.

5. Обработка длинных векторов и матриц.

6. Ускорение вычислений.

Понятие вектора и размещение данных в памяти

 

В средствах векторной обработки под вектором понимается одномерный массив однотипных данных (обычно в форме с плавающей запятой), регулярным образом размещенных в памяти ВС. Если обработке подвергаются многомерные массивы, их также рассматривают как векторы. Такой подход допустим, если учесть, каким образом многомерные массивы хранятся в памяти ВМ. Пусть имеется массив данных А, представляющий собой прямоугольную матрицу раз-мерности 4×5 (рис. 7.1).

a11 a12 a13 a14 a15
a21 a22 a23 a24 a25
a31 a32 a33 a34 a35
a41 a42 a43 a44 a45

 

Рис. 7.1. Прямоугольная матрица данных

 

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

Действия над многомерными массивами имеют свою специфику. В дву-мерном массиве обработка может вестись как по строкам, так и по столбцам. Это выражается в том, с каким шагом должен меняться адрес очередного вы- бираемого из памяти элемента. Если рассмотренная в примере матрица распо-ложена в памяти построчно, то адреса последовательных элементов строки раз-личаются на единицу, а для элементов столбца шаг равен пяти. При размеще- нии матрицы по столбцам единице будет равен шаг по столбцу, а шаг по строке – четырем. В векторной концепции для обозначения шага, с которым элементы вектора извлекаются из памяти, применяется термин шаг по индексу (stride).

Еще одной характеристикой вектора является число составляющих его элементов – длина вектора.

 

 

Рис. 7.2. Способы размещения в памяти матрицы 4 ´ 5

 

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

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

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

§ конвейерное АЛУ;

§ массив АЛУ;

§ массив процессорных элементов.

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

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

 

 

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

б – с несколькими АЛУ

 

Одновременные операции над элементами векторов можно проводить и с помощью нескольких параллельно используемых АЛУ, каждое из которых

отвечает за одну пару элементов (рис. 7.3, б). Такого рода обработка, когда каждое из АЛУ является конвейерным, показана на рис. 7.5, а.

 

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

в – обработка векторов в конвейерном АЛУ.

 

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

 

 

 

 

Рис. 7.5. Обработка векторов: а – параллельная обработка векторов несколькими конвейерными АЛУ; б – конвейерная обработка векторов четырьмя АЛУ

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...