Как мне найти биты в виртуальном и физическом адресе?

Вопрос в том:

Рассмотрим виртуальное адресное пространство из 256 страниц с размером страницы 4 КБ, сопоставленное с физической памятью из 128 кадров. Сколько всего бит требуется в виртуальном адресе? Сколько всего бит требуется в физическом адресе?

Я не могу понять, как количество кадров используется с количеством страниц, чтобы найти необходимые биты.

Может кто-нибудь объяснить шаги, необходимые для решения этой проблемы?

1 ответ

Я буду кусать, так же, как я ненавижу эти теоретические проблемы с неосуществимым использованием:

В виртуальном адресном пространстве 256 страниц. Это означает, что для идентификации страницы требуется 8 бит.

Размер страницы составляет 4096 байт. Для представления такого количества байтов требуется 12 укусов.

Следовательно, вам нужно 20 (8+12) бит для виртуального адреса.

Есть 128 кадров страницы. Это требует 7 бит.

Следовательно, вам нужно 19 (7+12) бит для физического адреса.

Говоря о физической памяти, также есть биты смещения. Предполагая, что смещение, которое может уместиться в 8 бит, действительно будет 7 + 12, но вы должны принять во внимание еще 8 бит. Вообще говоря, смещение равно [логический_адрес] мод [размер_страницы].

Другие вопросы по тегам