Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шмидт 2 Организация, адресация, кэширование пам....doc
Скачиваний:
8
Добавлен:
05.11.2018
Размер:
901.12 Кб
Скачать

Дополнительная память (ems)

Основной проблемой при использовании реального режима является недостаток места в стандартной памяти.

Механизм избавления от этого недостатка следующий. Почти всегда в области памяти UMB остается свободное место, на этом базируется спецификация отображаемой (дополнительной) памяти (EMS Expanded Memory Specification), эта спецификация позволяет использовать память для прикладных программ свыше стандартных 640 Кб. Для этого используется стандарт, основанный на переключении блоков (страниц) памяти. Он использует окно размером 64 Кб, которое выделяется в незанятой области UMB, между видеобуфером и ROM-BIOS. Это окно разбито на 16-Кбайтные страницы. С помощью специального драйвера строятся «отображения» четырех произвольных физических страниц в логические из дополнительной (Expanded) памяти, которая ранее располагалась на специальной карте расширения. Поэтому эту память часто называют отображаемой памятью.

Все процессоры начиная с i80368 могут эмулировать расширенную память (старше 1Мб) как дополнительную и отдельная карта уже не нужна.

Когда процессор обращается к области памяти, входящей в окно (адрес памяти которого располагается в UMB), аппаратно происходит обращение к соответствующим страницам дополнительной памяти, т.е. к выбранной странице старше 1 мегабайта.

Используя этот механизм можно задействовать области UMB и видеопамяти. Обычно в UMB переносятся из стандартной оперативной памяти части ядра DOS и драйверы.

Расширенная память (Extended память, xms)

Расширенная память XMS (eXtended Memory Specification) это вся память свыше границы 1Мб (включая HMA). Чтобы иметь доступ к этой памяти в MS DOS, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной память в расширенную и обратно. Для работы с этой памятью необходимо чтобы процессор мог работать в защищенном режиме.

В расширенной памяти нужно выделить еще одну область памяти – HMA (High Memory Area), которая занимает 64 Кb непосредственно выше границы 1Мб. Механизм возникновения этой области рассмотрен выше. Итак, область HMA это память имеющая диапазон адресов от 100000 до 10FFEF, т.е. она имеет размер почти 64 Кb. Проще говоря, это Extended память доступная в реальном режиме работы процессора. Необходимую программную поддержку выполняет специальный драйвер.

Адресация памяти в защищенном режиме работы процессора

Реальный режим процессора Intel – однозадачная среда, в данный момент времени в ней может выполняться только одна, конкретная задача. Все сегменты в этом режиме доступны для любого процесса, поэтому в многозадачном режиме процессы могут мешать друг другу. Для решения этой проблемы начиная с процессора i80268 был реализован защищенный режим. Современный вид защищенный режим приобрел в процессоре i80368 (применительно к 4-х гигабайтному адресному пространству). Главной особенностью защищенного режима является то, что вся многозадачность реализована аппаратно.

Перечислим преимущества, которые дает защищенный режим:

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

  2. Сегменты могут быть защищены от записи.

  3. В поле доступа можно также указать уровень доступа. Смысл уровня доступа заключался в том, что задача не может получить доступ к сегменту, у которого уровень доступа выше, чем у данной задачи.

  4. Заложена возможность виртуальной памяти, т.е. памяти, формируемой с учетом возможности того, что сегмент может временно храниться на диске.

Организацию памяти в защищенном режиме разделяют на две части: сегментация (segmentation), и страничная организация (paging).

Сегментация – это механизма разделения адресного пространства процессора на отдельные защищенные друг от друга кусочки (сегменты). Сегментация позволяет изолировать модули кода, данных, стека и позволяет работать нескольким задачам и программам на одном процессоре (multitasking) и не конфликтовать между собой.

Механизм страничной памяти позволяет разместить часть оперативной памяти на диске. Это позволяет обеспечить прикладные программы оперативной виртуальной памятью, размер которой больше размера физической памяти, установленной в компьютере.

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