Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory.docx
Скачиваний:
5
Добавлен:
17.08.2019
Размер:
476.75 Кб
Скачать
  1. Що таке сегментування пам'яті? Як сегментування пам'яті організовано в процесорі Intel 8086?

Сегментная адресация памяти — схема логической адресации памяти компьютера в архитектуре x86. Линейный адрес конкретной ячейки памяти, который в некоторых режимах работы процессора будет совпадать с физическим адресом, делится на две части: сегмент и смещение. Сегментом называется условно выделенная область адресного пространства определённого размера, а смещением — адрес ячейки памяти относительно начала сегмента. Базой сегмента называется линейный адрес (адрес относительно всего объёма памяти), который указывает на начало сегмента в адресном пространстве. В результате получается сегментный (логический) адрес, который соответствует линейному адресу база сегмента+смещение и который выставляется процессором на шину адреса.

Селектором называется число (в x86 — 16-битное), однозначно определяющее сегмент. Селектор загружается в сегментные регистры.

Центральный процессор 8086 имеет четыре 16-битных регистра общего назначения AX, BX, CX, DX, четыре регистра-указателя SI, DI, BP и SP, четыре регистра сегментов CS, DS, ES, SS, один 16-битовый регистр флагов FLAGS и указатель программ IP

16-битная x86-архитектура, благодаря наличию четырех сегментных регистров, позволяет одновременно иметь доступ к четырем сегментам памяти. Назначение сегментных регистров:

DS (data segment) — сегмент данных;

CS (code segment) — сегмент кода;

SS (stack segment) — сегмент стека;

ES (extra segment) — дополнительный сегмент.

Логический адрес на такой платформе принято записывать в виде сегмент:смещение, где сегмент и смещение задаются в шестнадцатеричной системе счисления. В реальном режиме для вычисления физического адреса байта памяти происходит сдвиг влево на 4 разряда значения соответствующего сегментного регистра, а затем добавляется смещение.

Например, логический адрес 7522:F139 дает 20-битный физический адрес:

75220 + F139 = 84359

Максимальный объем физ. Памяти для 8086 – 1Мб

  1. Що таке сегментування пам'яті? Як сегментування пам'яті організовано в процесорі Intel 80286?

Программная модель процессора 80286 включает 14 регистров ЦП 8086, пять новых регистров:

GDTR - 40-разрядный регистр определяет размер и положение глобальной дескрипторной таблицы;

LDTR - 16-разрядный регистр определяет базовый адрес локальной дескрипторной таблицы;

IDTR - 40-разрядный регистр определяет начало и размер таблицы векторов прерываний;

MSW - слово состояния программы (, если флаг PE = 1 в MSW, то процессор переключается в защищенный режим).;

TR - 16-разрядный регистр содержит селектор сегмента состояния задачи, используется для многозадачности,

и шесть программно недоступных регистров, связанных с CS, DS, ES, SS, GDTR, IDTR.

С появлением Intel-286 впервые стали говорить о различных режимах работы. Было реализовано два режима функционирования: режим реального адреса (режим эмуляции 8086) и защищенный режим, в котором используются все возможности МП. В последующих поколениях МП этого семейства защищенный режим становится основным режимом работы.

Формирование линейного адреса без участия селекторов

В режиме реального адреса используется упрощенная схема формирования линейного адреса.

В этом случае базовый адрес сегмента берется из сегментного регистра. Значение в сегментном регистре представляет собой биты 4-19 базового адреса сегмента. Действительный физический адрес получается умножением на 16 базового адреса сегмента (рис. 2.2). Предел для всех сегментов одинаков. В режиме реального адреса предел сегмента - 64 Кбайт.

Формирование линейного адреса в защищенном режиме

Значения, помещаемые в сегментные регистры, называются селекторами. Селектор содержит индекс дескриптора, определяющий номер записи в дескрипторной таблице, бит TI, указывающий, к какой дескрипторной таблице производится обращение LDT (TI = 1) или GDT (TI = 0), а также запрашиваемые права доступа к сегменту – RPL

По указанному в селекторе номеру записи в соответствующей (бит TI селектора) дескрипторной таблице определяется дескриптор сегмента.

Дескриптор - это 8-байтная единица описательной информации, распознаваемая устройством управления памятью в защищенном режиме, хранящаяся в дескрипторной таблице.

Дескриптор сегмента содержит базовый адрес описываемого сегмента, предел (размер) сегмента и права доступа к сегменту. В защищенном режиме сегменты могут начинаться с любого линейного адреса.

Для определения физического адреса базовый адрес сегмента суммируется со смещением.

Существуют две обязательных дескрипторных таблицы - глобальная (GDT) и дескрипторная таблица прерывания (IDT), - а также множество (до 8192) локальных дескрипторных таблиц (LDT), из которых в одинединый момент времени процессору доступна только одна. Расположение дескрипторных таблиц определяется регистрами процессора GDTR, IDTR, LDTR.

Максимальный объем физ. Памяти для 8086 – 16Мб

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