Особенности векторного процессора

· Обработка всех n компонентов векторов-операндов задается одной векторной командой.

· Элементы векторов представляются числами в фор­ме с плавающей запятой (ПЗ).

· АЛУ векторного процессора может быть реализо­вано в виде:

o единого конвейерного устройства, способного выполнять все преду­смотренные операции над числами с ПЗ

o АЛУ состоит из отдельных блоков сложения и умножения, а иногда и блока для вычисления обратной величины, когда операция деления x/yреализуется в виде x(1/y). Каждый из таких блоков также конвейеризирован.

Состав векторной системы:

· Cкалярный процессор, что позволяет параллельно выполнять векторные и скалярные команды.

· Векторные регистры для хранения векторов-операндов, которые представляют собой совокупность скалярных регистров, объединенных в очередь типа FIFO, способную хранить 50-100 чисел с плавающей запятой.

Набор векторных регистров (Va, Vb, Vc,...) имеется в любом векторным процессоре. Система команд векторного процессора поддерживает работу с векторными регистрами и обязательно включает в себя команды:

· загрузки векторного регистра содержимым последовательных ячеек памяти, указанных адресом первой ячейки этой последовательности;

· выполнения операций над всеми элементами векторов, находящихся в векторных регистрах;

· сохранения содержимого векторного регистра в последовательности ячеек памяти, указанных адресом первой ячейки этой последовательности.

· Регистр длины вектора. Этот регистр определяет, сколько элементов фактически содержит обрабатываемый в данный момент вектор, то есть сколько индивидуальных операций с элементами нужно сделать.

· Регистр максимальной длины вектора, определяющий максимальное число элементов вектора, которое может быть одновременно обработано аппаратурой процессора. Этот регистр используется при разделении очень длинных векторов на сегменты, длина которых соответствует максимальному числу элементов, обрабатываемых аппаратурой за один прием.

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

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