Резюме по типам MIMD устройств



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

Классификация Флинна (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.

MIMD устройство типа 1.

Рис.1.6. MIMD устройство типа 1

Это устройство представляет собой N параллельных MISD устройств типа (А), но как уже было сказано, MISD устройств типа (А), по сути, является не параллельным, а последовательным, конвейерным, поэтому MIMD устрой­ство типа 1, является параллельным по данным, но последовательным по командам, т.е. на самом деле оно является устройством класса SIMD и не должно рассматриваться в рамках класса MIMD.

MIMD устройство типа 2.

Рис.1.7. MIMD устройство типа 2

Поскольку MIMD устройство типа 2 представляет собой N параллельных MISD устройств типа (B), каждое из которых с M выходами, то ему присущи все особенности MISD устройств типа (B), в частности, количество выходных потоков данных в M раз больше количества входных потоков данных, т.е. количество выходных потоков данных равно (M´N).

Более внимательный взгляд позволяет убедиться, что данное устройство дает на выходе декартово произведение N входных потоков данных на M потоков инструкций, т.е. это устройство топологически и функционально эквивалентно MIMD устройству типа 4.

Таким образом, MIMD устройства типа 2 и типа 4 абсолютно эквивалентны.

 

MIMD устройства типа 3.

MIMD устройство типа 3, построенное в виде M параллельных SIMD устройств, каждое из которых с N входами и N выходами, приведено ниже на рисунке 1.8. Несложно убедиться, что это устройство дает на выходе декартово произведение N входных потоков данных на M потоков инструкций, т.е. топологически и функционально эквивалентно MIMD устройству типа 4, а, следовательно, и устройству типа 2.

 

Рис.1.8. MIMD устройство, построенное в виде M параллельных SIMD устройств

Резюме по типам MIMD устройств.

Таким образом, в классе есть устройства двух типов:

A) Сохраняющие количество входных потоков данных (то, что упоминалось как тип (0) – это наиболее распространенный тип MIMD устройств.

B) Увеличивающие количество потоков данных в M раз, т.е. создающие декартово произведение входных потоков данных и потоков инструкций.

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

 


Дата добавления: 2018-04-04; просмотров: 494; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!