статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

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

Материал из Энциклопедии в свободной энциклопедии
Перейти к: навигация, поиск
Процессорная плата векторного компьютера Cray YMP

Векторный процессор в это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных в векторы. Отличается от скалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинство процессоров являются скалярными или близкими к ним. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров начиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров из сферы повседневных процессоров.

В большинстве современных микропроцессоров имеются векторные расширения (см. SSE). Кроме того, современные видеокарты и физические ускорители можно рассматривать как векторные сопроцессоры.

[править] Иллюстрация работы

Для иллюстрации разницы в работе векторного и скалярного процессора, рассмотрим простой пример попарного сложения двух наборов по 10 чисел. При "обычном" программировании используется цикл, который берёт пары чисел последовательно, и складывает их:

повторить цикл 10 раз
  прочитать следующую инструкцию и декодировать
  получить первое слагаемое
  получить второе слагаемое
  сложить
  сохранить результат
конец цикла

Для векторного процессора алгоритм будет значительно отличаться:

прочитать следующую инструкцию и декодировать
получить 10 первых слагаемых
получить 10 вторых слагаемых
сложить
сохранить результат

Реализация Cray расширила возможности вычислений, позволяя выполнять несколько различных операций сразу. Для примера, рассмотрим код складывающий 2 набора чисел и умножающий на третий, в Cray эти операции осуществились бы так:

прочитать следующую инструкцию и декодировать
получить 10 чисел
получить 10 чисел
получить 10 чисел
сложить и умножить их
сохранить результат

Таким образом, математические операции выполняются гораздо быстрее, основным ограничивающим фактором становится время, необходимое для извлечения данных из памяти.

[править] См. также

[править] Ссылки

Пространства имён

Варианты
Просмотры
Действия