n="justify"> Epilog Counter Register. EC - це 6-бітний регістр використовуваний для підрахунку фінальних стадій (епілогів) в модульно планованих циклах.
Регістри даних моніторингу продуктивності (PMD)
Performance Monitor Data Registers. Набір регістрів даних моніторингу продуктивності може бути конфигурирован привілейованої програмою так, щоб стати доступним на всіх рівнях привілеїв. Дані моніторингу продуктивності можуть бути отримані прямо всередині програми. Операційній системі дозволяється захистити створену користувачем конфігурацію моніторингу продуктивності. При читанні, захищені лічильники продуктивності повертають нуль, незважаючи на поточний рівень привілеїв. Монітори продуктивності можуть бути записані тільки при більшому рівні привілеїв. Монітори продуктивності можуть використовуватися для збору інформації про продуктивності при виконанні будь-якого набору інструкцій і Itanium, і IA - 32.
Маска користувача (UM)
User Mask. Маска користувача - це доступне для всіх прикладних програм підмножина регістра стану процесора (Processor Status Register). Маска користувача управляє вирівнюванням доступної пам'яті, байтовим упорядкуванням і користувальницької конфігурацією моніторів продуктивності. Тут також записується модифікація станів регістрів з плаваючою крапкою.
Таблиця 2.5 - Опис полів маски користувача
ПолеБитОписаниеreserv0Резервированоbe1Возможность доступу до пам'яті за зростанням (управляє завантаженням і відновленням, але не доступом RSE пам'яті) 0: звернення робиться за зменшенням 1: звернення робиться за зростанням Цей біт ігнорується при доступі до пам'яті даних типу IA - 32. Посилання даних IA - 32 завжди виконуються по убиванію.up2Доступ користувача до моніторингу продуктивності (включаючи IA - 32) 0: моніторинг продуктивності не доступний користувачеві 1: моніторинг продуктивності доступний пользователюac3Проверка вирівнювання для звернень до пам'яті даних (включаючи IA - 32) 0: чи не вирівняність звернень до пам'яті даних може викликати помилку « Посилання на НЕ вирівняні дані »1: всі, що не вирівняні звернення до даних пам'яті, викликають помилку« Посилання на НЕ вирівняні дані »mfl4Запісь молодших (f2 ... f31) регістрів з плаваючою крапкою. Цей біт встановлюється в 1, якщо завершена Itanium інструкція, яка використовує регістр f2 ... f31 в якості приймача. Цей біт заміщається і просто очищається при явній записи маски користувача. Про умови, при яких цей біт встановлюється інструкціями IA - 32, див. Розділ 3.3.2 другий тома.mfh5Запісь старших (f32 ... f127) регістрів з плаваючою крапкою. Цей біт встановлюється в 1, якщо Itanium інструкція, яка використовує регістр f32 ... f127 в якості приймача, завершена. Цей біт заміщається і просто очищається при явній записи маски користувача. Про умови, при яких цей біт встановлюється інструкціями IA - 32, див. Розділ 3.3.2 другого тому.
Регістри ідентифікації процесора
Processor Identification Registers. Інформація, що ідентифікує процесор на рівні додатку доступна у файлі регістрів званому CPUID. Цей файл ділиться на фіксовану область (регістри від 0 до 4) і змінну область (регістри з 5 і далі). Поле CPUID [3] .number показує максимальний номер 8-байтного регістра містить інформацію, специфікує процесор.
Регістри CPUID не є привілейованими і доступні побічно, за допомогою інструкції mov. Всі регістри, наступні за регістром зазначеним у поле CPUID [3] .number, є резервованими, і звернення до них викликає помилку «резервуватися регістр/поле». Запис заборонена і не існує інструкцій для такої дії.
Інформація про постачальника знаходиться в CPUID регістрах 0 і 1, вона задає ім'я постачальника в коді ASCII для реалізованого процесора. Всі байти після кінця рядка і до 16-го байта містять нулі. Перші символи ASCII розміщуються в регістрі з меншим номером і в байтах з меншим номером.
Регістр CPUID [2] - це ігнорований регістр (читання з нього повертає 0).
Регістр CPUID [3] містить кілька полів показують інформацію про версію сімейства для реалізованого процесора.
Таблиця 2.6 - Опис полів CPUID регістра 3
ПолеБітиОпісаніе number7: 0Індекс найбільшого реалізованого CPUID регістра (на 1 менше, ніж кількість реалізованих CPUID регістрів). Це значення повинно бути не менше 4.revision15: 8Номер версії процесора. 8-бітове число, яке описує версію (revision) або модифікацію (stepping) реалізованого процесора, але не модель процессора.model23: 16Номер моделі процесора. Унікальне 8-бітове число представляє модель процесора, але не сімейство процесора. family31: 24Номер сімейства процесора. Унікальне 8-бітове число показує сі...