КЛАССИФИКАЦИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ. Вычислительная система. Вид деятельности, в котором задействован человек как правило, обусловлен решением каких- либо задач. Вычислительные системы также как и человек выполняет или решают задачи в разных областях. В тоже время есть люди, которые работают в нескольких трудовых областях одновременно, либо группа людей работает над решением одной и той же задачи. Так и ВС могут решать одну задачу, две задачи, либо группа объедененных ВС решает одну и ту же задачу. В связи с этим представляется возможным дать классификацию ВС. Но в начале давайте подумаем, что же такое ВС? В начале нужно вспомнить, что следует понимать под системой в общем смысле. Система - это совокупность элементов, которые находятся между собой в определенных отношениях и связях и которые образуют определенную целостность, единство какоголибо явления или предмета исследования (system от греч. - соединенная из частей). Основой этого направления явились труды Л. фон Бертоланфи в области биологии (1937 год). Итак можно сформулировать определение, вычислительная система - это совокупность взаимосвязанных и взаимодействующих компьютеров (процессоров), периферийного оборудования и программного обеспечения, предназначенных для подготовки и решения задач пользователя. [6] Иногда под ВС понимают совокупность технических средств ЭВМ, в которую входит не менее двух процессоров, связанных общностью управления и использования общесистемных ресурсов (память, периферийные устройства, программное обеспечение и т.п.) см. рис. 4. Рис. 4. Общая схема ВС. В верней части блок-схемы показано ОЗУ, разделенное на отдельные блоки. Каждый блок имеет свое местное устройство управления оперативной памяти. Обмен между ОЗУ и быстрой ВЗУ происходит сравнительно большими объемами информации достаточно быстро и оперативно. Программирование упрощается, так как пользователю дают весь объем памяти (ОЗУ+ВЗУ) для прямой поячеечной адресации. Такие адреса носят названия виртуальных. Физическими адресами данных являются только адреса ОЗУ. В первом блоке ОЗУ размещена резидентная часть ОС (часть блоков ОС которые часто используются). Под системой коммутации располагаются процессоры: центральный процессор (ЦП) и периферийные процессоры ввода-вывода (ППВВ), выполняющие функции обмена между ОЗУ и периферийными устройствами. Простейшие ППВВ, по терминологии для отечественных ЭВМ, также называют каналами. [7] Левый канал подключен к ВЗУ. Поскольку скорость передачи данных высокая и, следовательно, время обмена короткое канал поддерживает связь ОЗУ с выбранным ВЗУ все время, пока не закончится обмен. Поэтому этот канал называется селекторным, то есть канал выбирает устройство на все время обмена. К правому каналу подключены более медленные периферийные устройства ввода вывода (УВВ). Чтобы полностью использовать пропускную способность канала, его снабжают своим быстродействующим ЗУ и системой переключения с одного УВВ на другое. Этот канал работает в 2 такта: вопервых, он накапливает данные из УВВ в ячейках памяти, закрепленных за этим УВВ, переключаясь, по мере готовности передать или принять данные, с одного УВВ на другое, а во-вторых, обменивается более крупными порциями данных между своим буферным ЗУ и ОЗУ. Этот тип канала за способность к быстрому переключению получил название мультиплексного. [7] Теперь рассмотрим общую классификацию ВС по разным признакам. Общая классификация вычислительных систем. По назначению. Универсальные предназначаются для решения широкого класса задач (от математических расчетов до обработки мультимедиа), т.е. такие ВС должны обслуживать программные приложения, разработанные для самых разных и далеко отстоящих друг от друга направлений научных исследований. Специализированные ориентированы на решение узкого класса задач. По типу. Многопроцессорные. В качестве общего ресурса они имеют общую оперативную память. Параллельная работа процессоров и использование общей оперативной памяти обеспечиваются под управлением общей операционной системы. Это позволяет в случае отказа одного из процессора, перераспределить нагрузку между оставшимися процессорами см. рис. 5. Многомашинные. Возможны два варианта: 1. обе машины решают одну и ту же задачу и периодически сверяют результаты решения; 2. обе машины работают параллельно, но обрабатывают собственные потоки заданий см. рис. 6. Основной недостаток многомашинной ВС - достаточно в ВС в каждой ЭВМ выйти из строя по одному устройству (даже разных типов), как вся система становится неработоспособной. Рис. 5. Многопроцессорная ВС. Рис. 6. Многомашинная ВС. По характеру устройств. Однородные системы содержат несколько однотипных ЭВМ (или процессоров). Основной недостаток однородных ВС - неполная загруженность отдельных ЭВМ (процессоров) во время её работы. В связи с этим недостатком применяются неоднородные ВС; Неоднородные. Неоднородные системы содержат разнотипные ЭВМ (или процессоры). По управлению. Централизованные. Функции управления сосредоточены в главной ЭВМ (процессор). Ее задачей являются распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия. Децентрализованные. Функции управления распределены между ее элементами, т.е. каждый процессор или ЭВМ действуют автономно, решая свои задачи. Смешенные. Совмещаются процедуры централизованного и децентрализованного управления. Т.е. ВС разбивается на группы взаимодействующих ЭВМ (или процессоров), где в каждой группе осуществляется централизованное управление, а между группами децентрализованное. Классификация систем параллельной обработки данных по М.Флинну. Классификация базируется на понятиях двух потоков: команд и данных. На основе числа этих потоков выделяется четыре класса архитектур: 1. SISD архитектура; 2. SIMD архитектура; 3. MISD архитектура; 4. MIMD архитектура. SISD (Single Instruction Single Data). Программа принимает один поток данных и выполняет один поток инструкций по обработке этих данных. Иными словами, инструкции выполняются последовательно, и каждая инструкция оперирует минимальным количеством данных (например, сложение двух чисел) см. рис. 7. По большому счету это классическая машина фон Неймана. К этому классу относятся все однопроцессорные системы. MISD (Multiple Instruction Single Data). Разные потоки инструкций выполняются с одними и теми же данными см. рис. 8. Обычно такие системы не приводят к ускорению вычислений, так как разные инструкции оперируют одними и теми же данными, в результате на выходе системы получается один поток данных. К таким системам относят различные системы дублирования и защиты от сбоев, когда, например, несколько процессоров дублируют вычисления друг друга для надёжности, а также матричные компьютеры, в которых все элементы процессора выполняют одну и ту же программу. Иногда к этой категории относят конвейерные архитектуры. SIMD (Single Instruction Multiple Data). Один поток инструкций выполняет вычисления одновременно с разными данными см. рис. 9. Например, выполняется сложение одновременно восьми пар чисел. Такие компьютеры называются векторными, так как подобные операции выполняются аналогично операциям с векторами (когда, например, сложение двух векторов означает одновременное сложение всех их компонентов). Зачастую векторные инструкции присутствуют в дополнение к обычным «скалярным» инструкциям, и называются SIMD-расширением (или векторным расширением). Примеры популярных SIMD-расширений: MMX, 3DNow!, SSE и др. Также к таким системам можно отнести так называемые матричные компьютеры, в которых все элементы процессора выполняют одну и ту же программу. MIMD (Multiple Instruction Multiple Data). Разные потоки инструкций оперируют различными данными. Это системы наиболее общего вида, поэтому их проще всего использовать для решения различных параллельных задач см. рис. 10. MIMD-системы, в свою очередь, принято разделять (классификация Джонсона) на системы с общей памятью (несколько вычислителей имеют общую память) и системы с распределенной памятью (каждый вычислитель имеет свою память; вычислители могут обмениваться данными). Где УУ – управляющее устройство (организует поток команд), ПР – процессор, ПД – поток данных.