КЛАССИФИКАЦИЯ АППАРАТНЫХ СРЕДСТВ ПВС. КЛАССИФИКАЦИЯ ФЛИННА

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

SISD (Single Instruction Single Data) - один поток команд, один поток данных;

SIMD (Single Instruction Multiple Data) - один поток команд, много потоков данных;

MISD - много потоков команд, один поток данных;

MIMD - много потоков команд, много потоков данных.

SISD-компьютеры - это обычные, традиционные последо­вательные компьютеры, в которых в каждый момент времени выполняется лишь одна операция над одним элементом данных (числовым или каким-либо другим значением). Последователь­ная ЭВМ выбирает команды и операнды из памяти, выполняет команды и записывает результаты в память. Выполняемые ко­манды образуют поток команд, а операнды - поток данных между памятью и центральным процессором. Таким образом, обыч­ная ЭВМ - это машина, содержащая память - для хранения про­грамм и данных; устройство управления, которое выбирает ко­манды из памяти, дешифрует их и запускает выполнение опера­ций на арифметическом логическом устройстве (АЛУ); АЛУ, которое выполняет операции над операндами, считанными из памяти, и записывает результаты в ту же память. При этом адре­са операндов и результатов передаются в память устройством управления.

SIMD-компьютеры состоят из одного командного про­цессора (управляющего модуля), называемого контроллером, и нескольких модулей обработки данных, называемых про­цессорными элементами. Управляющий модуль принимает, анализирует и выполняет команды. Если в команде встреча­ются данные, контроллер рассылает на все процессорные эле­менты команду, и эта команда выполняется на нескольких или на всех процессорных элементах. Каждый процессорный эле­мент имеет свою собственную память для хранения данных. Одним из преимуществ данной архитектуры считается то, что в этом случае более эффективно реализована логика вычис­лений. До половины логических инструкций обычного про­цессора связано с управлением выполнением машинных ко­манд, а остальная их часть относится к работе с внутреннейпамятью процессора и выполнению арифметических опера­ций. В БЕМО-компьютере управление выполняется контрол­лером, а «арифметика» отдана процессорным элементам. Примером БЕМО-компьютера является матричный процес­сор, использующий одно устройство управления, посылаю­щее один поток команд ко всем своим подчиненным процес­сорам, которые выполняют их синхронно, но каждый - над своими собственными данными.

Конвейерные ЭВМ можно отнести к МКО-системам (мно­го потоков команд, один поток данных), учитывая, что каждый элемент данных последовательно обрабатывается в различных частях конвейера. В этом случае Б1 обозначают к этапов обра­ботки одной команды. Когда на этапе Б1 заканчивается вычисле­ние результата, он передается на этап £ , но может случиться, что в этот момент еще продолжает работать над предыду­щим элементом данных. Поэтому этапы должны отделяться друг от друга буферами. В данной системе ПЭ (процессорные эле­менты) - это не процессоры, а скорее части одного центрально­го процессора, в каждой из которых выполняется своя микроко­манда, из к которых складывается выполнение одной команды.

Мультипроцессорные системы, АПВС и СПВС (асинхрон­ные и синхронные) - это представители МГМО-систем (много потоков команд, много потоков данных). Эта категория архи­тектур вычислительных машин наиболее богата, если иметь в виду примеры ее успешных реализаций. К ней относятся сим­метричные параллельные вычислительные системы, рабочие станции с несколькими независимыми процессорами и т.д.

Действительно, во всех этих системах подчиненные про­цессорные элементы (ПЭ) работают асинхронно. В СПВС ПЭ работают над различными данными, и, даже если в системе есть управляющий процессор (УП), его программа работает асинх­ронно с программами ПЭ. Мультипроцессорные системы и АПВС совсем не имеют УП, и поэтому их процессоры могут работать над абсолютно различными заданиями. Данные же, обрабатываемые процессорами, различны всегда, так что все эти системы являются МГМО-системами.