Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вычи экзамен.doc
Скачиваний:
26
Добавлен:
13.11.2019
Размер:
2.29 Mб
Скачать
  1. Векторные и векторно-конвейерные вычислительные системы. Матричные вычислительные системы.

Векторные и векторно-конвейерные вычислительные системы.

Для обработки массивов требуются вычислительные средства, позволяющие с помощью единой команды производить действие сразу над всеми элементами массивов — средства векторной обработки.

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

Если обработке подвергаются многомерные массивы, их также рассматривают как векторы.

Векторный процессор – процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных – векторы.

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

Наиболее распространенными подходами к архитектуре средств векторной обработки являются: конвейерное АЛУ; массив АЛУ; массив процессорных элементов (матричная ВС).

Группа 1602 Группа 1619

а) б)

Рис. 1.4. Варианты векторной обработки: а – конвейерное АЛУ; б – массив АЛУ

В варианте с конвейерным АЛУ предполагается, что операции над числами достаточно сложны и поддаются разбиению на отдельные фазы.

Например, операция сложения над числами в форме с плавающей запятой (ПЗ) предполагает наличие следующих фаз обработки: выравнивание порядков; сдвиг мантиссы; сложение мантисс; нормализация.

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

Матричные вычислительные системы.

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

Рис. 1.5. Структура матричной вычислительной системы

Именно характер связей между ПЭ и определяет разные свойства системы. Ранее уже отмечалось, что подобная схема применима и для векторных вычислений.

Между матричными и векторными системами есть существенная разница. Мат­ричный процессор интегрирует множество идентичных функциональных блоков (ФБ), логически объединенных в матрицу и работающих в SIMD-стиле.

Не столь существенно, как конструктивно реализована матрица процессорных элементов — на едином кристалле или на нескольких. Важен сам принцип — ФБ логически ском­понованы в матрицу и работают синхронно, то есть присутствует только один поток команд для всех блоков.

Векторный процессор имеет встроенные команды для обработки векторов данных, что позволяет эффективно загрузить конвейер из функциональных блоков. В свою очередь, векторные процессоры проще использовать, потому что команды для обработки векторов — это более удобная для человека модель программирования, чем SIMD.

Структура матричной вычислительной системы приведена на рис. 1.5.

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

Массив процессоров помимо множества процессоров должен включать в себя множество модулей памяти. Кроме того, в массиве должна быть реализована сеть взаимосвязей, как между процессорами, так и между процессорами и модулями памяти. Таким образом, под термином массив процессоров понимается блок, состоящий из процессоров, модулей памяти и сети соединений.

В матричных SIMD-системах распространение получили распространение два основных типа архитектурной организации массива процессорных элементов.

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

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

В качестве процессорных элементов в большинстве матричных SIMD-систем применяются простые RISC-процессоры с локальной памятью ограниченной емкости.