Таксономія Флінна
Матеріал з Вікіпедії — вільної енциклопедії.
ТАКСОНОМІЯ (КЛАСИФІКАЦІЯ) ФЛІННА - загальна класифікація архітектур ЕОМ за ознаками наявності паралелізму в потоках команд (управління) і даних. Була запропонована в 70-ті роки М. Флінном (M. Flynn). Вся розмаїтість архітектур ЕОМ в цій таксономії Флінна зводиться до чотирьох класів:
- SISD (single instruction – single data) – одиночний потік команд і даних. Паралелізм відсутній. До цієї категорії відносяться послідовні архітектури, у тому числі й фон-нойманівского типу.
- SIMD (single instruction – multiple data) – одиночний потік команд і декілька потоків даних. Паралелізм в таких архітектурах полягає в можливості одночасного виконання однієї й тої ж операції над декількома елементами даних. Досягається це централізованою видачею команд декільком обчислювальним пристроям спільним для них пристроєм управління. Найпоширенішими представниками архітектур типу SIMD є так звані векторні ЕОМ, оптимізовані для паралельного виконання однотипних операцій над елементами векторів і матриць. Спеціалізовані векторні процесори іноді вбудовуються в комп'ютери загального призначення. Зокрема, в багатьох сучасних мікропроцесоріах вбудовані обмежені можливості векторних обчислень для обробки мультимедіа.
- MISD (multiple instruction – single data) – декілька потоків команд, одиночний потік даних. Фахівці дотепер не прийшли до єдиної думки щодо того, які архітектури відносити до даного класу. Деякі включають у нього конвеєрні обчислювачі, в яких цілісна операція розбивається на послідовність більш простих етапів з суміщенням різних етапів для різних порцій даних у часі. Таким чином, в певному кожна порція даних від моменту завантаження з пам'яті до запису результату обробки проходить через декілька етапів обробки (стадій конвейера). Подібні принципи покладені в основу систолічних архитектур, які також відносяться до цього класу.
- MIMD (multiple instructions – multiple data) – декілька потоків команд і даних. Найпоширеніший на сьогоднішній день клас паралельних архітектур, в яких кожний процесор здатний працювати незалежно від інших над своїм завданням.