Микроархитектура процессоров Intel Itanium 2





Общие сведения

64-разрядные процессоры семейства Itanium созданы на базе архитектуры EPIC. Архитектура EPIC позволяет проводить программно достаточно серьезные оптимизации, при этом задействуя и ILP на аппаратном уровне, за счет чего существенно растет эффективность работы системы в целом. Сам подход EPIC (Explicitly Parallel Instruction Computing) сочетает в себе сильные стороны как RISC-, так и VLIW-процессоров. Главное преимущество подхода состоит в том, чтобы максимально быстро загружать работой несколько исполняющих устройств. Схемы конвейеров Itanium и Itanium 2 приведены ниже.

Семейство процессоров Itanium разрабатывалось совместно Intel и HP. Следует отметить обратную совместимость процессоров Itanium с процессорами Intel x86 и HP PA-RISC.

В процессорах Itanium 2 применяются 64-разрядные инструкции непосредственно на аппаратном уровне, чего не было на процессорах Itanium.

В целом, в Itanium 2 стало больше функциональных устройств, чем было у Itanium:

  • Всего в Itanium 2 есть 6 АЛУ, в то время как Itanium может использовать лишь 4 за такт.
  • В Itanium 2 есть 4 порта памяти, позволяющие по 2 целочисленных загрузки и сохранения за такт, в то время как в Itanium есть только 2 порта.
  • Itanium 2 может выполнить одну SIMD инструкцию с плавающей точкой за такт, в то время как Itanium - две.
  • При определенных условиях Itanium 2 может перенаправлять выполнение инструкций на непрофильные функциональные элементы.
  • При обработке операций Itanium 2 учитывает многократно повторяющиеся операции.

В большинстве случаев латентности у Itanium 2 такие же или меньше, чем у Itanium. Более подробные сведения можно найти в документе Intel Itanium 2 Processor Reference Manual For Software Development and Optimization.

В случае промаха при чтении из кэша, в Itanium конвейер задерживается на 10 тактов, в Itanium 2 - на 8.

В случае неудачи chk.a, chk.s или fchkf, у Itanium происходит вызов обработчика ОС, а Itanium 2 обычно обходится без этого, разрешая на аппаратном уровне, что снижает накладные расходы примерно с 200 до 18 тактов.

Как у Itanium, так и у Itanium 2 кэш трехуровневый. В Itanium 2 размер строки вдвое больше, чем у Itanium. TLB у Itanium 2 не только больше, но и состоит из двух уровней против одного у Itanium. Кэш третьего уровня у Itanium 2 располагается на самом чипе. Сравнительные характеристики кэшей можно найти в документе Intel Itanium 2 Processor Reference Manual For Software Development and Optimization.

Конвейер в Itanium 2 стал на 2 ступени короче по сравнению с Itanium. Функции FET и WLD были перенесены на соседние ступени. На следующих рисунках показаны схемы конвейеров Itanium и Itanium 2.



За один такт на конвейер могут быть поданы до 6 инструкций, максимум 32 байта. За первыми стадиями находится буфер инструкций из 8 связок, сглаживающий и промахи чтения из памяти, и простой финальных стадий в результате обработки ветвлений первыми.

Процессоры семейства Itanium 2 поддерживают выполнение кода и для архитектур IA-32. Поддержка включает в себя возможность одновременной работы с приложениями, как созданными специально для Itanium, так и для IA-32 и на системах с одним процессором, и на многопроцессорных.





Принципиальная схема Intel Itanium 2 и Montecito

На следующем рисунке показана принципиальная схема Itanium 2.

С появлением двухъядерных процессоров встает вопрос, какова взаимосвязь этих ядер, какие общие элементы микроструктуры используются, как это будет сказываться на работе программы и как ее вообще разрабатывать. На рисунке ниже показана принципиальная схема одноядерного Itanium2 и двухъядерного Montecito.

Структура самих ядер идентична и у каждого ядра - свой кэш последнего уровня. Таким образом, в Montecito всего существует 4 контекста: два ядра, в каждом - еще два, благодаря гипертредингу.




Синхронизаторы и арбитр в Montecito

Как видно из схемы, появляются два новых элемента - синхронизатр и арбитр. Арбитр - специальное устройство, позволяющее обеспечить доступ с низкой латентностью к интерфейсу FSB. На каждом ядре существует специальный служебный элемент, посредством которого арбитр связан с самим ядром - синхронизатор. Арбитр работает на фиксированной частоте, кратной частоте FSB.

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




Альянс разработчиков решений на базе архитектуры Intel Itanium (Itanium Solutions Alliance, ISA)

Несколько наиболее известных компаний в области профессиональных вычислений объединились в альянс, чтобы проводить согласованную разработку и поддержку решений на базе процессоров Intel Itanium. Среди участников Альянса такие компании, как Bull, Fujitsu, Fujitsu Siemens Computers, Hitachi, HP, Intel, NEC, SGI, Unisys, BEA, Microsoft, Novell, Oracle, Red Hat, SAP, SAS и Sybase. Альянс предлагает обширные ресурсы для поставщиков ПО и корпоративных IT-организаций, заинтересованных в разработке и внедрении решений на базе процессоров Intel Itanium, в том числе:

  • Каталог решений с архитектурой Intel Itanium (The Itanium Solutions Catalog) - полный перечень приложений, оптимизированных для серверов на базе процессоров Intel Itanium.
  • Сеть решений на базе архитектуры Intel Itanium (The Itanium Solutions Network) - глобальная сеть центров содействия дистанционному переносу и тестированию приложений.
  • Дни разработчиков решений (Developers Days) - мероприятия, проводимые с целью предоставления разработчикам инструменты и техническую поддержку для переноса и оптимизации приложений.

Дополнительную информацию можно найти на Web-сайте альянса.




Семейство процессоров Intel Itanium 2 серии 9000

Процессор Частоста Кэш Частота шины Потребляемая мощность Гипертрединг
Dual Core Intel Itanium 2
9050
1.60 24 МБ L3 400/533 104 Вт да
Dual Core Intel Itanium 2
9040
1.60 18 МБ L3 400/533 104 Вт да
Dual Core Intel Itanium 2
9030
1.60 8 МБ L3 400/533 104 Вт нет
Dual Core Intel Itanium 2
9020
1.42 12 МБ L3 400/533 104 Вт да
Dual Core Intel Itanium 2
9015
1.40 12 МБ L3 400 104 Вт да
Intel Itanium 2
9010
1.60 6 МБ L3 400/533 75 Вт нет

У всех указанных процессоров серии 9000 имеется поддержка Intel Cache Safe и Intel Virtualization.


© Лаборатория Параллельных информационных технологий НИВЦ МГУ
Rambler's Top100