Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
123
Добавлен:
02.05.2014
Размер:
52.22 Кб
Скачать

4

Классификация ВС по соотношению потока команд

и потока данных

К концу 60-х годов, в связи с различными архитектурными решениями в области разработки новых вычислительных систем, назрела необходимость в их классификации. Научное сообщество и сообщество разработчиков ЭВМ признало классификацию, предложенную в 1970 годах Г. Флинном.

Классификационным признаком этой группировки вычислительных систем является соотношение между потоком команд и потоком данных. По этому признаку выделяют 4 группы ВС:

  • с одним потоком команд и одним потоком данных (ОКОД);

  • с одним потоком команд и множеством данных (ОКМД);

  • с множеством команд и одним потоком данных (МКОД);

  • с множеством команд и множеством данных (МКМД);

К 1-ой группе относятся традиционные или классические ЭВМ и построенные на их основе вычислительные системы. Работа таких ЭВМ или вычислительных систем иллюстрируется рисунком 1а (на этом рисунке для обозначения потока данных применяется аббревиатура ПД, а потока команд – ПК, П-1, П-2,……П-N –процессоры или процессорные элементы).

Даже в ВС типа ОКОД возможно совместное решение нескольких задач. Такой режим работы системы называется мультипрограммным режимом. Программы и данные для совместно решаемых задач хранятся в оперативной памяти, где всем программам выделяются свои сегменты (разделение оборудования). Время работы процессора разделено на небольшие периоды (такты), в течение которых он выполняет команды для одной программы. Когда такт заканчивается, происходит прерывание, и передача управления операционной системе (программе-супервизору), которая просматривает очередь задач и определяет, есть ли в очереди задачи с более высоким или таким же приоритетом, что и у прерванной программы. Если есть, то в следующий такт процессор выполняет команды другой программы, если нет, то продолжает выполнение прерванной (разделение времени процессора). В таких ВС различаются 2 вида задач: фоновые и интерактивные. Первые из них не требуют вмешательства пользователя, вторые требуют ответов на запросы или ввода информации или, иначе говоря, выполняются в диалоговом режиме. Первые задачи имеют низкий приоритет, вторые – более высокий. Такое назначение приоритетов объясняется тем, что реакция пользователя на запросы значительно медленнее скорости работы процессора и ответы на запросы оказываются готовыми только через несколько тактов работы за которые процессор успевает либо решить фоновую задачу, либо обслужить других пользователей.

Процессор

Память программ

ЦУУ ВС

ПД ПК Рез-ты

Результаты ПК

Память

П-1

П-2

П-N

а)

ПД-1 ПД-2 ПД-N

Память данных и результатов

б)

Память программ

Память программ

ЦУУ ВС

ЦУУ ВС

ПК-1 ПК-N ПК-1 ПК-N

П-1

П-2

П-N

П-1

П-2

П-N

ПД Рез-ты ПД-1 ПД-2 ПД-N

Память данных и результат.

Память данных и результатов

в) г)

Рисунок – Классы ВС по признаку соотношения потока команд и потока данных: а) – ОКОД; б) – ОКМД; в) – МКОД; г) – МКМД.

ВС типа ОКМД (1б) иначе называют еще системами с общим потоком команд. В них в разных процессорах выполняются одни и теже команды над разными данными. Реализуется синхронный параллельный вычислительный процесс (все данные для очередной команды одновременно подаются на обработку процессору и одновременно из процессора после обработки передаются в память ЭВМ). Применяются такие ВС для решения задач: одномерное и двумерное прямое и обратное преобразование Фурье, решение дифференциальных уравнений в частных производных, выполнение операций над матрицами и векторами.

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

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

Сравнение параллельной и конвейерной организации ВС

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

О различиях базовых структур, производительности, предпочтительных задачах, особенностях программирования задач в параллельных ВС уже говорилось и дополнительных пояснений по этим пунктам не требуется. Возможны вопросы по ограничивающим факторам: почему для параллельных ВС таким факторам становится стоимость?

Обращаю Ваше внимание, что при рассмотрении МКМД говорилось о наличии многоканальных связей между модулями, которые обеспечивают гибкость вычислительного процесса. Реализуются эти связи путем дополнения традиционной аппаратуры ВС коммутаторами различной степени сложности. Вот эти дополнительные аппаратные средства и приводят к значительному удорожанию параллельных ВС даже при наличии коммутаторов невысокой степени сложности.

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

Таблица – Сравнение параллельной и конвейерной организации ЭВМ

Наименование параметра

Организация

параллельная

конвейерная

Базовая структура

Независимое исполне-ние подзадач на отдель-ных блоках аппаратуры

Разбиение функции на N подфункций

Производительность

N результатов за каждые Т секунд

Один результат за каждые N/T секунд

Основной период синхронизации

Время для вычисления одной функции

Время для одной ступени (выполнение подфункции)

Типичная архитектура

ОКМД, МКМД

ОКОД, МКОД

Предпочтительная структура задачи

Матричные задачи с длинами векторов, крат-ными числу процессо-ров; процессы, поддаю-щиеся разбиению на независимые части

Предпочтительны одно-мерные векторы с про-извольно большой дли-ной; ускорение выпол-нения традиционных на-боров команд

Типичная организация памяти

Многократно повторен-ные независимые моду-ли памяти

Одна многократно расслоеная память

Особенности управления

Осуществляется пользователем

Во многом осуществ-ляется аппаратурой

Факторы, ограничиваю-щие производитель-ность

Стоимость, структура задач

Элементная база, скорость доступа к памяти

Обеспечение надежности

Легко достижима за счет “горячего” резерва

Обходится дорого за счет немодульной организации

Соседние файлы в папке Лекции по ассемблеру