Основные особенности МК. Понятие микроконтроллера. Классификация микропроцессоров. 8-разрядные МК, страница 7

Архитектура POWER PC разрабатывается с 1991г. Областью ее применения являются ПК и рабочие станции низкого уровня. Первые модели POWER PC  - 32-разрядные, начиная с модели POWER PC-620 – 64-разрядные.  В моделях POWER PC реализация векторной обработки осуществляется с помощью блока Altivec.

Одна из последних моделей – POWER 4 (2001г.)- представляет собой двухпроцессорную систему на одном кристалле. Наряду с традиционным ILP-параллелизмом (используется 4 конвейера команд), реализован также параллелизм TLP (ThreadLevelParallelism) на уровне трэдов (нитей).

В компьютере допускается одновременное выполнение до восьми команд в каждом процессоре.

4. Микропроцессоры семейства PA-RISC (HP).

PA – Precision Architecture.

5. Микропроцессоры компании MIPS (SGI).

Модели: R2000, R3000, …, R 12000, R14000 (2001г.).

Основные особенности VLIW-архитектуры

VLIW - Very Long Instruction Word.

Основная идея VLIW-архитектуры базируется на использовании так называемых длинных машинных команд, в которые упаковываются несколько (как правило, 3-10) простых команд. При этом предполагается, что все простые команды, входящие в одну составную команду, могут быть выполнены параллельно. Тем самым предполагается, что в структуре VLIW-процессора имеется несколько обрабатывающих (исполнительных) блоков, способных функционировать параллельно во времени.

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

Зарождение и реализация идей VLIW-архитектуры относится к 70-м годам прошлого века. Первоначально VLIW-архитектура была реализована в векторных сигнальных сопроцессорах, которыми оснащались суперкомпьютеры и мощные мэйнфреймы. Первые полноценные VLIW-компьютеры появились в 80-е годы и были реализованы в виде минисуперкомпьютеров компаний Multi Flow, Culler, Cydrome, однако они не имели коммерческого успеха.

В настоящее время VLIW-архитектура используется:

- в некоторых моделях специализированных микропроцессоров (например, ADSP-TS001);

- в универсальных процессорах фирмы Intel (Itanium) – реализация в виде EPIC, процессор Crusoe фирмы Transmeta.


Реализация VLIW-архитектуры в виде EPIC-архитектуры в процессорах Itanium

EPIC – Explicitly Parallel Instruction Computing (явный параллелизм на уровне команд).

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

Основное отличие в реализации ILP во VLIW-архитектуре – статический подход к распараллеливанию, создаваемому заранее на этапе компиляции (отсюда – повышенные требования к компиляторам).

В свою очередь, суперскалярные процессоры реализуют ILP динамически, преобразуя последовательную программу  в параллельную аппаратными средствами на фазе исполнения, возможно, с изменением порядка команд.

Сравнительный анализ суперскалярной (IA-32 (P6)) и VLIW- архитектуры (IA-64(Itanium))

Суперскалярная архитектура

VLIW(EPIC)-архитектура

1

Использование сложных команд переменной длины, обрабатываемых по одной

Использование простых команд, сгруппированных по 3 в длинную команду с возможностью параллельного выполнения

2

Переупорядочивание и оптимизация команд во время выполнения

Переупорядочивание и оптимизация команд во время компиляции

3

Попытки предсказания направления переходов с учетом предыстории их выполнения

Исполнение нескольких последовательностей команд одновременно без предсказания переходов (параллельное выполнение обеих ветвей программы с последующим анализом их актуальности)

4

Загрузка данных из памяти по мере их необходимости (в момент фактической ссылки на них из программы)

Загрузка данных до того, как они фактически потребуются (предварительная загрузка)