Векторный процессор


В вычислениях векторный процессор или процессор массива — это центральный процессор (ЦП), который реализует набор инструкций, где его инструкции предназначены для эффективной и действенной работы с большими одномерными массивами данных, называемыми векторами . Это отличается от скалярных процессоров , чьи инструкции работают только с отдельными элементами данных, и от некоторых из тех же скалярных процессоров, имеющих дополнительную одну инструкцию, несколько данных (SIMD) или SWAR.Арифметические единицы. Векторные процессоры могут значительно повысить производительность при определенных рабочих нагрузках, особенно при численном моделировании и подобных задачах. Методы векторной обработки также работают в оборудовании игровых приставок и графических ускорителях .

Векторные машины появились в начале 1970-х годов и доминировали в разработке суперкомпьютеров с 1970-х по 1990-е годы, особенно в различных платформах Cray . Быстрое падение соотношения цены и производительности обычных микропроцессоров привело к упадку векторных суперкомпьютеров в 1990-х годах.

Разработка векторной обработки началась в начале 1960-х годов в Westinghouse в их проекте «Соломон». Цель Соломона состояла в том, чтобы резко повысить математическую производительность за счет использования большого количества простых математических сопроцессоров под управлением одного главного процессора . ЦП подавал одну общую инструкцию всем арифметико-логическим устройствам (ALU), по одной за цикл, но с разными точками данных для каждого из них, над которыми нужно работать. Это позволило машине Соломона применить единый алгоритм к большому набору данных , подаваемых в виде массива.

В 1962 году Westinghouse отменила проект, но усилия были возобновлены в Университете Иллинойса под названием ILLIAC IV . Их версия проекта изначально предусматривала машину производительностью 1 гигафлопс с 256 ALU, но когда она была наконец доставлена ​​в 1972 году, она имела только 64 ALU и могла достигать производительности только от 100 до 150 MFLOPS. Тем не менее, он показал, что основная концепция была разумной, и при использовании в приложениях с интенсивным использованием данных, таких как вычислительная гидродинамика , ILLIAC был самой быстрой машиной в мире. Подход ILLIAC с использованием отдельных ALU для каждого элемента данных не является общим для более поздних разработок и часто упоминается в отдельной категории, массово параллельной .вычисления. Примерно в это же время Флинн классифицировал этот тип обработки как раннюю форму SIMT .

Первыми векторными суперкомпьютерами являются Control Data Corporation STAR-100 и Texas Instruments Advanced Scientific Computer (ASC), которые были представлены в 1974 и 1972 годах соответственно.

Базовый ASC (т. е. одноконвейерный) ALU использовал конвейерную архитектуру, которая поддерживала как скалярные, так и векторные вычисления, с пиковой производительностью, достигающей примерно 20 MFLOPS, легко достигаемой при обработке длинных векторов. Расширенные конфигурации ALU поддерживали «два канала» или «четыре канала» с соответствующим увеличением производительности в 2 или 4 раза. Пропускной способности памяти было достаточно для поддержки этих расширенных режимов.


Процессорный модуль Cray J90 с четырьмя скалярными/векторными процессорами
Симд против вектора.png