Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Преобразование виртуального адреса в физический



И виртуальный, и физический адрес при страничном распределении представля­ются парой (<номер страницы>, <смещение в пределах страницы>).

Пусть (p,sv) - виртуальный адрес некоторого объекта, (n,sf) - его физический ад­рес, где p, n - номера виртуальной и физической страниц, sv, sf - смещения в преде­лах страниц для виртуальной и физической страницы соответственно.

Задача подсистемы виртуальной памяти состоит в отображении (p,sv) в (n,sf). Ре­шение этой задачи базируется на двух свойствах страничной организации.

1) Объем страницы выбирается равным степени двойки.

Пусть объем страницы равен 2k, а общий объем памяти равен 2v.

Тогда любой плоский адрес представляется v-разрядным двоичным числом от 0 до 2v -1, а его значение определяется выражением: (<номер страницы>) * 2k + <сме­щение> (страницы и адреса нумеруются с нуля).

Таким образом, последние k разрядов двоичной записи адреса представляют со­бой смещение, а первые (v-k) - номер страницы. Начальный адрес страницы можно получить, приписав к номеру k нулей.

Например, при объеме памяти в 4 Гб = 232 и объеме страницы в 4 Кб = 212 число страниц будет равно 232-12, двоичный номер каждой страницы представляется пер­выми 20 разрядами, а смещение - последними 12 разрядами.

Пусть адрес равен 12 F1 A0 0116. Определим номер его страницы и смещение:

12 F1 A0 0116 = 0001 0010 1111 0001 1010 0000 0000 00012.

16 2

2) Последовательность адресов внутри виртуальной страницы отображается без изменения, т. е. смещения в виртуальном и физическом адресах равны: sv = sf.

Схема преобразования виртуального адреса в физический приведена на рис. 3.4.

Рисунок 3.4 - Схема преобразования виртуального адреса в физический при страничной организации

Помимо введенных выше, использованы следующие обозначения:

a - адрес нужного дескриптора в таблице страниц,

AT - начальный адрес таблицы страниц выполняющегося процесса,

L - длина отдельной записи в таблице страниц (системная константа). Тогда a = AT + (p х L).

На уровне аппаратных схем процессора выполняется следующее:

·Из специального регистра извлекается адрес таблицы страниц.

· На основании этого адреса, номера виртуальной страницы и длины записи таб­лицы страниц определяется адрес нужного дескриптора.

·Из этого дескриптора извлекается номер соответствующей физической страницы.

· К полученному номеру присоединяется (простым приписыванием, конкатена­цией) смещение.





Дата публикования: 2015-10-09; Прочитано: 2306 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...