Классификация Флинна (1966г.)


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

Процесс вычисления

Рис.6.10. Процесс вычисления

Каждая система может включать как одиночные, так множественные потоки команд, данных. Множественный поток команд (данных) определяет наличие в системе нескольких последовательностей команд, находящихся в стадии выполнения или несколько последовательностей данных, подвергающихся обработке.

Выделяют 4 типа устройств (архитектур):

1). Одиночный поток команд, одиночный поток данных (ОКОД).

2). Одиночный поток команд, множественный поток данных (ОКМД).

3). Множественный поток команд, одиночный поток данных (МКОД).

4). Множественный поток команд, множественный поток данных (МКМД).

ОКОД:

Традиционно устройство обработки данных разделяют на 2 устройства: на устройство обработки (УО) и устройство хранения данных (ЗУ). ЗУ может быть разделено на 2 устройства: запоминающее устройство данных (ЗУД) и запоминающее устройство команд (ЗУК).

Устройство обработки можно разделить на 2 части: управляющий блок (УБ), операционный блок (ОБ).

ЗУК поставляет данные для УБ (один поток). ОБ получает данные и возвращает результаты в ЗУД. Это структура с одиночным потоком команд и одиночным потоком данных. Командный поток однонаправленный, поток данных – двунаправленный, но один поток, то есть поток команд вызывает соответствующий поток данных для архитектур с командным управлением, или поток данных вызывает поток команд для архитектур с управлением по данным. Управляющий блок воздействует на операционный. Есть еще и обратная связь. Пример: неймановская архитектура.

ОКОД

Рис.6.11. ОКОД

ОКМД:

По одной и той же программе обрабатывается несколько наборов данных одновременно. Существует несколько потоков данных и один поток команд. В классическом виде это похоже на параллельные вычисления во времени. Здесь имеется общий УБ (общее оборудование) для нескольких ОБ (для нескольких параллельных каналов). Примеры: матричные и ассоциативные системы обработки данных.

ОКМД

Рис.6.12. ОКМД

МКОД:

У нас имеется множественный поток команд и одиночный поток команд. Тут фактически над одними и теми же данными выполняется разная обработка. Этот класс архитектур считается плохо развитым, потому что такую обработку сложно придумать. Для создания таких устройств нет смысла создавать специализированные вычислительные средства на данном этапе развития. Полная аналогия с конвейерной обработкой данных. Данный класс назовем так – гипотетические конвейерные системы. Условно сюда можно отнести систолические системы.

МКОД

Рис.6.13. МКОД

МКМД:

МКМД

Рис.6.14. МКМД

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

Загрузка...