Intel вики
Advertisement

Шаблон:Классификация по Флинну

SIMD (Шаблон:Lang-en — одиночный поток команд, множественный поток данных, ОКМД) — принцип компьютерных вычислений, позволяющий обеспечить параллелизм на уровне данных. Один из классов вычислительных систем в классификации Флинна.

SIMD-компьютеры состоят из одного командного процессора (управляющего модуля), называемого контроллером, и нескольких модулей обработки данных, называемых процессорными элементами. Управляющий модуль принимает, анализирует и выполняет команды. Если в команде встречаются данные, контроллер рассылает на все процессорные элементы команду, и эта команда выполняется на нескольких или на всех процессорных элементах. Каждый процессорный элемент имеет свою собственную память для хранения данных. Одним из преимуществ данной архитектуры считается то, что в этом случае более эффективно реализована логика вычислений. До половины логических инструкций обычного процессора связано с управлением выполнением машинных команд, а остальная их часть относится к работе с внутренней памятью процессора и выполнению арифметических операций. В SIMD-компьютере управление выполняется контроллером, а «арифметика» отдана процессорным элементам.

Векторные процессоры также использовали принцип SIMD, одной командой могли обрабатываться векторы размером до нескольких тысяч элементов.

SIMD-расширения различных архитектур[]

Короткие SIMD инструкции (64 или 128 бит) стали появляться в процессорах общего назначения в 1990-х годах. В разной степени следующие процессорные архитектуры поддерживают SIMD-расширения или SIMD-инструкции:

  • DEC Alpha — Motion Video Instructions (MVI)
  • IBM PowerPC: AltiVec, SPE
  • HP's PA-RISC Multimedia Acceleration eXtensions (MAX)
  • Intel: MMX, iwMMXt, SSE, SSE2, SSE3, SSSE3, SSE4.x, AVX, AVX2, AVX512
  • AMD: 3DNow!
  • ARC: ARC Video subsystem
  • SPARC: VIS, VIS2
  • Sun: MAJC
  • ARM: NEON
  • MIPS: MDMX (MaDMaX), MIPS-3D

Группа из IBM, Sony, Toshiba совместно разработала для процессора Cell Processor сопроцессор SPU, набор команд которого в значительной степени использовал SIMD. NXP (Philips) разработала несколько SIMD-процессоров Xetal, в котором имелось 320 процессорных элементов, работавших с 16-битными данными.

Современные видеоускорители (GPU) обычно основаны на SIMD-архитектуре с поддержкой векторов длины 128, 256 или более бит.

Расширение Advanced Vector Extensions компании Intel предоставляет набор SIMD-инструкций для обработки данных в формате с плавающей запятой в группах длиной 256 бит. Сопроцессоры Intel MIC включают в себя 512-битный набор инструкций.

x86-совместимые процессоры[]

Шаблон:Устарело

  • MMX — Multimedia Extensions. Коммерческое название дополнительного набора инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио-/видеоданных действия за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX.
  • MMX Extended — расширенный набор инструкций MMX, используемый в процессорах AMD и Cyrix.
  • 3DNow! — расширение набора команд MMX процессоров AMD, начиная с AMD K6-2.
  • 3DNow! Extended — расширение набора команд 3DNow! процессоров AMD, начиная с AMD Athlon.
  • SSE — набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium III.
  • SSE2 — набор инструкций, разработанный Intel и впервые представленный в процессорах серии Pentium 4.
  • SSE3 — третья версия SIMD-расширения Intel, потомок SSE, SSE2 и x87. Представлен 2 февраля 2004 года в ядре Prescott процессора Pentium 4.
  • SSSE3 — набор SIMD-инструкций, используемый в процессорах Intel Core 2 Duo.
  • SSE4 — новая версия SIMD-расширения Intel. Анонсирован 27 сентября 2006 года. Представлен в 2007 году в процессорах серии Penryn.
  • AVX — анонсированная версия SIMD-расширения Intel, которая представлена в 2010 году в процессорах архитектуры Sandy Bridge.
  • AVX2
  • AVX512

См. также[]

  • Таксономия Флинна
  • Система команд
  • Список систем команд
  • Архитектура набора команд
  • Расширения архитектуры x86

Шаблон:Нет источников

Шаблон:Наборы инструкций процессоров x86 Шаблон:Технологии CPU

Шаблон:Comp-hardware-stub

Advertisement