Скачиваний:
23
Добавлен:
11.05.2015
Размер:
998.91 Кб
Скачать

5.6. Сегментная адресация

В МП 8086 указатель команд и регистры имеют разрядность 16 бит, и, можно подумать, что процессор может обратиться только к памяти объемом не более 64 Кбайт (65536 байт, т.е. 2^16), т.е. так же, как и 8-разрядный КР580ВМ80А. Однако на самом деле МП 8086 всегда генерирует 20-битовые адреса, получаемые сложением сдвинутого на 4 позиции влево регистра сегмента и смещения.

Например, если смещение адреса равно 390Fh, а сегмент равен 0100h, то исполнительный адрес будет равен 0490Fh (операнды показаны в двоичном виде):

0000 0001 0000 0000 сдвиг сегмента

0011 1001 0000 1111 смещение

0000 0100 1001 0000 1111 исполнительный адрес

При использовании 20-битовой шины адреса непосредственно можно обратиться к 1Мбайту (2^20=1 048 576 байт).

В более поздних процессорах явно разделились следующие понятия:

  • дескриптор — это набор параметров, описывающих некоторый участок (сегмент) памяти: адрес, размер, права программ на запись, чтение и исполнение команд из этого сегмента, тип данных, хранимых в сегменте и т.д. Дескрипторы хранятся в специальных таблицах в ОЗУ;

  • селектор — это номер дескриптора в таблице;

  • сегмент — это участок памяти, описанный дескриптором.

Эти процессоры имеют еще большее адресное пространство (80286 — 16 Mбайт, 80386 — 4 Гбайта, и т.д.). С одной стороны, это достигается за счет расширения разрядности смещения в сегменте, с другой стороны – адреса сегментов задаются в таблице дескрипторов, где под этот адрес отводится больше 32-х бит (под селектор отводится 16 бит).

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

5.7. Особенности распределения адресного пространства в компьютерах ibm-pc

Логическое распределение оперативной памяти определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых машин.

Для машин на базе процессоров до 80586 можно выделить следующие логические области адресного пространства:

  • Conventional Memory — стандартная оперативная память;

  • UMA (Upper Memory Area) — область верхней памяти,

  • HMA (High Memory Area) — область высшей памяти,

  • XMS (eXtended Memory Specification) — расширенная память,

  • EMS (Expanded Memory Specification) — дополнительная память.

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

Кроме того, начиная с процессора 80286 существует понятие виртуальной памяти. Фактически, это дисковое пространство, обслуживаемое операционной системой защищенного режима. Процессоры, начиная с 80286, «помогают» ОС тем, что в нужный момент сообщают ей о необходимости догрузить тот или иной блок с диска в физическую память.

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

Соседние файлы в папке Введение в вычислительную технику.