регістри з плаваючою крапкою. Причому, FR0 і FR1 являють спеціальними. При використанні в якості вихідного операнда, FR0 завжди читається як +0.0, а FR1 завжди читається як +1.0. Якщо будь-який з них використовувати в якості приймача, то викликається помилка. Відкладені спекулятивні виключення записуються у вигляді спеціального регистрового значення, яке називається NaTVal (Not a Thing Value).
Регістри з плаваючою крапкою від 32 до 127 називаються ротованою регістрами з плаваючою крапкою. Ці регістри можуть бути програмно перейменовані для прискорення циклів.
Регістри з плаваючою крапкою від 8 до 32 містять регістри IA - 32 - з плаваючою точкою і мультимедіа.
предикатні регістри
Набір з 64 (1-бітових) предикатних регістрів використовується для зберігання результатів інструкцій порівняння. Ці регістри пронумеровані від PR0 до PR63 і доступні для всіх програм на всіх рівнях привілеїв. Ці регістри використовуються для умовного виконання інструкцій.
предикатні регістри розділені на дві підмножини. Предикатні регістри від 0 до 15 називаються статичні предикатні регістри. Причому, при використанні в якості вихідного операнда PR0 завжди читається як 1, а при використанні в якості приймача результат ігнорується. Статичні предикатні регістри також використовуються в умовному галуженні.
предикатні регістри з 16 по 63 називаються ротованою предикатні регістри. Ці регістри можуть бути програмно перейменовані для прискорення циклів.
Регістри переходів
Набір з 8 (64-бітних) регістрів переходів використовується для зберігання інформації про розгалуженні. Вони пронумеровані від BR0 до BR7 і доступні для всіх програм на всіх рівнях привілеїв. Ці регістри використовуються для створення цільових адрес переходів при непрямих переходах.
Покажчик інструкцій
Покажчик інструкцій (IP) зберігає адресу зв'язки містить поточну виконувану інструкцію. Цей регістр може бути прочитаний прямо за допомогою інструкції mov ip . Прямий запис в IP неможлива, але він збільшується після виконання інструкцій і може бути встановлений в нове значення при переході. Оскільки зв'язки інструкцій є 16-байтовими і вирівняні по 16-байтовой кордоні, то в молодших чотирьох бітах IP завжди містяться нулі. Див. Розділ 3.3 «Огляд кодування інструкцій». При виконанні набору інструкцій IA - 32, IP містить 32-бітний віртуальний лінійна адреса поточної виконуваної інструкції IA - 32, який доповнений нулями до 64 біт. Інструкції IA - 32 вирівняні на кордон байта, тому молодші чотири біти IP призначені для виконання інструкцій IA - 32.
Прикладні регістри
Файл прикладних регістрів включає в себе регістри даних спеціального призначення та керуючі регістри для видимих ??додатками процесорних функцій для наборів інструкцій обох архітектур, і для IA - 32, і для Itanium. Ці інструкції можуть бути доступні Itanium-додаткам (окрім відмічених тут випадків). Таблиця 3.3. містить список прикладних регістрів.
Таблиця 2.2 - Прикладні регістри
РегістрІмяОпісаніеТІУAR0-7KR0-7 * Регістри ядра (Kernel) 0-7MAR8-15ЗарезервірованоMAR16RSCРегістр конфігурації стека регістровMAR17BSPУказатель допоміжної пам'яті (тільки для читання) MAR18BSPSTOREУказатель допоміжної пам'яті для збережень памятіMAR19RNATСборний регістр NaT механізму RSEMAR20ЗарезервірованоMAR21FCRРегістр управління з плаваючою точкою для IA- 32MAR22, 23ЗарезервірованоMAR24EFLAG ** Регістр прапорів для IA - 32MAR25CSDДескріптор сегмента коду для IA - 32MAR26SSDДескріптор сегмента стека для IA - 32MAR27CFLG * Регістр, об'єднуючий CR0 і CR4 для IA - 32MAR28FSRРегістр стану з плаваючою точкою для IA - 32MAR29FIRРегістр інструкцій з плаваючою точкою для IA -32MAR30FDRРегістр даних з плаваючою точкою для IA - 32MAR31ЗарезервірованоMAR32CCVРегістр значення порівняння і обменаMAR33-35ЗарезервірованоMAR36UNATСборний регістр NaT пользователяMAR37-39ЗарезервірованоMAR40FPSRРегістр стану з плаваючою точкойMAR41-43ЗарезервірованоMAR44ITCСчетчік інтервалу временіMAR45-47ЗарезервірованоMAR48-63ІгноріруютсяM/IAR64PFSПредидущее функціональне состояніеIAR65LCРегістр лічильника цікловIAR66ECРегістр лічильника епілоговIAR67-111ЗарезервірованоIAR112-127ІгноріруютсяM/I
Прикладні регістри можуть бути доступні виконавчим пристроям тільки M, або I. Це зазначено в останній колонці таблиці. Ігноровані регістри призначені для сумісності зверху вниз з подальшими розширеннями.
Kernel Registers. Вісім видимих ??користувачеві 64-бітових регістрів забезпечують передачу інформації від операційної системи в додаток. Ці регістри можуть бути прочитані на будь-якому рівні привілеїв, але зап...