Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Организация адресного пространства





Регистры. Процессор содержит 8 РОН, 6 сегментных регистров, один регистр флагов, один регистр-указатель команд, а также восемь 80-разрядных регистров с плавающей запятой, восемь 64-разрядных регистров целочисленного ММХ-расширения, восемь 128-разрядных регистров ММХ-расширения с плавающей запятой (рисунок 2.21).

РОНы предназначены для хранения данных и адресов.

Сегментные регистры предназначены для адресации пространства ОП. В реальном режиме работы ЦП в них размещаются базовые адреса сегментов ОП различного назначения. Над их содержимым нельзя выполнять операции, их можно только читать или записывать. В защищенном режиме в них размещаются селекторы сегментов.

Регистры сопроцессора st0, … st7 используются при обработке данных в АЛУ с плавающей запятой. Начиная с процессора Pentium III к ним добавились ещё 8 регистров MMX-расширения с плавающей запятой XMM0, … XMM7 по 128 бит каждый. Кроме того, начиная с процессора Pentium MMX в сопроцессоре размещены 8 регистров целочисленного MMX-расширения.

Следует отметить, что кроме пользовательских регистров, в процессоре имеются ещё и системные регистры различного назначения. К ним относятся регистр MSW – слова состояния машины, регистры дескрипторных таблиц: GDTR – глобальной, LDTR – локальной, IDTR – прерываний, регистр задачи SR и др. В 32-разрядных процессорах введены дополнительно системные регистры. Это 4 управляющих регистра CR0, …,CR3. В них размещается информация о состоянии процессора. Это регистры отладки DR с номерами от 0 до7, регистры тестирования и др.


Организация (адресация ячеек) ООП. На физическом уровне ОП - это линейная совокупность пронумерованных ячеек (байтов). В процессорах i8086/8088 размер адресного пространства 1МВ, в процессорах i80286 (в РС АТ) – 16 МВ, в процессорах i386+ - 4ГВ, в процессорах Pentium Pro – 64ГВ

На логическом уровне организация ОП зависит от режима работы ЦП. В реальном режиме (Real Address Mode – режим реальной адресации) все адресное пространство ОП разделяется на сегменты фиксированной длины (по 64КВ) различного информационного назначения: для размещения (кода) программы, данных, стека и др. Их адресация осуществляется через сегментные регистры CS, DS, ES, S. Базовый адрес сегмента, кратный 16, размещается в сегментном регистре. Физический адрес ячейки ОП вычисляется по формуле:

ФА=16*БА+D, где D - смещение относительно начала сегмента (рисунок 2.22). Для программного сегмента смещение формируется в регистре IP, для сегментов данных смещение ЕА формируется на основе адресной части команды, ЕА - это т. н. эффективный адрес данных, для сегментов стека смещение размещается в SP - регистре-указателе стека.

В реальном режиме относительная адресация позволяет расширить адресное пространство ОП до 1МВ при 16-разрядных регистрах процессора.

В защищенном режиме виртуальной адресации (Protected Virtual Address Mode, процессор i80286+, 1982 год) процессор формирует 24-разрядный физический адрес ОП, что увеличивает пространство ОП до 16 МВ. Это расширение обеспечивается за счет увеличения до 24-х разрядности БА сегмента. С этой целью БА размещается в т. н. дескрипторе сегмента, в котором для него отведены три байта, а также два байта для указания размера (Limit) сегмента. Введение дескрипторов имеет цель не только увеличить адресное пространство, но и решить ряд других назревших задач: защиты информации, виртуальной организации памяти, введения переменной длины сегмента – от одного байта до 64КВ.

Формат дескриптора сегмента:

 
 

Здесь БУД – байт управления доступом к сегменту – введен для ограничения доступа к информации, размещенной в сегменте.

Дескрипторы различных сегментов объединяются в таблицу дескрипторов, предельный размер которой 16К дескрипторов. Таблица дескрипторов размещается в ОП. Обращение к сегменту, с которым работает процессор, производится через соответствующий дескриптор. Для извлечения дескриптора из таблицы дескрипторов используется селектор сегмента. Для разграничения доступа используются таблицы двух типов: глобальная - для дескрипторов сегментов общего (для всех) назначения и локальная – для дескрипторов сегментов одной задачи.

Формат селектора:

Здесь в поле Index указывается номер дескриптора в таблице, в бит TI (тип индекса) заносится тип таблицы - 1 для локальной таблицы и 0 – для глобальной, в поле RPL указывается запрашиваемый уровень привилегий.

Основной недостаток 16-разрядных процессоров – ограниченные размеры сегмента - (64КВ) и ОП –16МВ. Для его преодоления пришлось перейти к 32-разрядным процессорам. Переход состоялся в 1985 году, когда был выпущен процессор i80386 (или просто i386). В нем разрядность АЛУ, шин адреса и данных, и всех регистров (кроме сегментных) была увеличена бит.

Физическое адресное пространство ОП выросло до 4ГВ, изменился и формат дескриптора сегмента:

 

 

В БА сегмента добавлен четвертый байт, поле лимита увеличено на 4 бита, остальные 4 бита резерва имеют специальное назначение, которое рассмотрим позже.

 







Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.