мейство процессора.archrev39: 32Версія архітектури. 8-бітове число, яке визначає номер версії архітектури, в якій реалізований процессор.reserv63: 40Зарезервіровано
Регістр CPUID [4] забезпечує основну інформацію прикладного рівня про властивості процесора. Як показано на рис. 2.12 це забезпечується установкою прапорів в бітах, щоб показати, що конкретне властивість підтримується в цій моделі процесора. Якщо біт в 1, то властивість підтримується, якщо ж біт в 0, то властивість не підтримується. Опис властивостей бітів поточної архітектури дано в табл. 2.7. Якщо нові властивості будуть додані (або видалені) модель властивостей процесора, то будуть додані, змінені або видалені опису бітів відповідних цим властивостям.
Таблиця 2.7 - Поля CPUID регістра 4
ПолеБітиОпісаніе lb0Процессор реалізує інструкції довгих переходів ( brl ) .reserv63: 1Зарезервіровано
.2 Пам'ять
У цьому розділі описується, як прикладні Itanium програми переглядають пам'ять. Це включає в себе те, як звертаються до пам'яті і 32-бітові, і 64-бітові додатки. Разом з розміром і вирівнюванням адресованих блоків пам'яті дається також опис, як байти впорядковані в пакеті.
Модель адресації прикладної пам'яті
Пам'ять адресується байтами і доступна через 64-бітові покажчики. Модель 32-бітного покажчика без апаратного режиму підтримується архітектурно. Покажчик, який має 32 біта, завантажується і поміщається в 64-бітний регістр. Перед використанням, програма повинна явно перетворити 32-бітовий покажчик в 64-бітовий.
Адресація блоків і вирівнювання
Пам'ять може бути доступна у вигляді блоків в 1, 2, 4, 8, 10 16 байт.
Рекомендується, щоб всі адресовані блоки вирівнювалися за своїми природним границям. Апаратура й/або програмне забезпечення операційної системи можуть підтримувати і не вирівняні блоки, але при цьому можлива деяка втрата продуктивності. Значення 10-байтних чисел з плаваючою точкою повинні запам'ятовуватися з вирівнюванням по 16-байтним кордонів.
Біти у великих блоках завжди нумеруються від 0 і починаючи з молодших значущих бітів. Процес завантаження з пам'яті в основні регістри проходить так, що заповнюються спочатку молодші значущі частини регістрів (завантажувані значення поміщаються в цільовій основний регістр притиснутими вправо).
Зв'язки інструкцій (по 3 інструкції у зв'язці) є 16-байтовими блоками, які завжди вирівняні по 16-байтовим кордонів.
Упорядкування байтів
Біт UM.be в масці користувача керує тим, в якому порядку байти Itanium коду будуть завантажуватися і зберігатися - по зростанню (big-endian) або по убуванню (little-endian). Якщо біт UM.be дорівнює 0, то завантаження і збереження декількох байтів виконується за зменшенням (байти з молодшими адресами пам'яті відповідають молодшим байтам регістру). Якщо біт UM.be дорівнює 1, то завантаження і збереження декількох байтів виконується за зростанням (байти з молодшими адресами пам'яті відповідають більш старшим байтам регістру). Завантаження і збереження тільки одного байта не пов'язана з бітом UM.be. Біт UM.be не пов'язаний з вибіркою інструкцій, зверненнями IA - 32 або з RSE. Інструкції завжди доступні процесору у вигляді елементів збудованих за спаданням. Коли до інструкцій звертаються як до даних, збудованим за зростанням, інструкції будуть здаватися зарезервованими в регістрі.
2.3 Огляд кодування інструкцій
Кожна інструкція класифікується в один з шести типів; кожен тип інструкції може виконуватися на одному або декількох типах виконавчих пристроїв. У табл. 2.8 дано список типів інструкцій і типи виконавчих пристроїв, на яких вони виконується.
Таблиця 2.8 - Взаємозв'язок між типом інструкції і типом виконавчого модуля
Тип інструкцііОпісаніеТіп виконавчого пристрою AЦелочісленная, АЛУI-unit або M-unitIЦелочісленная, що не АЛУI-unitMПамятьM-unitFС плаваючою точкойF-unitBВетвленіе (Branch) B-unitL + XРасшіренная (extended) I-unit або B-unit
Інструкції об'єднуються по три в 128-бітові, вирівняні контейнери звані зв'язками (bundle). Кожна зв'язка містить три 41-бітових слота (slot) і 5-бітове поле шаблону.
У процесі виконання, архітектурні зупинки (stops - стопи) в програмі показують, що одна або декілька інструкцій перед стопом можуть мати певні типи ресурсних залежностей з однією або декількома інструкціями після стопа. У табл. 2.9, стоп показаний у вигляді по...