Страничная организация.
Сегментная адресация (сегментация).
Основные способы адресации
Существует четыре основных способа адресации:
· линейная (прямая) адресация;
· сегментная адресация (сегментация);
· страничная организация;
· комбинация сегментирования и страничного способа.
В каждом из этих способов сначала вычисляется 32-разрядное смещение для целевого операнда, прибавляемое затем к 16-разрядному селектору сегмента, в результате чего получается физический адрес обращения к памяти.
2.1. Линейная (прямая) адресация.
Согласно методу линейной адресации, в микропроцессоре блокируется механизм виртуальной памяти, а все команды, осуществляющие операции над кодами программ, данными и действия со стеком, включаются в один сегмент.
Размеры этого сегмента могут достигать объема всего пространства физической памяти, адресуемого микропроцессором (до 4 Гбайт).
Метод линейной адресации не требует никаких преобразований адресов с помощью диспетчера памяти, поскольку любой логический адрес равен действительному физическому адресу.
Пользуясь моделью сегментной адресации, можно разделять логическое адресное пространство на несколько различных сегментов, например, на сегменты данных, кодов, стека и три дополнительных сегмента. Каждый модуль памяти имеет свое собственное логическое адресное пространство, поэтому несложно реализовать механизмы, обеспечивающие защиту отдельных модулей, выборочный обмен данными между модулями, а также совместное использование модулей несколькими задачами.
Механизмсегментации может служить для структурирования логического адресного пространства.
Наличие в микропроцессоре механизма разбиения на страницы размером по 4 К позволяет разделить на страницы линейное адресное пространство любой задачи, представленное логическими сегментами.
Страничная организация служит для управления физической памятью.
Механизм сегментации и разбиения памяти на страницы возможно использовать независимо, но их комбинация представляет лучшие средства адресации.
Например, в прикладной программе сегментация может использоваться для реализации разделения данных, защиты программного обеспечения и многозадачного режима работы, при этом разбиение на страницы будет обеспечивать основное управление физической памятью.
При совместном использовании обоих способов организации памяти адрес формируется из линейного адреса, полученного блоком сегментации и обработанного механизмом поддержки страниц.