2017-02-14 32 views
0

Я решил какой-то вопрос, где размер записи в таблице страниц требовал только 26 бит - 22 для физического адреса, а 4 - для грязных бит и т. Д. Однако он был округлен до 32 - потому что 26 не является силой 2. Должно быть, что-то простое, что мне не хватает, но почему мы должны это делать? Благодаря!Размер входной таблицы таблицы - почему мощность 2?

ответ

1

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

Теперь байты содержат только 8 бит, поэтому этого недостаточно. Для многих машин (и я подозреваю, что ваша машина тоже) слова 32 бит.

Таким образом, в записи таблицы страниц выделяется 32 бита пространства.

0

Количество записей в записи таблицы страниц и размер - две вещи. Очевидно, что размер равен количеству записей, умноженных на размер одной записи. Запись в таблице страниц предназначена для того, чтобы рассказать вам, какая виртуальная страница соответствует физической странице. Это означает, что количество записей, которые вам нужны в записи таблицы страниц, - количество виртуальной страницы, которое у вас есть. который можно вычислить, разделив общее адресное пространство на размер страницы. (Например, 32-разрядный адрес и размер страницы 4k дают нам 2 мощности 20 записей), виртуальная часть записи будет 20 бит. Размер записи физической части определяется доступной физической памятью. Обычно размер страницы остается таким же. Таким образом вы можете вычислить бит, необходимый для одной записи. Затем вы можете умножить это на количество записей, и у вас есть общий размер.