Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АССЕМБЛЕР.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
388.1 Кб
Скачать

40 Классификация Флинна

Классификация Флинна— общая классификация архитектур ЭВМ по признакам наличия параллелизма в потоках команд и данных. Была предложена в 1970-е годы Майклом Флинном. Всё разнообразие архитектур ЭВМ в этой таксономии Флинна сводится к четырём классам:

  • ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных (SISD, Single Instruction stream over a Single Data stream).

  • ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных (SIMD, Single Instruction, Multiple Data).

  • МКОД — Вычислительная система со множественным потоком команд и одиночным потоком данных (MISD, Multiple Instruction Single Data).

  • МКМД — Вычислительная система со множественным потоком команд и множественным потоком данных (MIMD, Multiple Instruction Multiple Data).

Архитектура SISD - это классическая архитектура фон Неймана. В вычислительной системе  одно устройство управления и одно исполнительное устройство, например, одно универсальное арифметико - логическое устройство (АЛУ). Вычислительный процесс следует заданному в программе порядку вычислений. 

Архитектура SIMD возникла в связи с развитием структур векторной или матричной обработки данных. Множество исполнительных устройств (АЛУ или процессоров) управляются одной последовательностью команд. При этом, каждый процессор обрабатывает свой поток данных. Массивы обрабатываемых данных представляются в виде матриц или векторов. Это довольно узкий круг задач. Вычислительные системы такого типа были специализированными.  В таких системах решаются сложные системы линейных и нелинейных  уравнений, задачи теории поля, исследования турбулентности и т.д. Векторную архитектуру имели многие первые суперЭВМ, например.

Архитектура MISD - архитектура конвейерного типа. Исполнительные устройства (АЛУ или процессоры) образуют конвейер. Выходные данные одной ступени передаются на вход следующей ступени, по такому принципу работают, например, конвейерные АЛУ. 

Архитектура MIMD - архитектура, в которой каждое АЛУ или каждый процессор системы работают с собственным потоком команд. В Этой архитектуре возможно решение задач, которые разбиваются на мало связанные между собой части, которые могут решаться независимо. Архитектура может быть реализована и как  многомашинная система. 

Типичными представителями SIMD являются векторные архитектуры. К классу MISD ряд исследователей относит конвейерные ЭВМ, однако это не нашло окончательного признания, поэтому можно считать, что реальных систем — представителей данного класса не существует. Класс MIMD включает в себя многопроцессорные системы, где процессоры обрабатывают множественные потоки данных.

Отношение конкретных машин к конкретному классу сильно зависит от точки зрения исследователя. Так, конвейерные машины могут быть отнесены и к классу SISD (конвейер — единый процессор), и к классу SIMD (векторный поток данных с конвейерным процессором) и к классу MISD (множество процессоров конвейера обрабатывают один поток данных последовательно), и к классу MIMD — как выполнение последовательности различных команд (операций ступеней конвейера) на множественным скалярным потоком данных (вектором).