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

29. Микропроцессоры с архитектурой iа-64

Микропроцессор Itanium является первым представителем 64-разрядных микропроцессоров фирмы Intel. Фактически же данный микропроцессор является детищем совместных усилий двух фирм: Intel и Hewlett-Packard (фирма Hewlett-Packard в свое время «поглотила» фирмы DEC и Compaq), которые в этом про­екте объединили свои интеллектуальные и финансовые ресурсы. Первоначально микропроцессор имел мнемоническое обозначе­ние Р7, затем - Merced (сокращение от слова Mercedes) и только потом - Itanium. Выпуск процессора был начат в 2001 г.

Наряду с микропроцессорами фирмы Intel, предшественни­ками Itanium можно считать и микропроцессоры с архитектурой Precision Architecture, разработанной фирмой Hewlett-Packard для своих RISC-процессоров. Ее 32-разрядный микропроцессор

Таблица 5.1

Х86

IA-64

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

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

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

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

Реализация механизма предсказания переходов

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

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

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

РА-8000 был выпущен в 1986 г. и в полной мере воплощал ос­новные принципы динамического исполнения команд («интел­лектуального выполнения» — в терминах Hewlett-Packard).

РА-8000 имел 64-разрядную четырехконвейерную архитек­туру с оригинальной схемой изменения последовательности вы­полняемых команд. Процессор содержал 10 функциональных устройств: два целочисленных АЛУ, два целочисленных устрой­ства сдвига/объединения, два устройства умножения/накопления с плавающей точкой, два устройства деления/извлечения корня и два устройства загрузки/сохранения.

В РА-8000 использовался буфер переупорядочивания ко­манд, просматривающий следующие 56 команд в потоке инст­рукций и определяющий, какие из них можно выполнять парал­лельно. Фактически буфер состоял из двух блоков на 28 команд каждый.

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

Hewlett-Packard спроектировала РА-8000 специально для научных и инженерных расчетов, при которых объем интенсив­но используемых данных может быть велик. В этой связи воз­никла необходимость использования больших кэш-памятей ко­манд и данных. РА-8000 использовал внешние основные кэш­памяти данных и команд объемом до 4 Мб, а также буфер пере­упорядочивания адресов, отслеживающий все команды загруз­ки/сохранения, что позволило сократить задержку, связанную с адресацией внешней кэш-памяти.

Архитектура микропроцессора Itanium (IA-64) реализует концепцию EPIC (Explicitly Parallel Instruction Computing - явное параллельное выполнение команд).

Основными особенностями EPIC являются:

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

В табл. 5.1 приведены основные отличия архитектуры про­цессора IA-64 от архитектуры процессора х86.

В микропроцессоре Itanium последовательность команд и план загрузки исполнительных устройств формируются на этапе компиляции. В ходе выполнения программы последовательность команд не изменяется. В микропроцессоре используются: дина­мическое предсказание переходов, спекулятивное (по предполо­жению) исполнение команд, аппаратная поддержка конвейерно­го выполнения циклов, отложенные операции обращения к па­мяти, предварительная загрузка данных в кэш.

Структура микропроцессора Itanium содержит (рис. 5.4):

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

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

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

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

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

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

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

Команды микропроцессора имеют фиксированную длину 40 бит.

Формат команды приведен на рис. 5.5.

Рис. 5.5. Формат команды микропроцессора Itanium

Компилятор для микропроцессора Itanium использует тех­нологию отмеченных ветвлений, сущность которой заключается в том, что команды, принадлежащие к различным ветвям алго­ритма, помечаются различными значениями в поле предиката. Формирование связок команд осуществляется вне зависимости от значения предиката. Тем самым обеспечивается возможность одновременного выполнения команд, принадлежащих различ­ным ветвям алгоритма.

В процессе выполнения программы после определения ис­тинного направления ветвления вычислительного процесса со­храняются только результаты команд со значением предиката, соответствующим данной ветви.

Технология «отмеченных команд» существенно снижает негативное влияние ветвлений на машинном уровне.

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

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

В микропроцессоре не используется динамическое пере­именование регистров. С целью обеспечения возможности кон­вейерного выполнения различных витков цикла в микропроцес­соре применяется схема циклической замены используемых ре­гистров («вращение регистров»): набор используемых в цикле регистров рассматривается как фрейм, отображаемый на регист­ровый файл, начиная с некоторой позиции - базы фрейма. При переходе на следующую итерацию цикла изменяется база фрей­ма на величину, равную количеству регистров во фрейме.

Микропроцессор Itanium II является вторым микропроцес­сором в семействе 64-разрядных микропроцессоров компании Intel. Itanium II рассчитан на применение в высокопроизводи­тельных серверах и рабочих станциях.

Itanium II содержит кэш-память большой емкости: кэш третьего уровня емкостью 1,5 или 3 Мб, кэш второго уровня емкостью 256 Кб и кэш первого уровня емкостью 32 Кб. При размере кристалла 464 мм2 Itanium II содержит 221 млн транзи­сторов.Развитие технологии позволило на кристалле микропроцес­сора Itanium серии 9300 разместить уже миллиард транзисторов. За счет этого на кристалле располагаются четыре процессорных ядра, совокупная емкость трехуровневого кэша составила 30 Мб, а емкость оперативной памяти потенциально может быть равна 1 Тб. Разрядность виртуального адреса при этом составляет 64 бита, а физического - 50 бит. Межпроцессорный интерфейс обеспечивает скорость передачи до 48 Гб/с.