YourLib.net
Твоя библиотека
Главная arrow Информатика (Под общ. ред. А.Н. Данчула) arrow 2.2.3. Микропроцессор Itanium (P7 IA-64)
2.2.3. Микропроцессор Itanium (P7 IA-64)

2.2.3. Микропроцессор Itanium (P7 IA-64)

   Процессоры Itanium принадлежат к новому семейству МП с 64-разрядной VLIW-архитектурой EPIC/IA-64, использующей концепцию явного параллелизма на уровне команд (Explicitly Parallel Instruction Computing). Архитектура IA-64 основана на модифицированной суперскалярной архитектуре, использующей длинные слова команд, предикаты команд, средства устранения ветвлений, предварительную загрузку и декодирование команд и другие ухищрения для того, чтобы «извлечь больше

Таблица 2.1. Этапы развития МП Pentium 4 и их основные характеристики

Таблица 2.1. Этапы развития МП Pentium 4 и их основные характеристики

   Условные обозначения, μ-ops — простейшая микрооперация в МП Pentium Pro. Инструкции, проходящие через конвейер в порядке поступления, разбиваются на простейшие микрооперации. Микрооперации выполняются суперскалярным процессорным ядром в порядке, удобном процессору (достижение наибольшего параллелизма);
   QDR — это тип памяти Pentium 4, в которой данные передаются 4 раза (quad) за такт (используются оба фронта плюс сдвиг фазы на 90 градусов), т. е. получается учетверение пропускной способности. Для МП Pentium 4 с частотой 2 ГГц скорость обмена данными с другими устройствами через внешнюю шину данных составляет 32 бита х 2 ГГц = 8 Гбайт/с. На практике для обеспечения устойчивой работы шины ограничиваются меньшими значениями. Физическая тактовая частота шины составляет 100 или 133 МГц. В МП Pentium 4 данные передаются 4 раза за такт, так что эффективная частота передачи составляет 400 или 533 МГц, а пропускная способность - 3,2 или 4,3 Гбайт/с.

параллелизма» из кода программы. Команды преобразуются в последовательности элементарных микроопераций, из которых формируются несколько параллельно выполняемых потоков. Имеются встроенные декодеры, обеспечивающие совместимость с другими МП на уровне объектного кода (кода программы, полученного в результате ее трансляции с исходного текста программы).
   Компьютеры архитектуры х86 компании Intel имели CISC- архитектуру и представляли собой скалярные устройства (в каждый момент выполнялась одна команда, при этом конвейеров почти не было, они содержали десятки тысяч транзисторов). Разработчики стремились создать чипы, содержащие как можно больше функциональных устройств. Это позволяет обрабатывать больше команд параллельно, но одновременно приходится существенно усложнять управляющие цепи для распределения потока команд по обрабатывающим узлам (до недавнего времени лучшие процессоры не могли выполнять более 4 команд одновременно). Последовательная структура кода программ и большая частота ветвлений делают задачу распределения потока команд сложной. Процессоры имели огромное количество управляющих элементов для того, чтобы извлечь как можно больше «скрытого параллелизма» из кода программы (они изменяют порядок команд во время исполнения программы — пытаются предсказать, куда необходимо будет перейти в результате очередного ветвления, и выполняют команды до вычисления значений условий ветвления). Проблему усложняет и то, что микросхемы памяти не успевают за тактовой частотой процессора (сегодня процессор тратит сотни тактов на ожидание загрузки данных из памяти, даже при наличии большой и быстрой кэш-памяти).
   Первые чипы архитектуры IA-64 изготавливались по технологии 0,18 мкм и содержали десятки миллионов транзисторов, их максимальное тепловыделение — 130 Вт. С начала выпуска МП Itanium прошло уже два этапа развития (табл. 2.2).
   В формате IA-64 команды упакованы по три в 128-битный пакет для быстрейшей обработки. Каждый пакет содержит шаблон длиной в несколько бит, помещаемый в него компилятором и указывающий процессору, какие из команд могут выполняться параллельно. За счет этого нет необходимости анализировать поток команд в процессе выполнения откомпилированной программы. Каждая команда содержит три 7-битных поля регистра

Таблица 2.2. Эволюция МП Itanium

 Таблица 2.2. Эволюция МП Itanium

общего назначения (РОН). Процессоры архитектуры IA-64 содержат 128 целочисленных РОН и 128 регистров для вычислений с плавающей точкой (они доступны программисту и являются регистрами с произвольным доступом). Компиляторы используют технологию «отмеченных команд» для устранения потерь производительности (из-за неправильно предсказанных переходов) и необходимости пропуска участков кода после ветвлений. Когда процессор встречает «отмеченное» ветвление в процессе выполнения программы, он начинает одновременно выполнять все ветви. После того, как будет определена «истинная» ветвь, процессор сохраняет необходимые результаты и сбрасывает остальные.
   Компиляторы для IA-64 также просматривают исходный код с целью поиска команд, использующих данные из памяти. Найдя такую команду, они добавляют пару команд — команды предварительной загрузки и проверки загрузки. Во время выполнения программы первая из команд выгружает данные из памяти до того, как они понадобятся программе. Вторая команда проверяет, успешно ли произошла загрузка, перед тем как разрешить

Рис. 2.9. Основные отличительные особенности архитектур х86 и ІА-64 

Рис. 2.9. Основные отличительные особенности архитектур х86 и ІА-64

программе использовать эти данные. Это позволяет уменьшить потери производительности из-за задержек при доступе к памяти, а также повысить параллелизм (практически оптимизацию потока команд выполняет компилятор). Для последующих поколений МП коды программ необходимо будет перекомп ил ировать.
   На рис. 2.9 приведены основные отличия архитектур х86 и ІА-64.

 
< Пред.   След. >