
- •Лекция 8. Организация обработки прерываний в эвм
- •8.1 Основные термины и определения
- •8.2. Понятие глубины прерывания, приоритет прерываний
- •8.3. Аппаратные и программные прерывания
- •8.4. Последовательность действий при выполнении запроса прерывания
- •Лекция 10. Конвейерная обработка информации
- •10.1. Оценка производительности идеального конвейера
- •6.3 Классификация м. Флинна
6.3 Классификация м. Флинна
В 1966 г. М. Флинном (Flynn) был предложен следующий подход к классификации архитектур вычислительных систем. В основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором.
Соответствующая система классификации основана на рассмотрении числа потоков инструкций и потоков данных и описывает четыре базовых класса (табл. 6.1, рис. 6.4 и 6.5).
Коротко рассмотрим отличительные особенности каждой из архитектур.
Таблица 6.1. Классификация Флинна |
||
Поток данных |
Поток команд |
|
|
одиночный |
множественный |
Одиночный |
SISD - Single Instruction stream / Single Data stream (Одиночный поток Команд и Одиночный поток Данных - ОКОД) |
MISD - Multiple Instruction stream / Single Data stream (Множественный поток Команд и Одиночный поток Данных - МКОД) |
Множественный |
SIMD - Single Instruction stream / Multiple Data stream (Одиночный поток Команд и Множественный поток Данных - ОКМД) |
MIMD - Multiple Instruction stream / Multiple Data stream (Множественный поток Команд и Множественный поток Данных - МКМД) |
Архитектура ОКОД (SISD) охватывает все однопроцессорные и одномашинные варианты систем, т. е. с одним вычислителем. Все ЭВМ классической структуры попадают в этот класс. Здесь параллелизм вычислений обеспечивается путем совмещения выполнения операций отдельными блоками АЛУ, а также параллельной работой устройств ввода-вывода информации и процессора. Закономерности организации вычислительного процесса в этих структурах достаточно хорошо изучены.
Рисунок 6.5- Архитектура МКОД (МISD) (в) и архитектура МКМД (MISD)(г)
Архитектура ОКМД (SIMD) предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т. е. процессорные элементы, входящие в систему, идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними.
По данной схеме строились системы: первая суперЭВМ — ILLIAC-1V, отечественные параллельные системы — ПС-2000, ПС-3000. Структуры ВС этого типа, по существу, являются структурами специализированных суперЭВМ.
Элементы технологии SIMD реализованы в процессорах Intel начиная с Pentium MMX (1997 г.).
Архитектура МКОД (MISD) предполагает построение своеобразного процессорного конвейера, в котором результаты обработки передаются от одного процессора к другому по цепочке. Выгоды такого вида обработки понятны. Прототипом таких вычислений может служить схема любого производственного конвейера.
Конвейерная схема нашла применение в так называемых скалярных процессорах суперЭВМ, в которых они применяются как специальные процессоры для поддержки векторной обработки.
Архитектура МКМД (MIMD) предполагает, что все процессоры системы работают по своим программам с собственным потоком команд. В простейшем случае они могут быть автономны и независимы. Такая схема использования ВС часто применяется на многих крупных вычислительных центрах для увеличения пропускной способности центра. Большой интерес представляет возможность согласованной работы ЭВМ (процессоров), когда каждый элемент делает часть общей задачи. Общая теоретическая база такого вида работ практически отсутствует.
Подобные системы могут быть многомашинными и многопроцессорными. Например, отечественный проект машины динамической архитектуры (МДА) — ЕС-2704, ЕС-2727 — предполагал одновременное использование сотни процессоров.