SIMD

Класифікація Флінна
Одиночний
потік
інструкцій

Single Instruction
Множинний
потік
інструкцій

Multiple Instruction
Одиночний
потік
даних

Single Data
SISD MISD
Множинний
потік
даних

Multiple Data
SIMD MIMD
Цей шаблон:
  • переглянути
  • обговорити
  • редагувати

SIMD (англ. single instruction, multiple data — одиночний потік команд, множинний потік даних) — це елемент класифікації згідно з таксономією Флінна для паралельних процесорів, де до багатьох елементів даних виконується одна або однакові команди.

SIMD — це одна з головних умов, котра гарантує можливість паралельного виконання алгоритмів.

Використання

У сучасних персональних комп'ютерах дана архітектура проявляється у вигляді інтеграції до процесору спеціальних наборів інструкцій чи розширень команд (MMX, SSE, AVX тощо) для прискорення обробки певних видів обчислень. Також до ПК можуть встановлюватися окремі плати розширення (наприклад, відеокарти), котрих можна назвати представниками архітектури SIMD.

Приклади застосування

Під час обробки мультимедійної інформації, наприклад накладання фільтрів, необхідно виконувати однакові дії над кожним пікселем зображення — саме тому дана архітектура дуже широко використовується при обробці мультимедійної інформації.

  • Векторний процесор — процесор, в якому операндами деяких команд можуть слугувати впорядковані масиви даних — вектори.
  • GPU — орієнтація відеокарт — це обробка мультимедійної відеоінформації, яка найкраще відповідає представленню SIMD-архітектури.
  • Архітектура MAJC[en] — багатоядерний та багатопотоковий мікропроцесор, від компанії Sun Microsystems, котрий був орієнтований на обробку мультимедійної інформації у мережі.
  • Векторні розширення центрального процесора x86 та x86-64: в центральні процесори додавалися набори інструкцій для роботи з мультимедійними даними:
  1. MMX (Multimedia Extensions) - комерційна назва додаткового набору інструкцій, що виконують характерні для процесів кодування / декодування потокових аудіо / відео даних дії за одну машинну інструкцію.
  2. 3DNow!  — розширення для набору інструкцій платформи X86, яку розробила компанія Advanced Micro Devices(AMD), що дозволяє виконувати прості векторні операції,.
  3. SSE (Streaming SIMD Extensions) — набір інструкцій, розроблених Intel для Pentium III, як відповідь на аналогічний набір інструкцій 3DNow! від AMD
  4. AVX (Advanced Vector Extensions) — розширення системи команд X86 для мікропроцесорів Intel та AMD, запропоноване компанією Intel у березні 2008.
  • Векторні розширення процесорів NEON ARM — набір з 64- та 128-бітових SIMD-інструкцій, що надає стандартизоване прискорення для засобів медіа та сигнальної обробки прикладних програм.

Див. також

Посилання

  • http://dictionary.reference.com/browse/single+instruction/multiple+data [Архівовано 7 вересня 2015 у Wayback Machine.]
  • http://arstechnica.com/features/2000/03/simd/ [Архівовано 17 січня 2013 у Wayback Machine.]
  • http://parallel.ru/news/sun_majc.html [Архівовано 11 вересня 2014 у Wayback Machine.]
  • http://www.arm.com/products/processors/technologies/neon.php [Архівовано 10 лютого 2017 у Wayback Machine.]
  • п
  • о
  • р
Архітектура
Архітектура системи команд
Розрядність
Виконання інструкцій
Паралельні обчислення
Багатонитевість
Таксономія Флінна
Типи
Складові
Управління живленням[en]
  • APM
  • ACPI
  • Динамічна зміна частоти[en]
  • Динамічна зміна напруги[en]
  • Clock gating
  • п
  • о
  • р
Загальне
Рівні паралелізму
Bit · Instruction · Data · Task
Нитки
Super-threading · Hyper-threading
Теорія
Елементи
Координація
Програмування
Апаратне забезпечення

Багатопроцесорність (Симетрична · Асиметрична· Пам'ять (NUMA · COMA · distributed · shared · distributed shared) · SMT

Масово-паралельна архітектура · Суперскалярність · Векторний процесор · Суперкомп'ютер · Beowulf
API
Проблеми
Ця стаття потребує додаткових посилань на джерела для поліпшення її перевірності. Будь ласка, допоможіть удосконалити цю статтю, додавши посилання на надійні (авторитетні) джерела. Зверніться на сторінку обговорення за поясненнями та допоможіть виправити недоліки.
Матеріал без джерел може бути піддано сумніву та вилучено.
(січень 2016)
{{{alt}}} Це незавершена стаття про апаратне забезпечення.
Ви можете допомогти проєкту, виправивши або дописавши її.