Перевод виртуального адреса в физический адрес (в десятичном формате) - PullRequest
1 голос
/ 08 марта 2019

Предположим, что система с 6-битным виртуальным адресом и 16-байтовыми страницами на кадр.Преобразование номеров виртуальных страниц в физическую страницу процесса:

Virtual Page       Physical Page
     0                   8
     1                   3
     2                   11
     3                   1

Переведите виртуальный адрес 40 (в десятичном формате) в физический адрес в десятичном виде.

Из 6-битного виртуального адреса я знаю, что в виртуальном адресном пространстве есть 2 ^ 6 адресов.

И в каждом кадре 2 ^ 4 байта страниц.

Таким образом, на каждой странице адреса имеется (2 ^ 6) / (2 ^ 4) = 2 ^ 2 байта, и это означает, что имеется 4-битное смещение.

Однако я не знаю, куда идти дальше и использую таблицу для перевода виртуального адреса в физический в десятичном виде.

1 Ответ

2 голосов
/ 08 марта 2019

40 = 0000000101000b

Если мы интерпретируем этот адрес для VM 000.000010.1000b.
смещение = 1000b (4LSB)
номер виртуальной страницы = 000010 (6 следующих битов)

Итак, номер виртуальной страницы = 2. Если мы посмотрим на таблицу страниц, то увидим, что виртуальная страница 2 отображается на физическую страницу 11 = 001011b

Следовательно, физический адрес будет 00.001011.1000 = 8 + 16 + 32 + 128 = 184d

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...