Векторный процессор
Векторный процессор — это процессор, в котором операндами некоторых команд могут выступать упорядоченные массивы данных — векторы. Отличается от скалярных процессоров, которые могут работать только с одним операндом в единицу времени. Абсолютное большинство процессоров является скалярным или близким к нему. Векторные процессоры были распространены в сфере научных вычислений, где они являлись основой большинства суперкомпьютеров начиная с 1980-х до 1990-х. Но резкое увеличение производительности и активная разработка новых процессоров привели к вытеснению векторных процессоров из сферы повседневных процессоров.
В большинстве современных микропроцессоров имеются векторные расширения (см.
Иллюстрация работы
Для иллюстрации разницы в работе векторного и скалярного процессора рассмотрим простой пример попарного сложения двух наборов по 10 чисел. При «обычном» программировании используется цикл, который берёт пары чисел последовательно, и складывает их:
повторить цикл 10 раз прочитать следующую инструкцию и декодировать получить первое слагаемое получить второе слагаемое сложить сохранить результат конец цикла
Для векторного процессора алгоритм будет значительно отличаться:
прочитать следующую инструкцию и декодировать получить 10 первых слагаемых получить 10 вторых слагаемых сложить сохранить результат
Реализация Cray расширила возможности вычислений, позволяя выполнять несколько различных операций сразу. Для примера рассмотрим код, складывающий 2 набора чисел и умножающий на третий, в Cray эти операции осуществились бы так:
прочитать следующую инструкцию и декодировать получить 10 чисел получить 10 чисел получить 10 чисел сложить и умножить их сохранить результат
Таким образом, математические операции выполняются гораздо быстрее, основным ограничивающим фактором становится время, необходимое для извлечения данных из памяти.
Программирование под гетерогенные вычислительные архитектуры
Различные машины были спроектированы с применением и традиционных и векторных процессоров, например,
См. также
Примечания
- ISBN 978-1-61284-425-1)
{{citation}}
: Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка - ↑ John Darlinton, Moustafa Ghanem, Yike Guo, Hing Wing To (1996), "Guided Resource Organisation in Heterogeneous Parallel Computing", Journal of High Performance Computing, 4 (1): 13—23, Архивировано 8 июня 2013, Дата обращения: 16 декабря 2012
{{citation}}
: Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка) Источник . Дата обращения: 16 декабря 2012. Архивировано 8 июня 2013 года.
Ссылки
- The History of the Development of Parallel Computing Архивная копия от 5 декабря 1996 на Wayback Machine (from 1955 to 1993)