Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Распределение адресного пространства






Адресное пространство МП определяется в i8086 разрядностью шины адреса/данных и адреса и составляет 220 байтов = 1 Мбайт. В этом адресном про­странстве микропроцессору одновременно доступны лишь четыре сегмента, два из которых (DS и ES) предназначены для размещения данных, CS — сег­мент кода (для размещения программы) и SS — сегмент стека.

Размеры сегментов определяются разрядностью логических адресов команд, данных и стека. Логические адреса команд и стека (верхушки) хранятся в 16-разрядных регистрах IP и SS соответственно, а логический адрес данных вычисляется в команде одним из многочисленных, предусмотренных систе­мой команд, способов и также составляет 16 битов.

Таким образом, размер каждого сегмента в i8086 составляет 216 байтов = 64 Кбайт. Положение сегмента в адресном пространстве (его начальный адрес) определяется содержимым одноименного сегментного регистра.

Фор­мирование физического адреса иллюстрируется на рис. 3.6, из которого вид­но, что граница сегмента в адресном пространстве может быть установлена не произвольно, а таким образом, чтобы начальный адрес сегмента был кра­тен 16.

Рис.3.6 Формирование физического адреса (i8086)

По умолчанию сегментные регистры выбираются для образования физиче­ского адреса следующим образом: при считывании команды по адресу IP ис­пользуется CS, при обращении к данным — DS или ES, при обращении к сте­ку — SS. С помощью специальных приставок к команде (префиксов) можно назначить для использования произвольный сегментный регистр (кроме пары CS: IP, которая не подлежит модификации). Границы сегментов могут быть выбраны таким образом, что сегменты будут изолированы друг от друга, пе­ресекаться или даже полностью совпадать.

Например, если загрузить CS = SS = DS = ES = 0, то все сегменты будут совпадать друг с другом и на­чинаться с нулевого адреса.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал