Класифікація Флінна
|
Одиночний потік інструкцій Single Instruction
|
Множинний потік інструкцій Multiple Instruction
|
Одиночний потік даних Single Data
|
SISD
|
MISD
|
Множинний потік даних Multiple Data
|
SIMD
|
MIMD
|
|
Таксономія (Класифікація) Флінна (англ. Flynn's taxonomy) — загальна класифікація архітектур ЕОМ за ознаками наявності паралелізму в потоках команд (інструкцій) і даних. Була запропонована 1966 року М. Флінном (M. Flynn)[1], означення розширене у публікації 1972 року[2]. Вся розмаїтість архітектур ЕОМ в цій таксономії Флінна зводиться до чотирьох класів:
- SISD (single instruction — single data) — одиночний потік команд і даних. Паралелізм відсутній. До цієї категорії відносяться послідовні архітектури, у тому числі й фон-нойманівского типу.
- SIMD (single instruction — multiple data) — одиночний потік команд і декілька потоків даних. Паралелізм в таких архітектурах полягає в можливості одночасного виконання однієї й тої ж операції над декількома елементами даних. Досягається це централізованою видачею команд декільком обчислювальним пристроям спільним для них пристроєм управління. Найпоширенішими представниками архітектур типу SIMD є так звані векторні ЕОМ, оптимізовані для паралельного виконання однотипних операцій над елементами векторів і матриць. Спеціалізовані векторні процесори іноді вбудовуються в комп'ютери загального призначення. Зокрема, в багатьох сучасних мікропроцесорах вбудовані обмежені можливості векторних обчислень для обробки мультимедіа.
- MISD (multiple instruction — single data) — декілька потоків команд, одиночний потік даних. Фахівці дотепер не прийшли до єдиної думки щодо того, які архітектури відносити до даного класу. Деякі включають у нього конвеєрні обчислювачі, в яких цілісна операція розбивається на послідовність простіших етапів з суміщенням різних етапів для різних порцій даних у часі. Таким чином, в певному кожна порція даних від моменту завантаження з пам'яті до запису результату обробки проходить через декілька етапів обробки (стадій конвеєра). Подібні принципи покладені в основу систолічних архітектур, які також належать до цього класу.
- MIMD (multiple instructions — multiple data) — декілька потоків команд і даних. Найпоширеніший на сьогодні клас паралельних архітектур, у яких кожний процесор здатний працювати незалежно від інших над своїм завданням.
Джерела