Формирование адреса при сегментно – страничной организации памяти Виртуальный адрес # Сегмента# Страницы# Слова База стр. табл. # Физической стр.# Слова.

Презентация:



Advertisements
Похожие презентации
Формирование адреса в IA-32 Смещение База (BP, SP) Индекс (SI, DI) Масштабный множитель 1, 2, 4, 8 x x входовой SM сложение по mod 32 Шаг.
Advertisements

Обобщенный формат дескриптора сегмента в IA - 32 База 31 : 24 G G D/BD/B D/BD/B 0 0 AVLAVL AVLAVL Предел сегмента 19 : 16 P P DPL S S Тип База 23 : 16.
Обобщенный формат дескриптора сегмента в IA - 32 База 31 : 24 G G D/BD/B D/BD/B 0 0 AVLAVL AVLAVL Предел сегмента 19 : 16 P P DPL S S Тип База 23 : 16.
Процессоры Intel в защищенном режиме. Недостатки реального режима Невозможно адресовать пространство памяти свыше 1-го Мб Невозможно работать с массивами,
Иерархия памяти ЭВМ Быстродействие Регистры СОЗУ (КЭШ L1) СОЗУ (КЭШ L2,L3) ОЗУ Дисковая КЭШ - память Магнитные диски, RAID Оптические диски Магнитная лента.
1 ЛЕКЦИЯ 3 ХАРАКТЕРИСТИКА ЗАЩИЩЕННОГО РЕЖИМА РАБОТЫ МИКРОПРОЦЕССОРА В реальном режиме работы поддерживается выполнение всего одной программы. Для этого.
Системное программное обеспечение Кыргызско – Российский Славянский Университет Кафедра ИВТ, 3-й курс ИВТ, 5 семестр Лекция 9.
1 Управление памятью Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Лекция 7 Управление памятью Сегментная, страничная и сегментно- страничная организация памяти.
Лекция 3 Управление памятью. Распределение памяти предполагает удовлетворение потребностей как пользователей, так и системных средств. Эти требования.
Управление оперативной памятью 1.Контроль состояния каждой единицы памяти (свободна/распределена) 2.Стратегия распределения памяти (кому, когда и сколько.
Управление оперативной памятью. Основные задачи: 1.Контроль состояния каждой единицы памяти (свободна/распределена). 2.Стратегия распределения памяти.
Сегментная модель памяти процессоров памяти процессоров х86 х86 Архитектура Компьютеров2011.
Операционные системы Управление памятью Скрипов Сергей Александрович 2009.
Виртуальная память. Управление памятью объединяет три задачи Динамическое распределение памяти Отображение виртуальных адресов программы на физические.
Учебный курс Операционные среды, системы и оболочки Лекция 10 Лекции читает доктор технических наук, профессор Назаров Станислав Викторович.
Управление памятью. Модели памяти Линейное адресное пространство Страничная организация Сегментная организация Комбинированное определение адреса Виртуальная.
Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 1 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов.
Работа с основной памятью Лекция 5. Базовая архитектура zSeries SMP архитектура – симметричная мультипроцессорная обработка данных.
Управление процессами Понятие процесса. Представление процесса в различных операционных системах Старший преподаватель каф. Процессов управления и информационной.
Транксрипт:

Формирование адреса при сегментно – страничной организации памяти Виртуальный адрес # Сегмента# Страницы# Слова База стр. табл. # Физической стр.# Слова Физический адрес Страничные таблицы (по табл. на сегмент) # Физической стр. RG базы сегм. табл.

Сегментно – страничное преобразование адреса в IA - 32 Селектор сегмента Смещение Дескриптор сегмента Сегмент Линейное адресное пространство Линейный адрес Вход Дескриптор страницы Директория ТаблицаСмещение Базовый адрес сегмента Страниц а Директория страниц Физическое адресное пространство Сегментное преобразование Страничное преобразование Физический адрес Таблица страниц Логический адрес Глобальная таблица дескрипторов CR3 Линейный адрес Базовый адрес

Сегментные регистры в IA - 32 CS GS SS DS ES FS Дескриптор сегмента кода Дескриптор сегмента стека Дескриптор сегмента данных Дескриптор дополнительного сегмента данных Видимая частьСкрытые (Теневые) регистры ИндексRPLTI Запрашиваемый уровень привилегии Индикатор таблицы дескрипторов; 0 – GTD, 1 - LDT

Преобразование логического адреса в линейный Селектор сегмента Логический адрес 15 0 Таблица дескрипторов Дескриптор сегмента Смещение (Эффективный адрес) + Базовый адрес 31 0 Линейный адрес

Селектор сегмента Индекс 150 TITI TITI RPL 123 Индекс – указывает на один из 8192 дескрипторов в глобальной (GDT) или локальной (LDT) таблице. TI – указывает тип таблицы дескрипторов; 0 – GDT, 1 – текущая LDT. RPL – запрашиваемый уровень привилегии дескриптора.

Обобщенный формат дескриптора сегмента в IA - 32 База 31 : 24 G G D/BD/B D/BD/B 0 0 AVLAVL AVLAVL Предел сегмента 19 : 16 P P DPL S S Тип База 23 : 16 База 15 : 00 Предел сегмента 15 : G бит гранулярности (0 размер сегмента от 1 байта до 1 Мбайта, 1 от 4 Кбайт до 4 Гбайт с шагом 4 Кбайт) ; D/B Размер по умолчанию (0 16-ти битовый сегмент; 1 32-х битовый сегмент); AVL Сегмент доступен для системного ПО; P Бит присутствия сегмента в оперативной памяти; DPL Уровень привилегии дескриптора; S Тип дескриптора (0 системный, 1 сегмент кода или данных); S =1 & сегмент кода. С – бит подчинённости. При С=1 CPL = PL программы, передавшей управление C R A 118

Типы сегментов Поле «ТИП» Тип дескриптораОписание Бит 11 Бит 10 E Бит 9 V Бит 8 A 0000ДанныеТолько чтение 0001ДанныеТолько чтение, доступен 0010ДанныеЧтение/запись 0011ДанныеЧтение/запись, доступен 0100ДанныеТолько чтение, расширяемый 0101ДанныеТолько чтение, расширяемый, доступен 0110ДанныеЧтение/запись, расширяемый 0111ДанныеЧтение/запись, расширяемый, доступен CRA 1000КодТолько исполняемый 1001КодТолько исполняемый, доступен 1010КодИсполнение/чтение 1011КодИсполнение/чтение, доступен 1100КодТолько исполняемый, подчинённый 1101КодТолько исполняемый, подчинённый, доступен 1110КодИсполнение/только чтение, подчинённый 1111 Код Исполнение/только чтение, подчинённый, доступен

Формат дескриптора отсутствующего сегмента в IA - 32 Доступно 0 0 DPL S S Тип Доступно Бит P = 0 Доступно

Формат дескриптора PDE (4 Кбайта) G PSPS 0A PCDPCD PWTPWT U/SU/S R/WR/W P Avail Базовый адрес таблицы страниц 31 AvailДоступно системному программисту GСтраница отмечена как глобальная (игнорируется) AБит обращения (активности) PCDЗапрещает (1), разрешает (0) кэширование страницы или стр. таблицы. Этот бит игнорируется, если установлен флаг CD (cache disable) в CR0. PWTСквозная (1), обратная (0) запись при кэшировании страницы или стр. таблицы. Этот бит игнорируется, если установлен флаг CD (cache disable) в CR0. PSРазмер страницы (0 – страница 4Кбайта) U/SПользователь/Супервизор PБит присутствия.

Формат дескриптора PTE (4 Кбайта ) G PATPAT DA PCDPCD PWTPWT U/SU/S R/WR/W P Avail Базовый адрес страницы 31 AvailДоступно системному программисту GСтраница отмечена как глобальная. Если этот бит вместе с флагом PGE (page global enable) в регистре CR4 установлен в 1, то дескрипторы, соответствующие этой странице и располагающиеся в буфере TLB, при записи в CR3 или переключении задач как недостоверные не помечаются. Это защита часто используемых страниц от удаления «их» дескрипторов из TLB. AБит обращения PCDЗапрещает (1), разрешает (0) кэширование страницы или стр. таблицы PWTСквозная (1), обратная (0) запись при кэшировании страницы или стр. таблицы PATИндекс атрибутов таблицы страниц U/SПользователь/Супервизор PБит присутствия D (Dirty)Бит записи (изменения)

Формат дескриптора PDE (4Мбайта) и 32 – разрядным адресом G PSPS DA PCDPCD PWTPWT U/SU/S R/WR/W P Avail Базовый адрес страницы 31 AvailДоступно системному программисту GСтраница отмечена как глобальная AБит обращения (активности) PCDЗапрещает (1), разрешает (0) кэширование страницы или стр. таблицы. Этот бит игнорируется, если установлен флаг CD (cache disable) в CR0. PWTСквозная (1), обратная (0) запись при кэшировании страницы или стр. таблицы. Этот бит игнорируется, если установлен флаг CD (cache disable) в CR0. PSРазмер страницы (0 – страница 4Кбайта) U/SПользователь/Супервизор PБит присутствия. Резервные PATPAT PATИндекс атрибутов таблицы страниц

Страничное преобразование (размер страницы 4 Кбайта) ДиректорияТаблицаСмещение Линейный адрес Вход PDE (Page Directory Entry) CR3 (PDBR) Вход PTE (Page Table Entry) Слово Страница (4Кбайта) 32 * PDE 1024 PTE = 2 20 страниц *32 бита, выровненные на 4-Кбайтовую границу.

Страничное преобразование (размер страницы 4 Мбайта) ДиректорияСмещение Вход Слово Страница (4Мбайта) CR3 (PDBR) 32 * *32 бита, выровненные на 4-Кбайтовую границу PDE = 1024 Страницы

Формирование адреса в IA-32 Смещение База (BP, SP) Индекс (SI, DI) Масштабный множитель 1, 2, 4, 8 x x входовой SM сложение по mod 32 Шаг 1 Адрес в команде (логический адрес) Смещение внутри сегмента (исполнительный, эффективный адрес)

Формирование адреса в IA-32 Шаг 2 Проверка границ сегмента и прав доступа + База сегмента Регистр сегментаБаза сегментаГраница сегмента Атрибуты, G,D,P, DPL, S, R(W), A Нарушение Исполнительный (эффективный) адрес Линейный адрес Дескриптор сегмента нормально ошибка

База страницы Формирование адреса в IA-32 Шаг 3 Индекс каталогаСмещение в стр.Индекс табл. стр Регистр CR3 База табл. стр. + База страницы Слово. + + Страница Таблица страниц Директория входов (каталог) Линейный адрес 3232 Физический адрес 10 12

Виртуальное адресное пространство IA-64 Виртуальный адрес 0 От 4К до 256М страниц виртуальных регионов 2 61 байт на регион виртуальных адресных пространств

TLB Преобразование виртуального адреса в IA-64 Регистры регионов РИД rr 0 rr 1 rr 2 rr 7 Ид. регионаКлючНВРНомер Вирт. Стр. (НВС)ПраваНомер Физич.. Стр. (НФС) Номер Вирт. Стр. (НВС)Смещение Хеш Поиск КлючПрава Номер Физич.. Стр. (НФС)Смещение Поиск 24 3 Регистры ключей защиты pkr 0 pkr 1 pkr НВР Номер Вирт. Стр. (НВС)Смещение Виртуальный адрес Физический адрес

Защита. Можно ли увидеть? Можно ли получить доступ? RRX# виртуальной стр.смещение. # виртуал. стр.RID права ключ ключ1 ключ2 ключ3 ключ4 ключ5 Регистры ключей защиты ркзn ркз0 Уровень привилегии. Тип доступа. Разрешено? TLB Ключи защиты увеличивают кпд буфера TLB при работе с большими базами данных Регистры регионов Обращение

Page Access Rights