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

Векторный процессор
Процессорная плата векторного компьютера Cray YMP

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

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

Содержание

Иллюстрация работы

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

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

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

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

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

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

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

Программирование под гетерогенные вычислительные архитектуры

Различные машины были спроектированы с применением и традиционных и векторных процессоров, например, Fujitsu AP1000 и AP3000. Программирование для таких гетерогенных машин может оказаться затруднительным, так как разработка программ, которые используют наилучшим образом характеристики разных процессоров повышает нагрузку на программиста. Это увеличивает сложность кода и снижает его переносимость, так как участки кода, требуемые для каждого из процессоров, будут чередоваться на протяжении всей программы[1]. Балансировка рабочей нагрузки приложений на процессорах может быть проблематичной, особенно если учесть, что они обычно имеют различные характеристики производительности. Существуют различные концептуальные модели для решения этой проблемы, например, использование языка координации и программных стандартных блоков (библиотек и/или функций высшего порядка). Каждый блок может иметь различные собственные реализации для каждого типа процессоров. Программист просто использует эту абстракцию, а интеллектуальный компилятор выбирает лучшую реализацию, основываясь на контексте[2].

Примечания

  1. Kunzman, D. M.; Kale, L. V. (2011), "Programming Heterogeneous Systems", «2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum», сс. 2061, ISBN 978-1-61284-425-1, DOI 10.1109/IPDPS.2011.377 
  2. 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, <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.4309> 

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Векторный процессор" в других словарях:

  • векторный процессор — векторная ЭВМ — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы векторная ЭВМ EN vector computer, processor …   Справочник технического переводчика

  • векторный процессор — vektorių procesorius statusas T sritis automatika atitikmenys: angl. vector processor vok. Vektor Prozessor, m; Vektorrechner, m rus. векторный процессор, m pranc. processeur de vecteurs, m …   Automatikos terminų žodynas

  • Процессор изображений — векторный процессор, предназначенный для обработки сигналов, поступающих от датчиков формирователей изображения. См. также: Процессоры Обработка изображений Финансовый словарь Финам …   Финансовый словарь

  • Процессор — У этого термина существуют и другие значения, см. Процессор (значения). Запрос «ЦП» перенаправляется сюда; см. также другие значения. Intel Celeron 1100 Socket 370 в корпусе FC PGA2, вид снизу …   Википедия

  • Процессор в памяти — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Центральный процессор — Intel 80486DX2 в керамическом корпусе PGA. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид снизу. Intel Celeron 400 socket 370 в пластиковом корпусе PPGA, вид сверху …   Википедия

  • Физический процессор — Данные в этой статье приведены по состоянию на 2008 год. Вы можете помочь, обновив информацию в статье …   Википедия

  • Многоядерный процессор — Викиновости по теме …   Википедия

  • Конвейер (процессор) — У этого термина существуют и другие значения, см. Конвейер (значения). Простой пятиуровневый конвейер в RISC процессорах (IF (англ. Instruction Fetch) получение …   Википедия

  • Цифровой сигнальный процессор — (англ. Digital signal processor, DSP; сигнальный микропроцессор, СМП; процессор цифровых сигналов, ПЦС)  специализированный микропроцессор, предназначенный для цифровой обработки сигналов (обычно в реальном масштабе времени) …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»