
- •1. Анализ классической классификации Флинна.
- •Класс sisd
- •Класс simd
- •Класс misd
- •Класс mimd
- •Mimd устройство типа 1.
- •Mimd устройство типа 2.
- •Mimd устройства типа 3.
- •Резюме по типам mimd устройств.
- •2. Расширение классификации Флинна.
- •Классы sisd-l и misd-l
- •Класс simd-l
- •Класс sisd-h
- •Класс simd-h
- •3. Дополнительные терминальные классы классификации Флинна.
- •Классы sind-h и mind-h
- •Классы sind-e и mind-e
- •Классы sind-l и mind-l
- •Классы устройств без потоков команд.
- •Заключение.
1. Анализ классической классификации Флинна.
Классификация Флинна (Flynn’s taxonomy – таксономия Флинна) – обобщенная классификация архитектур ЭВМ по признакам наличия параллелизма в потоках команд и данных. Была предложена Майклом Флинном в 1966 году и расширена в 1972 году. Классификация основана на естественной двухмерной таблице, в которой получаются четыре класса.
|
Одиночный поток команд |
Множество потоков команд |
Одиночный поток данных |
SISD |
MISD |
Множество потоков данных |
SIMD |
MIMD |
Рис.1.1. Классическая классификация Флинна
Класс sisd
|
Рис.1.2. Принцип класса 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 |
Сюда принято относить традиционные мультипроцессорные машины, многоядерные и многопоточные процессоры, а также компьютерные кластеры.
Однако из определения класса можно вывести и другие схемы, в которых количества потоков данных не равно количеству потоков инструкций, при этом может оказаться, что количество выходных потоков данных не равно количеству входных потоков данных. Если система имеет N входных потоков данных, а M потоков инструкций, то возможны следующие варианты типов:
MIMD устройство представляет собой N параллельных MISD устройств типа (А);
MIMD устройство представляет собой N параллельных MISD устройств типа (B);
MIMD устройство представляет собой M параллельных SIMD устройств;
MIMD устройство, являющейся матрицей (MN) процессорных элементов, представляющей декартово произведение M потоков команд на N потоков данных.
Рассмотрим их подробнее, при этом будем называть типом 0 схему, приведенную в начале раздела на рис.1.5.