Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры.doc
Скачиваний:
12
Добавлен:
24.11.2019
Размер:
9.53 Mб
Скачать
    1. Виртуальная адресация

Графические многозадачные операционные системы 32-разрядных микропроцессоров позволяют использовать в МПС размер памяти больший, чем суммарная информационная емкость ИМС ЗУ за счет возможности обмена страницами памяти с накопителем на жестком магнитном диске. В процессе функционирования МПС в ОЗУ загружаются программный код и данные. Если потребности программ в объеме ОЗУ превышают этот объем, то содержимое страниц памяти, которое требуется сравнительно редко записывается на жесткий диск в специальный файл. Последний обычно имеет расширение .SWP и называется файлом подкачки страниц (или просто файл подкачки). Виртуальная адресация означает такой способ управления памятью операционной системой, при котором общий объем адресуемой памяти разделяется между программами (или подпрограммами) и отображается на доступные области ОЗУ. Особенностью виртуальной памяти многозадачных графических операционных систем является способность файла подкачки страниц динамически изменять свой размер в зависимости от объема информации, обрабатываемой микропроцессором.

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

Когда виртуальный адрес, по которому обращается программа, не соответствует странице, расположенной в ОЗУ, микропроцессор сообщает об ошибке и диспетчер виртуальной памяти переписывает требуемую страницу из файла обмена в ОЗУ. При этом в ОЗУ обычно освобождается соответствующий объем путем удаления какой-либо другой страницы и ее записи в файл обмена. Для оптимизации процесса обмена между ОЗУ и виртуальной памятью операционная система применяет специальный алгоритм называемый least recently used (LRU), реализующий логику удаления в файл обмена наиболее редко используемые страницы памяти.

    1. Области оперативной памяти

В настоящее время принята следующая классификация областей ЗУ (см. рис. 3.4).

Базовая, или стандартная память (conventional memory) — участок ОЗУ от 0 до 640 КВ, т. е. расположенный в пределах, непосредственно адресуемых 20-разрядным микропроцессором (1МВ или 1024 КВ).

Область старших адресов, или верхняя память (Upper Memory Area, UMA) — часть оперативной памяти, находящаяся между адресами 640 и 1024 КВ.

Расширенная память (extended memory) — область ОЗУ, расположенная выше 1024 КВ. Согласно общепринятому стандарту eXtended Memory Specification (XMS) расширенная память делится на следующие участки:

  • область высокой памяти объемом 64 КВ или High Memory Area (HMA);

  • собственно расширенная память или Enhanced Memory Block (EMB), расположенная выше 1088 КВ.

Отображаемая память (expanded memory) — внешнее устройство, адресуемое 20-разрядными микропроцессорами по стандарту Expanded Memory Specification (EMS). Этот стандарт впервые позволил обойти ограничения на адресуемый объем памяти указанных микропроцессоров. Для работы с отображаемой памятью необходима специальная программа, называемая драйвером ЕМS, который делает доступным эту память для микропроцессора, и дает ему возможность взаимодействовать с ней как с внешним устройством. Для работы с UMB, HMA и XMS также нужны соответствующие драйверы (например HYMEM.SYS), но они делают эти участки памяти доступными не для микропроцессора, а для операционной системы.

Разработка стандарта XMS берет свое начало с момента появления микропроцессоров, имевших разрядность ША более 20. Как было сказано выше, первый мегабайт памяти (0 — 1024КВ) разделен на 16 блоков по 64 КВ. Для получения 20-разрядного адреса 16-разрядный адрес сегмента суммировался с 16-разрядным смещением. Все адресные линии нумеровались от А0 до А19, линия же А20 (21-я адресная линия) в 20-разрядном микропроцессоре отсутствовала. В этой связи, когда адрес превышал максимальное значение, которое можно было бы установить с использованием 20 адресных

Рис. 3.4

линий, все разряды ША устанавливались в 0. Например, если логический адрес представлен в виде FFFF : 0010, то числовое значение реального адреса получилось бы 100000, но из-за того, что ША имела только 20 разрядов, старшая 1 была бы отброшена и в этом случае реальный адрес на ША получался равным 00000. Таким образом, вместо перехода в конец памяти осуществлялся переход в ее начало. При наличии в ША более 20 линий появлялась возможность обращения к некоторому участку дополнительной памяти так, как если бы она была обычной. В этом случае микропроцессор, работающий в реальном режиме, получал доступ к первому сегменту расширенной памяти. Таким образом появилась возможность освободить часть обычной памяти и выделить освободившийся участок для прикладных программ. Для обеспечения совместимости с программами, разработанными для 20-разрядного микропроцессора, в современных МПС используется специальное устройство, называемое Gate A20 (вентиль), позволяющее принудительно обнулять бит А20 системной ША.