Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки_2.docx
Скачиваний:
9
Добавлен:
09.02.2015
Размер:
874.63 Кб
Скачать

Вопрос №14

Диапазон значений физических адресов зависит от разрядности шины адреса процессора

Для i486 и Pentium он находится в пределах от 0 до -1(4Гбайт)

Для процессоров Pentium II/III/4 этот диапазон шире — от 0 до – 1 (64 Гбайт).

Механизм управления памятью полностью аппаратный. Процессор аппаратно поддерживает 2 модели использования оперативной памяти.Различают:

  • сегментированную модель, в которой программе выделяются непрерывные области памяти (сегменты), а сама программа может обращаться только к данным, которые находятся в этих сегментах;

  • страничную модель можно рассматривать как надстройку над сегментированной моделью. Здесь оперативная память рассматривается как совокупность блоков фиксированного размера (4 Кбайт и более). Основное применение этой модели связано с организацией виртуальной памяти, что позволяет операционной системе привлекать для работы программ пространство памяти намного большее, чем объем физической памяти.

Сегментная модель памяти (I8086/286).

В инструкциях I8086/286 адрес данных ограничен 16-ю разрядами, т.е. значение адреса ограниченоo-offff– 64 кб. Сегментная модель позволяет адресовать 1024 кб с помощью 16-ти разрядных регистров.

Внутри сегмента блок памяти размером 64 кб. Положение сегмента в адресном пространстве 1024 кб задается от 0 до OFFFF. Начала сегментов отстоят друг от друга на 16 байт (параграф).

Сегменты, используемые процессором для адресации памяти, следующие:

    1. Текущий сегмент кода, из которого считывается очередная инструкция по смещению заданного ip.

    2. Текущий сегмент данных для доступа к операндам инструкций по смещению, заданному вне инструкции.

    3. Текущий сегмент стека – для доступа к стеку по смещению, заданному SР или ВР. Текущее значение номера сегмента кода, сегмента данных и сегмента стека хранятся в регистрахCS(CodeSegment),DS(Datasegment),SS(StackSegment),ES(ExtraDataSegment).

Для считывания очередной инструкции используется пары 16разрядных регистров CS,IP, для обращения к стеку –SS,SP/BP, для обращения к данным –DP, смещение.

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

1) Сегментированная модель реального режима,

2) Защищенного режима,

3) Сплошная модель памяти защищенного режима.

Под физическим адресом понимается адрес памяти, выдаваемый на шину адреса процессора.

Вопрос №15

  1. Диапазон изменения физического адреса — от 0 до 1 Мбайт.

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

При обращении к конкретному физическому адресу оперативной памяти необходимо определить адрес начала сегмента и смещение внутри сегмента. В процессоре эти 2 составляющие на аппаратном уровне складываются, в результате получается физический адрес памяти размерностью 20 бит. Это позволяет сделать программное обеспечение перемещаемым, то есть не зависящим от конкретных адресов загрузки в его оперативной памяти.

Сегментная часть извлекается из сегментных регистров, сдвигается на 4 разряда влево и суммируется со смещением. В архитектуре IA32 пока процессор находится в реальном режиме, старшие 12 линий шины адреса не доступны.

Недостатки формирования физического адреса в реальном режиме:

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

    2. Сегменты имеют максимальный размер 64 кб.

    3. Сегменты могут перекрываться другими сегментами.

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