Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Средства поддержки сегментации памяти






Физическое адресное пространство процессора i386 составляет 4Гб, а ША = 32 разряда. Физическая память является линейной с адресами от 0000.0000 до FFFF.FFFF.

Виртуальный адрес представляет собой пару: номер сегмента + смещение внутри сегмента. Смещение хранится в соответствующем поле команды, номер сегмента – в одном из шести сегментных регистра (CS, SS, DS, ES, FS, GS). Каждый из сегментных регистров является 16ти битным.

Средства сегментации образуют верхний уровень средств управления виртуальной памяти процессора i386. Нижний уровень представлен средствами страничной организации. Средства страничной организации могут быть как включены, так и выключены, в зависимости от этого меняется смысл преобразования виртуального адреса.

Пример работы средств сегментации при отключенном механизме управления страницами i386.

32-х битное смещение определяет размер виртуального сегмента 232 = 4 Гбайт. Количество сегментов определяется размером поля, отведенного в сегментном регистре под номер сегмента. Структура данных в сегментном регистре выглядит следующим образом:

2 бита под уровень привилегий – CPL=0÷ 3

1 бит под тип таблицы – 0: GDT, 1: LDT

13 бит под номер дескриптора - индекс

Данная структура предназначена для выбора дескриптора определенного сегмента из таблиц типов дескриптора сегмента. Дескриптор сегмента описывает все характеристики сегменты, необходимые для проверки правильности доступа к нему и нахождению его в физическом адресном пространстве.

2х битное поле текущих прав доступа CPL, однобитное поле указателя типа используемой таблицы дескрипторов и 13ти битное поле номера сегмента в таблицах GDT и LDT.

Процессор i386 поддерживает две таблицы дескрипторов сегментов: GDT – глобальная и LDT – локальная. Глобальная таблица предназначена для описания сегментов операционной системы и сегментов межзадачного взаимодействия. То есть тех сегментов, которые в принципе могут использоваться всеми задачами. Локальная таблица предназначена для описания сегментов отдельных задач. Как правило, глобальная таблица одна. Локальных таблиц столько, сколько в системе выполняется задач. При этом активной в каждый момент времени может быть только одна из таблиц LDT.

Разрядность поля индекса определяет максимальное число глобальных и локальных сегментов задач (то есть по 8Кбайт сегментов каждого типа (213), всего 16 Кбайт). С учетом максимального размеров сегмента каждая задача при сегментной организации виртуальной памяти работает в ВАП размером 64 Тбайт.

Для хранения глобальных и локальных таблиц используется оперативная память. Кроме того GTD постоянно присутствует в ОП, поэтому процессор извлекает нужный дескриптор сегмента и помещает его во внутренний программно недоступный регистр процессора.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.