1

Этот вопрос в основном просто для разъяснения моего понимания.Вычисление размеров адресов памяти для пейджинга и смещения и размера таблицы страниц.

Скажем, у меня 32-разрядный компьютер с виртуальной памятью 2^32 байта.

Используется пейджинг памяти, каждая страница - 2^8 байт.

Таким образом, размеры адресов памяти 24 бит. С (2^32/2^8 = 2^24 байта).

И смещение будет 8 бит? Этого я не совсем понимаю. Потому что я знаю, что общий адрес , и 24 уже занял свои страницы, так что остаток - это смещение .

И наконец, для размера страницы. Если каждый адрес физической памяти хранится в 32 бита (4 байта), размер таблицы будет 2^26 (2^24 * 2^2). Это верно?

+0

Возможный дубликат [перевести виртуальный адрес на физический адрес] (http://stackoverflow.com/questions/40292822/translate-virtual-address-to-physical-address) –

+0

@TonyTannous, который помогает немного, но я хотел разъяснение того, понял ли я, как вычисляются значения, и если я был прав. – Kyle

ответ

0

Размер страницы Таблица = количество записей * размер записи

В вашем случае, каждая страница 2^8 bytes, то есть - вам нужно 8 бит смещения. Вы получили это право.

Это дает нам 24 бита для Page. 2^24 разных страниц.

Размер page-table для процесса X is: 2^24 * Entry-Size. который здесь не предоставляется.

Допустим, что для записи требуется 32 бита. Тогда 2^24 * 32 = 2^24 * 2^5 = 2^29 бит.

Смежные вопросы