Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Klassifikatsiya_Flina.doc
Скачиваний:
4
Добавлен:
28.06.2024
Размер:
236.54 Кб
Скачать

1. Анализ классической классификации Флинна.

Классификация Флинна (Flynn’s taxonomy – таксономия Флинна) – обобщенная классификация архитектур ЭВМ по признакам наличия параллелизма в потоках команд и данных. Была предложена Майклом Флинном в 1966 году и расширена в 1972 году. Классификация основана на естественной двухмерной таблице, в которой получаются четыре класса.

Одиночный поток команд

Множество потоков команд

Одиночный поток данных

SISD

MISD

Множество потоков данных

SIMD

MIMD

Рис.1.1. Классическая классификация Флинна

Класс sisd

Рис.1.2. Принцип класса SISD

Архитектура SISD – это традиционный компьютер фон-неймановской архитектуры с одним процессором, который выполняет последовательно одну команду за другой, работая с одним потоком данных.

В данном классе не используется параллелизм ни данных, ни инструкций, следовательно, такая машина абсолютно не является параллельной.

Класс simd

Рис.1.3. Принцип класса SIMD

Типичными представителями этого класса являются, во-первых, векторные процессоры, во-вторых, обычные современные процессоры, когда они работают в режиме выполнения команд векторных расширений, а в-третьих, особые подвиды многопроцессорных систем, такие как графические процессоры, либо матричные процессоры.

В вычислительных системах этого класса имеется множество процессоров, поэтому можно разделить такой класс на подклассы по типу взаимодействия с памятью. Этот класс делят на два подкласса:

  • SM-SIMD (shared memory SIMD) – SIMD с общей памятью;

  • DM-SIMD (distributed memory SIMD) – SIMD с распределенной памятью

Но организация памяти многопроцессорных систем – это обширная тема и будет рассмотрена отдельно.

Класс misd

A)

B)

Рис. 1.4. Два возможных принципа построения класса MISD: A) конвейерный, B) разветвляющийся

Из определения следует, что в системе присутствует множество процессорных элементов обрабатывающих один и тот же поток данных. К сожалению, это определение не однозначно: во-первых, его можно понимать как конвейерную обработку данных (A), но тогда это не параллельная система, а последовательная, во-вторых, его можно понимать как параллельную обработку, превращающую один поток данных в несколько потоков данных (B).

Поскольку результирующие потоки данных должны снова направляться в пул данных, а оттуда на вычислительное устройство того же класса MISD, то схема (В) приводит к лавинообразному размножению потоков данных. Во многих источниках указано, что ни Флинн, ни другие специалисты в области архитектуры компьютеров, до сих пор не сумели представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Поэтому принято считать, что пока данный класс пуст.

Класс mimd

Рис.1.5. Классический принцип построения класса MIMD

Обычно к этому классу относят параллельные устройства, работающие по приведенной на рис.1.5 схеме, т.е. имеющие N входных потоков данных, N выходных потоков данных и поток из N потоков инструкций, каждый поток инструкций обрабатывает свой поток данных, т.е. по сути, это набор из N штук SISD устройств.

Сюда принято относить традицион­ные мультипроцессорные машины, многоядерные и многопоточные процессоры, а также компьютерные кластеры.

Однако из определения класса можно вывести и другие схемы, в которых количества потоков данных не равно количеству потоков инструкций, при этом может оказаться, что количество выходных потоков данных не равно количеству входных потоков данных. Если система имеет N входных потоков данных, а M потоков инструкций, то возможны следующие варианты типов:

  1. MIMD устройство представляет собой N параллельных MISD устройств типа (А);

  2. MIMD устройство представляет собой N параллельных MISD устройств типа (B);

  3. MIMD устройство представляет собой M параллельных SIMD устройств;

  4. MIMD устройство, являющейся матрицей (MN) процессорных элементов, представля­ющей декартово произведение M потоков команд на N потоков данных.

Рассмотрим их подробнее, при этом будем называть типом 0 схему, приведенную в начале раздела на рис.1.5.