|
|||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||
|
Архітектурні особливості
Операційна система MS-DOS, мова асемблера МП
86 і методи програмування мікропроцесорів корпорації Intel
розроблялися стосовно 16-розрядного процесора 8086 і тому режиму, який згодом
отримав назву реальну. Поява процесора 80386 знаменувало собою почато нового
етапу в розвитку операційних систем і прикладного програмування -
етапу багатозадачних графічних операційних систем захищеного режиму типу Windows
і 32-розрядних прикладних програм. При цьому, як вже наголошувалося у введенні,
всі архітектурні засоби 86-го процесора входять до складу будь-якого сучасного
процесора, який, таким чином, можна умовно розділити на дві частини - МП 86
і додаткові засоби, що забезпечують захищений режим, 32-розрядну адресацію і
інше. З цих додаткових засобів можна виділити ті, які забезпечують захищений
режим, і в реальному режимі не використовуються (в усякому разі,
явним чином; насправді, процесор, навіть працюючи в реальному режимі, використовує принаймні
деякі з цих засобів). Сюди, наприклад, відносяться регістри таблиць дескрипторів,
регістри тестування і відладки, привілейовані команди захищеного режиму,
система сторінкового відображення адрес і ін. З іншого боку, частину нових
властивостей сучасних процесорів можна використовувати і в реальному режимі, виконуючи
програми під управлінням MS-DOS. Сюди, перш за все, відноситься
використання 32-бітових операндів, деяких нових команд процесора і розширених
можливостей старих команд. Справжній розділ буде в основному присвячений саме цим
засобам процесорів 80386, i486 і Pentium, які надалі ми узагальнено називатимемо 32-розрядними
процесорами. Питання про програмування захищеного режиму дуже складне, щоб
його можна було освітити в рамках цієї книги, хоча основні принципи захищеного
режиму будуть описані. Мал. 4.1. Основні регістри 32-розрядних процесорів. Як видно з мал. 4.1,
регістри загального призначення і регістри-покажчики відрізняються від аналогічних регістрів
МП 86 тим, що вони є 32-розрядними. Відповідно, до їх мнемонічних
позначень додана буква Е (від extended, розширений).
Всі сегментні регістри,
як і в МП 86, є 16-розрядними. У їх склад включено ще два регістри
- FS і GS, які можуть використовуватися для зберігання сегментних адрес двох
додаткових сегментів даних. Таким чином, при використанні розширених
можливостей сучасних процесорів програмі одночасно доступні чотири
сегменти даних, а не два, як в МП 86.
|
|
|||||||||||||||||||||||||||||||||||||||||||
|