
- •Регистры общего назначения
- •Сегментные регистры
- •Регистр флагов
- •Регистры управления процессором
- •Поколения эвм
- •Архитектура фон Неймана и гарвардская архитектура
- •Режимы адресации мп i80386 (реальный, защищённый, v86, страничной адресации)
- •Организация памяти в мп i80386 (физический, логический, линейный адрес, сегментированная память, сплошная память, разбиение на страницы)
- •Адресация в защищённом режиме
- •Страничная адресация
- •Механизм защиты в защищённом режиме (уровни привилегий, какие биты и поля используются механизмом защиты, какие проверки выполняются)
- •Прерывания и исключения
- •Обработчики прерываний в реальном режиме
- •Контроллер прерываний
- •Прерывания в защищённом режиме
- •Порты ввода-вывода
- •Доступ к портам под Windows nt/2000/xp.
- •Simd-расширения команд (mmx, sse, sse2, sse3) simd-расширения архитектуры x86
- •Расширение mmx (Multimedia Extension)
- •Расширение sse (Streaming simd Extension)
- •Расширение sse2
- •Расширения sse3
- •Основы дизайна процессоров (препроцессор, постпроцессор, конвейер, суперскалярность)
- •Предсказание ветвлений
- •Иерархия оперативной памяти
- •Принцип работы обычной dram-памяти (Conventional dram)
- •Ядро микросхемы динамической памяти
Адресация в защищённом режиме
Для обращения к памяти используется логический адрес , состоящий из 16 битового селектора, который определяет сегменты и 32х или 16и битового смещения.
Уровень привилегий запроса — это число от 0 до 3, указывающее уровень защиты сегмента, для доступа к которому используется данный селектор. Если программа имеет более высокий уровень привилегий, при использовании этого сегмента привилегии понизятся до RPL. Уровни привилегий и весь механизм защиты в защищенном режиме нам пока не потребуется.
GDT и LDT — таблицы глобальных и локальных дескрипторов соответственно. Это таблицы восьмибайтных структур, называемых дескрипторами сегментов, в которых и находится начальный адрес сегмента вместе с другой важной информацией:
Базовые адреса сегментов хранятся в таблицах дескрипторов (GDT, LDT, IDT)
Селектор:
0-1: уровень привилегий
2: индикатор таблицы 0/1 – GDT / LDT
3-15: номер дескриптора
Дескриптор |
8и байтовая структура, в которой находятся начальный адрес сегмента и др. важная информация |
Регистры управления памятью:
GDTR
6-и байтовый регистр, в котором содержится 32х битный линейный адрес начала GDT и её 16и битный размер
IDTR
6-и байтовый регистр, в котором содержится 32-х битный линейный адрес начала IDT и её 16-и битный размер
LDTR
10-и байтный регистр, в котором содержится 16-и битный селектор, для GDT и весь 8-и байтный дескриптор из GDT, описывающий таблицу LDT
TR
10-и байтный регистр, в котором содержится 16-и битный селектор, для GDT и весь 8-и байтный дескриптор из GDT, описывающий сегмент состояния текущей задачи TSS
Страничная адресация
Виртуальное адресное пространство и оперативная память делятся на страницы и кратен степени 2. Для каждого процесса ОС создает таблицу страниц, т.е информационную структуру, в которой находятся записи о всех виртуальных страницах. Дескриптор страницы, это отдельная запись таблицы. Дескриптор содержит:
Номер физической страницы, в которую загружена данная виртуальная страница
Признак присутствия
Признак модификации
Признак обращения
Вся эта информация используется для решения вопроса необходимости перемещения страницы м/д ВП и ЖД, и для преобразования виртуального адреса в физический.
Адрес этих таблиц включается в контекст процесса.
Преобразование логических адресов в физические адреса.
Преобразование логического адреса в линейный адрес (трансляция адресов)
Преобразование линейного адреса в физический адрес (трансляция страниц). Не обязателен, если отключен режим трансляции страничной адресации
К
адр
страницы – блок в 4 Кб физической памяти
Страницы начинаются на границе 4-х Кбайтных областей памяти и не имеют непосредственного отношения к структуре программы. Младшие 12 битов начала страницы всего равны 0.
Таблицы и каталоги страниц, это массивы 32-х битных чисел (структур)
Формат элементов каталога и таблиц страниц:
31 |
12 |
11-9 |
|
|
|
|
|
|
|
|
0 |
|
… |
G |
PS |
D |
A |
PCD |
PWT |
U |
W |
P |
P – таблица (страниц) присутствует
W – таблица (страниц) доступна для записи
U – страница доступна для программ с 3-м уровнем привилегии
PWT – бит разрешения сквозной памяти
PCD – бит запрещения кэширования
A – бит доступа, устанавливается при любом обращении к странице
D – устанавливается в 1 при записи в страницу
PS – размер страницы
G – глобальная страница: страница не удаляется и буфера TLB при выполнении задачи
9-11 – доступны для использования операционной системой
12-31 – биты физического адреса страницы или таблицы страниц