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


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

1. Наличие явного параллелизма в машинном коде.

2. Большое количество внутренних регистров.

3. Масштабирование архитектуры путем наращивания числа функциональных блоков.

4. Предикация – команды разных ветвей программы снабжаются разными предикатами (тегами, ярлыками, признаками) и запускаются на выполнение параллельно.

5. Предварительная (спекулятивная) загрузка данных.

Подробнее:

1. Явный параллелизм основан, во-первых, на объединении трех простых команд в рамках одной длинной команды, называемой «bundle» («связка»).

В Itanium всего 3 команды упаковываются в одну связку.

Структура связки имеет вид:

                                                                                                             Т

 


Instruction slot 2

Instruction slot 1

Instruction slot 0

template

41 бит                        41 бит                       41 бит                         5 бит

Т – это шаблон или маска, указывающая на возможность параллельного исполнения простых команд данной связки, а также связок, следующих за ней.

В рамках одной связки можно задать следующие комбинации параллельного или последовательного выполнения ее команд:

I2 || I1 || I0

I2 & I1 || I0

I2 || I1 & I0

I2 & I2 & I0

Структура слота команды содержит 5 полей:

OpC

PR

R2

R1

R0

                      14 бит     6 бит       7 бит       7 бит       7 бит

OpC – Operation Code

PR – Predicate

R2, R1, R0 – адреса регистров операндов и результата


2. Регистры Itanium:

1) 128 POH (GPR), каждый по 64 бита;

2) 128 регистров с плавающей точкой РПТ (FPR – Floating Point Register), каждый по 80 бит;

3) 64 регистра предикатов РП (PD) – по 1 биту;

4) 8 регистров адреса РА (AR) – по 64 бита;

5) 128 прикладных регистров ПР (AR – Application Register) – по 64 бита.

32 РОНа с младшими номерами реализованы как обычные адресные регистры, а остальные 96 РОНов организованы в виде регистровых окон.

3. Свойство масштабируемости специалисты Intel и НР именуют как inherently scalable instruction set (наследственно масштабируемый набор команд).

Одна длинная команда (связка), состоящая из трех простых  команд соответствует набору из трех функциональных устройств процессора, способных функционировать параллельно и объединяемых в один функциональный блок.

  Процессоры с архитектурой IA-64 (EPIC) могут содержать разное количество таких блоков, оставаясь при этом совместимыми по коду.

Благодаря тому, что в шаблоне поля T указана зависимость не только между простыми командами этой связки, но и между связками, процессору с N одинаковыми блоками из трех функциональных устройств будет соответствовать командное слово из N связок или 3N простых команд.

В архитектуре EPIC обеспечивается возможность увеличения числа функциональных устройств путем блочного наращивания по 3 устройства.

В процессоре Itanium-2 имеется 23 функциональных устройства. Из них:

- 6 устройств IU (Integer Unit);

- 4 устройства FPU – для обработки данных с плавающей точкой;

- 6 ММU (MultiMedia Unit) – устройства мультимедийной обработки;

- 4 блока LSU (Load/Store Unit) – загрузка и выгрузка данных;

- 3 модуля ветвления (выполнение команд перехода).

4. Предикация является альтернативой предсказания ветвлений.

 В архитектуре большинства современных процессоров заложена возможность предсказания наиболее вероятного направления ветвления и выполнения команд программы именно по этому направлению. Такая особенность называется исполнением по предположению (speculative execution) и реализуется на основе аппаратного средства, называемого ВТВ – Branch Target Buffer (буфер меток (адресов) ветвлений).

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