.:Векторные процессоры:.
Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. Отличается от
скалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинство процессоров являются скалярными или
близкими к ним. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров начиная с
1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров со сферы
повседневных процессоров.
В большинстве современных микропроцессоров имеются векторные расширения (SSE), кроме того современные видеокарты и физические ускорители можно
рассматривать как векторные сопроцессоры.
Иллюстрация работы
Для иллюстрации разницы в работе векторного и скалярного процессора, рассмотрим простой пример сложения 10 чисел. При "обычном" программировании
используется цикл, который берёт пары чисел последовательно, и складывает их:
повторить цикл 10 раз
прочитать следующую инструкцию и декодировать
получить первое слагаемое
получить второе слагаемое
сложить
сохранить результат
конец цикла
Для векторного процессора алгоритм будет значительно отличаться:
прочитать следующую инструкцию и декодировать
получить 10 первых слагаемых
получить 10 вторых слагаемых
сложить
сохранить результат
|