Архитектуры ЭВМ и микропроцессоров

В 1966 г. Майкл Флинн предложил классифицировать вычислительные системы по соотношению потоков команд и данных. Эта классификация используется до настоящего времени. В соответствии с классификацией Флинна все способы организации ЭВМ можно разделить на четыре класса.

1) однопроцессорные ЭВМ типа SISD (Single Instruction - Single Data) или ОКОД (Одинарный поток Команд - Одинарный поток Данных);

2) векторные ЭВМ типа SIMD (Single Instruction - Multiple Data) или ОКМД (Одинарный поток Команд - Множественный поток Данных);

3) конвейерные ЭВМ типа MISD (Multiple Instruction - Single Data) или МКОД (Множественный поток Команд - Одинарный поток Данных);

4) матричные ЭВМ типа MIMD (Multiple Instruction - Multiple Data) или МКМД (Множественный поток Команд - Множественный поток Данных).

Возможные варианты организации ЭВМ типа SISD показаны на рис. 5.6. В векторных ЭВМ типа SIMD все процессоры (которых несколько - П1, П2,…, Пn) одновременно выполняют одну команду над разными данными (рис. 5.7).

 

Рис. 5.6

 

Рис. 5.7

 

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

 

 

Рис. 5.8

 

В матричных ЭВМ типа MIMD каждый процессор выполняет свою операцию над своими данными (рис. 5.9). Если процессоры образуют конвейеры (горизонтально), то подобная система может быть классифицирована как MMISD – параллельно-конвейерная система (многопроцессорная MISD система). Если каждая вертикальная линейка процессоров выполняет одну команду над разными данными, то получаем модификацию MSIMD - параллельно-векторную систему (многопроцессорная SIMD архитектура).

 

 

Рис. 5.9

 

Существует другой широко известный способ классификации архитектур ЭВМ, который отражает не структурную организацию системы (как классификация Флинна), а особенности системы команд и их выполнения аппаратными средствами отдельного процессора (микропроцессора). Здесь выделяют процессоры с архитектурой типа CISC, RISC и VLIW:

1) CISC (Complete Instruction Set Computer) - компьютер с полным набором команд;

2) RISC (Reduced Instruction Set Computer) - компьютер с сокращенным набором команд;

3) VLIW (Very Long Instruction Word) - архитектура с длинным командным словом, где процессор содержит несколько функциональных устройств, обеспечивающих одновременное (параллельное) выполнение нескольких различных операций программы.

Основоположником архитектуры CISC считают компанию IBM с ее базовой моделью IBM/360, ядро которой используется с 1964 г. Сюда же относят архитектуру VAX, близки к этой архитектуре микропроцессоры фирмы Intel (ряд 80х86, Pentium).

Основные особенности CISC-процессоров:

- сравнительно небольшое число регистров общего назначения;

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

- большое число способов адресации;

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

- преобладание двухадресного формата команд (типа регистр-память).

Еще в середине 70-х годов некоторые разработчики компьютерных архитектур заметили интересный факт: даже у компьютеров сложной архитектуры большая часть времени затрачивается на выполнение простых команд. Это наблюдение легло в основу работ по созданию IBM 801 - первой RISC-машины, разработка которой была завершена в 1979 г.

Понятие RISC было введено в 1980 г. Дэвидом Паттерсоном – преподавателем университета Беркли. Основными особенностями RISC-архитектуры являются:

- одинаковая длина команд;

- единый формат команд (или использование не более 2-3 форматов);

- команды выполняют только простые действия;

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

- любая команда выполняется за 1 такт;

- большой регистровый файл;

- только простая адресация.

В системах программирования для ЭВМ с RISC-архитектурой практически всегда присутствуют оптимизирующие компиляторы.

Для процессоров с VLIW-архитектурой распараллеливание вычислений производится во время компиляции. Несколько простых команд, управляющих функциональными устройствами, упаковываются компилятором в длинное командное слово. Таким образом, в машинном коде присутствует явный параллелизм. При выполнении программы возможно одновременное получение нескольких результатов разными функциональными устройствами.

Примером реализации VLIW-архитектуры является отечественный суперкомпьютер «Эльбрус-3». Длинное командное слово занимает 256 бит в упакованном виде и до 500 бит в распакованном. Каждое слово может запускать до 7 арифметико-логических операций одновременно. Операндами могут быть результаты ранее выполненных операций или данные, выбираемые из регистровой памяти. Возможно одновременное обращение по 8 каналам в локальную или глобальную память. Это характеристики одного процессора. «Эльбрус-3» содержит 16 таких процессоров.

Развитием VLIW-архитектуры является концепция вычислений с явным параллелизмом – EPIC (Explicitly Parallel Instruction Computing). Концепция EPIC разработана совсем недавно совместно компаниями Intel и Hewlett-Packard. Основные особенности EPIC:

- масштабируемость архитектуры до большого числа функциональных устройств (для VLIW - фиксированное число функциональных устройств, которое учитывается компилятором);

- явный параллелизм в машинном коде (как VLIW);

- предикатное выполнение команд, исключающее переходы.

Команды из разных условных ветвей снабжаются предикатными полями и запускаются на выполнение параллельно.