Организация ЭВМ и систем1. Развитие архитектуры вычислительных систем 1.3.Архитектурные признаки высокопроизводительных ВС. Классификация Флинна.
По мере своего развития вычислительные системы стали отходить от принципов фон Неймана. Появилась параллельная обработка команд, при их подготовке к выполнению и параллельная обработка данных. Классификация архитектур параллельных систем обработки была предложена Флинном в 60-х годах. С развитием архитектуры в 80-е гг. появилась новая классификация по следующим принципам: 1. Фон-Неймановские; 2. Потоковые; 3. Редукционные - машины которые управляются запросами, т.е. выполнение операции определяется необходимостью ее результата. С развитием вычислительных систем и методов обработки информации меняются и методы классификации. Вернемся к классификации Флинна. По Флинну архитектуры вычислительных систем, работающих с потоками данных и потоками команд можно разделить на 4 класса: SISD - Single Instruction Single Date - один поток команд, один поток данных. SIMD - Single Instruction Multiple Date - один поток команд, множественный поток данных. MISD - Multiple Instruction Single Date - Множественный поток данных, один поток команд. MIMD - Multiple Instruction Multiple Date - множественный поток данных, множественный поток команд. Архитектура SISD - это классическая архитектура фон Неймана. В вычислительной системе одно устройство управления и одно исполнительное устройство, например, одно универсальное арифметико - логическое устройство (АЛУ). Вычислительный процесс следует заданному в программе порядку вычислений. Архитектура SIMD возникла в связи с развитием структур векторной или матричной обработки данных. Множество исполнительных устройств (АЛУ или процессоров) управляются одной последовательностью команд. При этом, каждый процессор обрабатывает свой поток данных. Массивы обрабатываемых данных представляются в виде матриц или векторов. Это довольно узкий круг задач. Вычислительные системы такого типа были специализированными. В таких системах решаются сложные системы линейных и нелинейных уравнений, задачи теории поля, исследования турбулентности и т.д. Векторную архитектуру имели многие первые суперЭВМ, например, первая суперЭВМ - ILLIAC-IV. Векторными были суперкомпьютеры семейства Cyber и Gray, отечественные параллельные системы - ПС-2000, ПС-3000. Архитектура MISD - архитектура конвейерного типа. Исполнительные устройства ( АЛУ или процессоры) образуют конвейер. Выходные данные одной ступени передаются на вход следующей ступени, по такому принципу работают, например, конвейерные АЛУ. Архитектура MIMD - архитектура, в которой каждое АЛУ или каждый процессор системы работают с собственным потоком команд. В Этой архитектуре возможно решение задач, которые разбиваются на мало связанные между собой части, которые могут решаться независимо. Архитектура может быть реализована и как многомашинная система. На приведенных ниже рисунках рассматриваются реализации нрассмотренных выше архитектур на АЛУ и устройствах управления, обрабатывающих потоки команд. Рис.1.4. Архитектуры SISD-1, SIMD-2, MISD-3, MIMD-4. В обычных последовательных компьютерах каждая команда может использовать только небольшое количество операндов. С усложнением структуры команд требовалось усложнять и структуру устройства управления ее выполнением. Устройство управления превратилось в процессор команд, а арифметико-логическое устройство в процессор данных. В первых моделях таких компьютеров процессор команд традиционно бездействовал во время выполнения команд в процессоре данных. Эта ситуация изменилась с введением поточной обработки в "векторных компьютерах.” Процессор команд извлекает следующую команду при обработке текущей команды, это позволяет сэкономить несколько машинных циклов при выполнении команды за счет ее предварительной подготовки к выполнению в процессоре данных и организовать поточную обработку векторных команд. Векторная команда включает наименование операции (код операции), адреса двух векторных операндов, адрес результирующего вектора и длину векторных операндов. Реализация векторной команды означает выполнение всех скалярных операций, из которых складывается векторная команда. Процесс выполнения команды разбивается на фазы: 3 Рис1. 5 Конвейер команд. Каждый такт выполняется одна комаеда. Уже в универсальных ЭВМ 60-х применялись принципы векторной обработки, где несколько команд выполнялись одновременно в разных стадиях. Если каждая команда может выполниться за 5 тактов, то после выполнения 1-го такта 1-ой команды может выполняться 1-ый такт 2-ой команды, таким образом в компьютере за каждый такт выполняется 1 команда ( в IBM/360, например). При организации конвейера команд необходимо учитывать нарушение порядка выполнения команд, которое возникает в следующих случаях: 1. Условные переходы; 2. Прерывания; 3. Разная длительность команд; 4. Обращение выполняемых команд к одним и тем же ресурсам. В такой структуре обработки используется один поток данных Начиная с ЭВМ 3-го поколения, развивается структура 1 поток команд, множественный поток данных SIMD (например в ЕСЭВМ).
Рис. 1.6. Применение конвейера команд. SIMD структуры широко используются в современных процессорах для обработки потоковых данных (потоки видео и аудио), в них вводятся дополнительные потоковые АЛУ - Strimming SIMD Extention или SSE Система MISD - ведет обработку в виде конвейера данных, где на разных устройствах выполняются различные инструкции. Рис. 1.7. Сочетание конвейерного принципа и элементов матричной структуры в архитектуре MISD. В системе MIMD используются или многопроцессорные или многомашинные структуры, имеющие общую или распределенную память. Используются для решения крупных задач по обработке данных. В современных высокоскоростных вычислительных системах могут использоваться ассоциативные процессоры и ассоциативная память. В ассоциативной памяти поиск команд и данных осуществляется не по адресу, а по некоторому ключу (информация которая содержится в самом слове). Ассоциативный процессор не выполняет операций двоичной арифметики, а выполняет только операции сравнения, эти операции выполняются с большой скоростью, а устройства обработки данных могут быть быстрыми (асинхронными - не тактируемыми). Но стоимость таких систем пока слишком высока для широкого распространения новых принципов вычислений.
|