Векторный процессор
Векторный процессор в это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных в векторы. Отличается от скалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинство процессоров являются скалярными или близкими к ним. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров начиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров из сферы повседневных процессоров.
В большинстве современных микропроцессоров имеются векторные расширения (см. SSE). Кроме того, современные видеокарты и физические ускорители можно рассматривать как векторные сопроцессоры.
[править] Иллюстрация работы
Для иллюстрации разницы в работе векторного и скалярного процессора, рассмотрим простой пример попарного сложения двух наборов по 10 чисел. При "обычном" программировании используется цикл, который берёт пары чисел последовательно, и складывает их:
повторить цикл 10 раз прочитать следующую инструкцию и декодировать получить первое слагаемое получить второе слагаемое сложить сохранить результат конец цикла
Для векторного процессора алгоритм будет значительно отличаться:
прочитать следующую инструкцию и декодировать получить 10 первых слагаемых получить 10 вторых слагаемых сложить сохранить результат
Реализация Cray расширила возможности вычислений, позволяя выполнять несколько различных операций сразу. Для примера, рассмотрим код складывающий 2 набора чисел и умножающий на третий, в Cray эти операции осуществились бы так:
прочитать следующую инструкцию и декодировать получить 10 чисел получить 10 чисел получить 10 чисел сложить и умножить их сохранить результат
Таким образом, математические операции выполняются гораздо быстрее, основным ограничивающим фактором становится время, необходимое для извлечения данных из памяти.
[править] См. также
[править] Ссылки
- The History of the Development of Parallel Computing (from 1955 to 1993)
| Технологии цифровых процессоров | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Архитектура |
CISC · EDGE · EPIC · MISC · URISC · RISC · VLIW · ZISC · Фон Неймана · Гарвардская · |
||||||||
| Параллелизм |
|
||||||||
| Реализации | DSP · GPU · SoC · PPU · Векторный процессор · Математический сопроцессор Микропроцессор · Микроконтроллер | ||||||||
| Компоненты | Barrel shifter · FPU · BSB · MMU · TLB · Регистровый файл · control unit · АЛУ Демультиплексор · Мультиплексор · Микрокод · Тактовая частота Корпус Регистры Кэш (Кэш процессора) | ||||||||
| Управление питанием | APM · ACPI · Clock gating · Динамическое изменение частоты Динамическое изменение напряжения | ||||||||