Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МвСУ_16.11.2011.doc
Скачиваний:
0
Добавлен:
10.01.2020
Размер:
6.76 Mб
Скачать

Отличия архитектур процессоров х86 и ia-64

Процессор х86

Процессор IA-64

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

Использование простых инструкций, сгруппированных по три, одинаковой длины.

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

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

Попытки предсказания переходов.

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

Загрузка данных из памяти по мере необходимости

Загрузка данных до того, как они потребуются

Основными особенностями EPIC являются: большое количество регистров; масштабируемость по количеству функциональных устройств; явное задание параллелизма в машинном коде; предикатное исполнение инструкций; упреждающая загрузка данных по предположению.

Архитектура IA-64 объединяет в себе лучшие качества суперскалярных микропроцессоров и микропроцессоров с длинным командным словом (VLIW – Very Long Instruction Words). В микропроцессоре Itanium, как и в других микропроцессорах VLIW-архитектуры, последовательность команд и план загрузки исполнительных устройств формируются на этапе компиляции. В ходе выполнения программы последовательность команд не изменяется. В микропроцессоре используется динамическое предсказание переходов, спекулятивное (по предположению) исполнение команд, аппаратная поддержка конвейерного выполнения циклов, отложенные операции обращения к памяти, предварительная загрузка данных в кэш.

Структура микропроцессора Itanium показана на рис. 27.

Рис. 27. Структура микропроцессора Itanium

Данная структура содержит: четыре целочисленных устройства; четыре устройства обработки мультимедийных данных; по два устройства вычислений в формате с плавающей точкой одинарной и расширенной точности; два устройства загрузки/сохранения; три устройства выполнения переходов.

Все функциональные устройства микропроцессора конвейеризированы. Команда выполняется за 10 тактов, причем одновременно в микропроцессоре может выполняться до шести команд.

Высокоскоростной интерфейс процессор-память с пропускной способностью 2,1 Гбайт/с обеспечивает интенсивную подкачку данных и команд в микропроцессор.

Процессор может напрямую адресовать до 18 Гбайт оперативной памяти. Itanium использует трехуровневую кэш-память:

- первый уровень – внутренняя раздельная кэш-память команд и данных, по 16 Кбайт каждая;

- второй уровень – внутренняя общая кэш-память команд и данных, 96 Кбайт;

- третий уровень – внешняя (в картридже) общая кэш-память команд и данных до 4 Мбайт.

Команды микропроцессора группируются компилятором в «связку» длиной 128 бит. Связка содержит 3 команды и шаблон, указывающий, какие команды в текущей и следующей связке могут выполняться одновременно. Команды в связках могут размещаться в порядке, отличном от исходного, заданного в тексте программы, и могут быть как зависимые (по управлению и данным), так и независимые.

IA-64 поддерживает следующие типы данных: целые: 1, 2, 4 и 8 байт; с плавающей точкой: одинарный, двойной и расширенный двойной форматы; 0 указатели: 8 байт.

Другой особенностью IA-64 является предварительная загрузка данных в кэш-память. Сущность ее заключается в разнесении по времени команд загрузки данных из памяти и команд, их использующих.

Для обеспечения совместимости с ранее разработанными 32-разрядными приложениями в микропроцессоре Itanium поддерживаются два режима декодирования команд: VLIW и CISC.

В Itanium предусмотрена аппаратная поддержка выполнения циклов. Цикл разделяется на три фазы выполнения: пролог, ядро и эпилог.