Общая классификация архитектур ЭВМ по признакам наличия параллелизма в потоках команд и данных была предложена Майклом Флинном в 1966 году[1] и расширена в 1972 году[2]. Все разнообразие архитектур ЭВМ в этой таксономии сводится к четырем классам:
· ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных
(SISD, Single Instruction stream over a Single Data stream).
· ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных
(SIMD, Single Instruction, Multiple Data).
· МКОД — Вычислительная система со множественным потоком команд и одиночным потокомданных
(MISD, Multiple Instruction Single Data).
· МКМД — Вычислительная система со множественным потоком команд и множественным потокомданных
(MIMD, Multiple Instruction Multiple Data).
Типичными представителями SIMD являются векторные архитектуры. К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания, поэтому можно считать, что реальных систем — представителей данного класса не существует. КлассMIMD включает в себя многопроцессорные системы, где процессоры обрабатывают множественные потоки данных.
Отношение конкретных машин к конкретному классу сильно зависит от точки зрения исследователя. Так, конвейерные машины могут быть отнесены и к классу SISD (конвейер — единый процессор), и к классу SIMD (векторный поток данных с конвейерным процессором) и к классу MISD (множество процессоров конвейера обрабатывают один поток данных последовательно), и к классу MIMD — как выполнение последовательности различных команд (операций ступеней конвейера) на множественным скалярным потоком данных (вектором).