Керiвництво программиста
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат, решебник по алгебре класс
| Добавил(а) на сайт: Smotrov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата
В процесорах Pentium Pro і Pentium II регістр прапорів не змінився у
порівнянні з процесорами Pentium.
Системні регістри.
Системні регістри передвизначені для завдання режимів роботи процесора, а також для зберігання покажчиків на системні області даних.
В процесорі 8086/88 є тільки один регістр, що можна лічити системним.
Це регістр покажчика команд IP. Даний регістр має 16 розрядів і містить
зміщення наступної команди в сегменті коду. Програма не може напряму
працювати з цим регістром, однак виконуючи переходи, вона побічним образом
змінює вміст регістру IP.
В процесорі 80286 в зв'язку з підтримкою захищеного режиму був введений цілий ряд системних регістрів для зберігання покажчиків на системні області пам'яті і керування процесором.
Регістр GDTR зберігає покажчик на таблицю глобальних дескрипторів і її розмір. Має два поля: поле лінійної адреси початку таблиць (24 біти) і поле розміру таблиці (16 біт). Доступ до цього регістру здійснюється з допомогою команд LGDT і SGDT для завантаження і збереження вмісту регістру відповідно.
Регістр IDTR по внутрішньому формату відповідає регістру GDTR і зберігає покажчик і довжину таблиці перериваннь. В попередньому процесорі таблиця перериваннь завжди розташувалася в початку фізичної пам'яті. В процесорі 80286 вона може розташуватися в будь-якому місці пам'яті.
Регістр LDTR по внутрішньому формату нагадує сегментний регістр і зберігає базову адресу, розмір і атрибути локальної дескрипторної таблиці.
Регістр TR по внутрішньому формату нагадує сегментний регістр і зберігає базову адресу, розмір і атрибути сегменту стану поточної задачі.
Регістр MSW - слово стану машини. Має 16 розрядів і містить чотири
прапора:
. PE (біт 0) - дозвіл захисту. Настанова цього прапора переводить процесор в захищений режим, повернення в реальний режим можливе тільки по сигналу
RESET;
. MP (біт 1) - моніторінг сопроцесора, дозволяє викликати виключення 7 по кожній команді WAIT;
. EM (біт 2) - емуляція сопроцесора. Настанова цього прапора викликає появу виключення 7 при кожній команді, стосовній до сопроцесору, що дозволяє здійснювати його програмну емуляцію.
. TS (біт 3) - переключення задач. Встановлюється процесором після кожного переключення задачі. Скидається командою CLTS. При встановленому прапорі, команда, стосовна до сопроцесору, викличе виключення 7, що дозволяє програмно визначити, відноситься чи контекст сопроцесора до поточної задачі.
Починаючи з процесора 386 змінилася розрядність полів системних
регістрів. Так поле базової адреси регістрів GDTR, IDTR, LDTR і TR
поширилося до 32 розрядів. Регістр MSW поширився до 32 розрядів і
називається тепер CR0. В ньому з'явилися нові прапори:
. WP (біт 16) дозвіл захисту від запису на рівні привілей супервізора в сторінки тільки для читання;
. PG (біт 31) включення механізму трансляції сторінок.
В зв'язку з підтримкою механізму трансляції сторінок з'явилися також два нових регістри: CR2 - містить 32-битну лінійну адресу, по якій була отримана остання відмова сторінки пам'яті і CR3, старші 20 розрядів якого зберігають фізичну адресу каталога сторінок.
В процесорі 80486 регістр CR0 був доповнений декількома новими
прапорами:
. ET (біт 4) - індикатор підтримки інструкцій математичного сопроцесора;
. NE (біт 5) - дозвіл стандартного (для Intel) механізму повідомлення про помилку FPU через генерацію виключення. При NE=0 і активному сигналі
IGNNE# помилки FPU ігноруються. При NE=0 і пасивному сигналі IGNNE# при виникненні помилки FPU процесор зупиняється і чекає переривання, вводимого зовнішньою логікою по сигналу на висновку FERR#. Таким чином емулюється обробка помилок FPU, прийнята в РС зі часів сопроцесорів 80287 і 80387;
. AM (біт 18) - дозвіл контролю вирівнювання (контроль виконується тільки на рівні привілей 3 при АМ=1 і прапорі АС=1);
. NW (біт 29) - заборона наскрізна запису кеша і циклів анулювання;
. CD (біт 30) - заборона заповнення кеша (кеш-попадания в раніше заповнені рядки при цьому не забороняються).
В регістр CR3 були додані два нових б: PCD (б 4) - заборона кешування і
PWT (б 3) - кешування сторінки зі наскрізним записом.
В останні моделі 80486 і процесори Pentium був доданий регістр CR4, що
містить біти дозволу архітектурних рішень. В даному регістрі визначені
наступні біти:
. VME (біт 0) - дозвіл механізму віртуальних перериваннь;
. PVI (біт 1) - дозвіл використання віртуального прапора перериваннь в захищеному режимі;
. TSD (біт 2) - перетворення інструкції RDTSC в привілейовану (тільки
Pentiun+);
. DE (біт 3) - дозвіл крапок останова по звертанню до портів введення- виведення;
. PSE (біт 4) - дозвіл сторінок розміром 4 Мб (тільки Penium+);
. PAE (біт 5) - дозвіл 36-розрядної фізичної адреси (тільки Pentium Pro+).
Захищений режим
Сегментація пам'яті.
Захищений режим почав вперше підтримуватися процесором 80286. Наступні процесори тільки доповнювали режим новими можливостями, але основні поняття і механізми залишилися.
При роботі процесора в захищеному режимі кожний з сегментів команд, даних, стека характеризується відповідними атрибутами, що визначають локалізацію даного сегменту в адресном просторі пам'яті і правила звертання до нього. Атрибути сегменту уявлені в вигляді 8-байтной структури даних, що називається дескриптором.
Дескриптори сегментів зберігаються в пам'яті масивів даних, що сформувалися в вигляді таблиць. Процесор використає три типу таблиць дескрипторів: GDT - глобальна таблиця дескрипторів; LDT - локальна таблиця дескрипторів; IDT - таблиця дескрипторів перериваннь.
Таблиця GDT містить будь-які типи дескрипторів, окрім тих, що використаються при обробці перериваннь. В GDT заносяться дескриптори сегментів, що можуть використовуватися системою при виконанні різноманітних задач. Таблиці LDT містять дескриптори сегментів, що використаються при рішенні поточної задачі. Кількість таблиць, що створюються LDT визначається операційною системою і залежить від числа задач, що реалізуються. В принципі кожна задача може мати окрему LDT, що включає дескриптори сегментів, що використаються при її рішенні. Крім того, LDT можуть містити спеціальні дескриптори шлюзів - крапок входу в програми або задачі. В випадку спільного використання сегментів таблиці LDT можуть повністю або частково перекривати друг друга. Таблиця IDT використовується для реалізації перериваннь. Таблиці можуть мати розміри від 8 байт до 64 Кб, т. є. Містити до 8192 дескрипторів.
Звертання до необхідного дескриптору здійснюється з допомогою селектора, що міститься в відповідному сегментном регістрі. Селектор подає собою 16-разрядный покажчик, що має три поля (рисунок 1.13.).
Поле RPL (біти 1-0) визначає рівень привілей запитання. Це двухрозрядний код, що вказує допустимий рівень захисту сегменту, що може бути вибраний з допомогою даного селектора.
Поле TI (біт 2) служить індикатором таблиці. Його значення вказує таблицю, що вибирається: GDT при TI=0, LDT при TI=1.
Поле ІНДЕКС (біти 15-3) служить індексом для вибору одного з 8192 дескрипторів.
Селектор з нульовим значенням називається нуль-індикатором. Він забезпечує звертання до першого дескриптору в таблиці GDT. Цей дескриптор не використовується при роботі процесора, тому при його вибірці виконується переривання.
Рекомендуем скачать другие рефераты по теме: сочинение сказка, 2 класс изложение.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата