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