![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Схема формирования эффективного, линейного и физического адресаСтр 1 из 6Следующая ⇒
В различных режимах процессор по-разному формирует физический адрес. Существует три этапа формирования физического адреса: Формирование эффективного адреса: из логического адреса (база-индекс-смещение) процессор вычисляет эффективный адрес - расстояние от базового адреса текущего сегмента памяти. Формирование линейного адреса: эффективный адрес складывается с базовым адресом сегмента, полученное значение является адресом в плоском (линейном) 4Гбайтном виртуальном пространстве. Страничная трансляция адресов: линейное 4Гбайтное адресное пространство с помощью 4Кбайтных страниц отображается на физически присутствующие блоки памяти (физическое пространство). В защищенном (PM – protected mode) режиме физический адрес памяти представляется тридцатью двумя двоичными разрядами, что позволяет обращаться к оперативной памяти объемом 4 гигабайта (232 байтов). В этом режиме для формирования адреса используется более сложная схема, которая в общем виде представлена на рис Обозначение RPL (requested privilege) на схеме означает хранимую в двух младших разрядах сегментного регистра привилегию, с которой производится обращение к памяти. Основное ее назначение – защита памяти (см. 4.1.4). На этой схеме в процессе формирования физического адреса можно выделить три этапа: формирование эффективного адреса (являющегося, по сути, относительным адресом в логическом или физическом сегментах оперативной памяти); формирование линейного адреса – представляющего собой либо физический адрес оперативной памяти, либо виртуальный адрес логического пространства страничной памяти при выключенном или включенном блоке страничной переадресации соответственно; формирование физического адреса оперативной памяти в блоке страничной переадресации. Последний из этих этапов не является строго обязательным и может быть отключен установкой в “0” бита 31 (PG – paging enable) в управляющем регистре CR0 процессора. Способы адресации реализуются на этапе вычисления эффективного адреса. При этом может использоваться до четырех компонент: база, индекс, масштаб и смещение. База, индекс и смещение рассматривались выше, а масштаб (scale) – это множитель, используемый для увеличения индекса, который может принимать значения 1, 2, 4 и 8, обеспечивая соответствие формату данных (байту, полуслову, слову, двойному слову) определяемой индексом позиции в области (массиве) данных. Масштаб задается непосредственно в коде команды. Эффективный адрес определяется по соотношению эффективный адрес = [База]+ [Индекс * Масштаб] + [Смещение], где [ ] указывают необязательность соответствующей компоненты. Такое формирование эффективного адреса позволяет реализовать все основные способы адресации (прямую, косвенную, относительную, непосредственную).
|