Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК 2 Лекционный курс.doc
Скачиваний:
12
Добавлен:
16.08.2019
Размер:
3.92 Mб
Скачать

2.6.Классификация архитектур параллельных компьютеров

Все, что было сказано в п. 2, может быть использовано как классификатор архитектур. Высокопроизводительные ЭВМ можно разделять по способам обработки параллельных данных, по организации памяти, по топологии связи между узлами, даже по способам выполнения арифметических операций. Попытки прийти к единой классификации предпринимались очень давно и продолжаются до сих пор. На данный момент наиболее распространена классификация Флина, предложенная еще в 1966г. Он разделил все архитектуры (в том числе и не высокопроизводительные) по потокам, т.е. по последовательности элементов (команд, данных), обрабатываемых процессором. Всего было выделено 4 класса:

SISD - Single Instruction Single Data – один поток данных, одна инструкция;

MISD - Multiple Instruction Single Data – один поток данных, несколько инструкций;

SIMD - Single Instruction Multiple Data – несколько потоков данных, одна инструкция;

MIMD - Multiple Instruction Multiple Data – несколько потоков данных, несколько инструкций.

Наиболее просто эта классификация запоминается (к ней мы будем возвращаться в следующих пунктах) в виде следующей схемы:

Таблица 2.2.

Классификация архитектур параллельных компьютеров Флина

(схема для запоминания)

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

(Single Instruction)

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

(Multiple Instruction)

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

(Single Data)

SISD

MISD

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

(Multiple Data)

SIMD

MIMD

Остановимся на каждом типе несколько подробнее.

SISD (single instruction stream / single data stream). К этому классу относят последовательные компьютеры с одним процессором, который может обрабатывать только один поток последовательно обрабатываемых инструкций.

MISD (multiple instruction stream / single data stream). По определению такие системы должны выполнять несколько действий над одним потоком данных. Ни одна, созданная до настоящего момента, машина не попала в этот класс. Можно предположить, что к этому классу относят машины, которые работают с базой данных. По сути – база данных, над ней выполняют множество команд.

SIMD (single instruction stream / multiple data stream). Организовать такую систему можно, только имея множество процессоров. Они будут выполнять одну инструкцию на несколькими потоками данных. Подклассом такого рода систем являются векторные компьютеры. Подобно скалярным процессорам, идет обработка массивов сходных данных. Подробно об этом написано в п. 2.3.4.

MIMD (multiple instruction stream / multiple data stream). Основное отличие от многопроцессорных SISD заключается в том, что MIMD-системы параллельно работают со связанными командами и данными. Это позволяет значительно ускорить процесс выполнения одной большой задачи. На самом деле, в этот класс попадает достаточно много систем. В этом классе окажутся вместе и четырехпроцессорный SX-5 (NEC) и тысячепроцессорный CRAY T3E. Однако, пока никто не предложил более удобной классификации. Учитывая темп развития современной техники, вполне возможно, что она появится в самом ближайшем будущем.

Приведенная классификация лишь помогает понять особенности работы архитектуры, но не позволяет «рассмотреть» детали (как в примере с MIMD-архитектурой).