Контрольні регістриКонтрольний регістр — регістр, що змінює або контролює поведінку процесора чи іншого системного пристрою, тісно пов'язаного з ЦП. Загальними завданнями, виконуваними контрольними регістрами є: контроль переривань, перемикання режимів адресації, керування сторінковим відображенням пам'яті, та контроль співпроцесора. Контрольні регістри серії x86CR0Регістр CR0 є 32-бітним на 386 і старших процесорах. На x86-64, в режимі Long mode він (та інші контрольні регістри) є 64-бітним. CR0 має різні контрольні прапори, що модифікують (визначають) базові операції процесора.
CR1Зарезервований регістр. Intel не розголошує чому[1]. CR2Містить величину, що зветься Page Fault Linear Address (PFLA) - лінійна адреса помилки сторінки. Коли трапляється помилка сторінки (page fault), адреса команди, що запитувала цю сторінку, зберігається в даному регістрі. Помилка сторінки - це апаратно згенероване переривання (interrupt) чи виняток (exception), для ПЗ, і стається воно, коли програма запитується сторінки, що є позначена в її адресному просторі, але відсутня в фізичній пам'яті (major page fault), або пристутня там, але її статус не визначено як «присутня» (minor page fault). CR3Використовується, коли дозволено віртуальну адресацію, отже коли прапор PG в CR0 виставлено. CR3 дозволяє процесору транслювати (переводити) віртуальні адреси у фізичні, оперуючи з директорією сторінок (page directory) і таблицями сторінок (page tables) для поточного завдання. Зазвичай, верхні 20 біт CR3 використовуються як регістр бази директорій сторінок (англ. page directory base register, PDBR). В традиційному 32-бітному захищеному режимі, x86 процесори використовують дворівневу схему відображення сторінок, де регістр CR3 містить вказівник на окрему сторінкову директорію (page directory), яка довжиною є 4096 байт, і яка розбита на 1024 4-байтні одиниці, кожна з яких — це вказівник на таблицю сторінок довжиною теж 4096 байт, і яка теж розбита на 1024 4-байтних вказівники, тепер вже на 4096 байтні блоки пам'яті, що звуться сторінками. CR4Використовується в захищеному режимі для контролю таких операцій як підтримка режиму віртуального 8086, дозвіл точок зупину вводу/виводу (I/O breakpoints), розширення розміру сторінки та машинний контроль за помилками апаратури (Machine-check exception (MCE)).
CR8
Додаткові контрольні регістри в x86-64 серіїEFERExtended Feature Enable Register (EFER) — регістр, що з'явився у процесорах AMD K6. Біти цього регістра призначені для дозволу чи заборони інструкцій SYSCALL/SYSRET, керування режимом no-execute, входу/виходу в/з Long mode, та для інших системних налаштувань. Регістр виявився настільки важливим, що був адаптований і компанією Intel для своїх процесорів. Його MSR-індекс — 0xC0000080.
Джерела
Див. також
Посилання
|
Portal di Ensiklopedia Dunia