Таксономія Флінна

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Класифікація Флінна
Одиночний
потік
інструкцій

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

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

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

Multiple Data
SIMD MIMD

Таксономія (Класифікація) Флінна (англ. Flynn's taxonomy) — загальна класифікація архітектур ЕОМ за ознаками наявності паралелізму в потоках команд (інструкцій) і даних. Була запропонована в 70-ті роки М. Флінном (M. Flynn). Вся розмаїтість архітектур ЕОМ в цій таксономії Флінна зводиться до чотирьох класів:

  • SISD (single instruction — single data) — одиночний потік команд і даних. Паралелізм відсутній. До цієї категорії відносяться послідовні архітектури, у тому числі й фон-нойманівского типу.
  • SIMD (single instruction — multiple data) — одиночний потік команд і декілька потоків даних. Паралелізм в таких архітектурах полягає в можливості одночасного виконання однієї й тої ж операції над декількома елементами даних. Досягається це централізованою видачею команд декільком обчислювальним пристроям спільним для них пристроєм управління. Найпоширенішими представниками архітектур типу SIMD є так звані векторні ЕОМ, оптимізовані для паралельного виконання однотипних операцій над елементами векторів і матриць. Спеціалізовані векторні процесори іноді вбудовуються в комп'ютери загального призначення. Зокрема, в багатьох сучасних мікропроцесоріах вбудовані обмежені можливості векторних обчислень для обробки мультимедіа.
  • MISD (multiple instruction — single data) — декілька потоків команд, одиночний потік даних. Фахівці дотепер не прийшли до єдиної думки щодо того, які архітектури відносити до даного класу. Деякі включають у нього конвеєрні обчислювачі, в яких цілісна операція розбивається на послідовність простіших етапів з суміщенням різних етапів для різних порцій даних у часі. Таким чином, в певному кожна порція даних від моменту завантаження з пам'яті до запису результату обробки проходить через декілька етапів обробки (стадій конвейера). Подібні принципи покладені в основу систолічних архітектур, які також відносяться до цього класу.
  • MIMD (multiple instructions — multiple data) — декілька потоків команд і даних. Найпоширеніший на сьогоднішній день клас паралельних архітектур, в яких кожний процесор здатний працювати незалежно від інших над своїм завданням.