Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Формирование линейного адреса в реальном режиме

Сегментированная модель памяти.

 

Сегментация [Юров,2002] - это механизм адресации, обеспечивающий существование нескольких независимых адресных пространств как в пределах одной задачи, так и в системе в целом для защиты задач от взаимного влияния.

Суть сегментной адресации заключается в следующем.

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

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

- сегментированная модель памяти реального режима;

- сегментированная модель памяти защищенного режима;

- сплошная модель памяти защищенного режима.

Рассмотрим процесс формирования физического (линейного) адреса в реальном режиме.

В реальном режиме сегментные регистры процессора содержат старшие 16 бит физического адреса начала сегмента. Максимальное значение, которое могут содержать 16-битные регистры, составляет 216-1 или 64 Кбайт. Но адресное пространство реального режима составляет 1 Мбайт.

Возникает вопрос о том, как адресовать остальную часть оперативной памяти вплоть до 1 Мбайта, если размер самого сегмента не превышает 64 Кбайт. Чтобы организовать работу с мегабайтным адресным пространством памяти, используется искусственное выделение из адресного пространства сегментов по 64К (так как в таком объеме мы можем использовать шестнадцатиразрядные адреса). Недостающие младшие четыре бита 20-битного адреса получаются сдвигом значения в сегментном регистре на 4 разряда влево.

Физический адрес получается путем сложения этого адреса с 16-разрядным значением смещения в сегменте, формируемого по заданному режиму адресации для операнда или извлекаемому из регистра IP для команды

Рис.3.2 Формирование физического адреса памяти из адреса сегмента и смещения.

 

На рисунке видно, что сегментная часть извлекается из одного из сегментных регистров, сдвигается на четыре разряда влево и суммируется со смещением. Получившиеся 20-битное значение и является настоящим физическим адресом, соответствующим началу сегмента.

Процедура умножения сегментного адреса на 16 (или, что то же самое, на 10h) является принципиальной особенностью реального режима, ограничивающей диапазон адресов, доступных в реальном режиме, величиной 1 Мбайт. Действительно, максимальное значение сегментного адреса составляет FFFFh, или 64К-1, из чего следует, что максимальное значение начального адреса сегмента в памяти равно FFFF0h, или 1 Мбайт - 16. Если, однако, учесть, что к начальному адресу сегмента можно добавить любое смещение в диапазоне от 0 до FFFFh, то адрес последнего адресуемого байта окажется равен 10FFEFh, что соответствует величине 1 Мбайт + 64 Кбайт - 17.

<== предыдущая лекция | следующая лекция ==>
Режимы работы микропроцессора | Формирование линейного адреса в защищенном режиме
Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 662; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.