Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
L_SPPO.doc
Скачиваний:
30
Добавлен:
04.11.2018
Размер:
522.24 Кб
Скачать

Особенности архитектуры микропроцессоров i80x86

Под обозначением i80x86 будем понимать любые 32-битовые микропроцессоры, имеющие такой основной набор команд, как и в первом 32-битовом микропроцессоре Intel 80386.

  1. Реальный и защищенный режимы работы процессора

Первым микропроцессором, на базе которого была создана IBM PC, был 16-ти разрядный микропроцессор Intel 8088. Он отличается от первого 16-битового микропроцессора Intel 8086 тем, что у него была 8-битовая шина данных, а не 16-ти битовая как у 8088. Эти микропроцессоры были предназначены для работы в однозадачном режиме, специальных аппаратных средств для поддержки мультипрограммных ОС в них не было. Поэтому для совместимости с первыми компьютерами (программных продуктов было создано уже много) в последующих версиях микропроцессоров была реализована возможность использовать их в двух режимах – реальном (real mode – так назвали режим работы первых 16-битовых микропроцессоров) и защищенном (protected mode – означает, что параллельные вычисления могут быть защищены аппаратно-программными механизмами)

В 16-ти битовых микропроцессорах i80x86 обращение к памяти в 1 Мбайт производилось посредством механизма сегментной адресации. Этот механизм увеличивал количество разрядов, участвующих в указании адреса ячейки памяти, с 16 до 20 и тем самым увеличивал объем адресуемой памяти от 64 Кбайт (216) до 1 Мбайт (220).

В защищенном режиме работы определение физического адреса осуществляется совершенно иначе. Прежде всего используется сегментный механизм для организации виртуальной памяти. При этом адреса задаются 32-битовыми значениями. Для изучения всего этого рассмотрим новые архитектурные возможности микропроцессора i80x86.

  1. Новые системные регистры микропроцессоров i80х86

  1. 32-битовый указатель команды EIP , младшие 16 разрядов есть регистр IP микропроцессора i8086/88;

  2. 32-битовый регистр флагов EFLAGS, младшие 16 разрядов есть регистр FLAGS микропроцессора i8086/88;

  3. 32-битовые регистры общего назначения EAX, EBX, ECX, EDX, а также ESP, EBP, ESI, EDI, а их младшие 16 разрядов есть регистры микропроцессора i8086/88: AX, BX, CX, DX, SP, BP, SI, DI;

  4. 16-битовые сегментные регистры CS, SS, DS, ES, FS, GS. При каждом из этих регистров есть недоступные никому, кроме собственно микропроцессора, 64-битовые регистры, в которые загружаются дескрипторы соответствующих сегментов;

  5. 16-битовый регистр-указатель на локальную таблицу сегментов текущей задачи – LDTR. При нем также имеется «теневой» (скрытый от программиста) 64-битовый регистр, в который микропроцессор заносит дескриптор, указывающий на таблицу дескрипторов сегментов задачи, описывающих ее локальное виртуальное адресное пространство;

  6. 16-битовый регистр-указатель задачи TR (task register). Указывает на дескриптор в глобальной таблице дескрипторов, позволяющий получить доступ к дескриптору задачи TSS – информационной структуре, которая поддерживает микропроцессор для управления задачами;

  7. 48-битовый регистр GDTR глобальной таблицы GDT (global descriptor table), содержащий как дескрипторы общих сегментов, так и специальные системные дескрипторы;

  8. 48-битовый регистр IDTR таблицы дескрипторов прерываний. Сдержит информацию, необходимую для доступа к таблице прерываний IDT.

  9. 32-битовые управляющие регистры CRO, CR1, CR2, CR3. Регистр CR0 содержит флаги, определяющие режим работы микропроцессора. Регистр CR1 предназначен для размещения в нем адреса подпрограммы обработки страничного исключения. Регистр CR3 содержит номер физической страницы, в которой располагается таблица каталогов таблиц страниц текущей задачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]