SIMD

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 11:38, 19 листопада 2024, створена АтаБот (обговорення | внесок) (check wiki 52 та інше за допомогою AWB)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку
Класифікація Флінна
Одиночний
потік
інструкцій

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-інструкцій, що надає стандартизоване прискорення для засобів медіа та сигнальної обробки прикладних програм.

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]