Виртуальная память - подсчитать количество страниц в таблице страниц

  • Виртуальное адресное пространство составляет 64 бита.
  • Размер страницы 64 КБ
  • Размер слова 4 байта

Сколько страниц в таблице страниц?

Сначала я подумал:

размер страницы = 64 КБ = 2 ^ 16 байт, поэтому смещение использует 16 бит из 64. Следовательно, осталось 48 бит -> в таблице страниц 2 ^ 48 страниц (я не понял, где использовать информацию о размере слова ) Однако правильный ответ состоит в том, что страниц 2 ^ 50, что меня смущает.

Затем я подумал, что, возможно, смещение страницы составляет всего 14 бит, потому что размер слова 4 байта = 2 ^ 2 байта. так что в таблице страниц действительно 2 ^ 50 страниц.

Я прав? я могу получить лучшее объяснение?


person din    schedule 11.08.2015    source источник
comment
Когда вы публикуете вопрос, проверьте предварительный просмотр перед публикацией. Нечитаемый вопрос имеет меньше шансов остаться без ответа.   -  person Emrys Myrooin    schedule 11.08.2015


Ответы (1)


Каждая страница использует 14 бит из 64, а не 16, поскольку минимальной адресной единицей является 4-байтовое слово (что эффективно удаляет 2 бита из необходимого числа). Таким образом, в смещении остаются оставшиеся 50 бит.

person vogomatix    schedule 11.08.2015
comment
Вы не имеете в виду 14? (4 байта 2^2. 16 - 2 = 14) - person din; 11.08.2015
comment
@ron: исправлено. Сегодня мой счет немного сбился, и я печатал это непосредственно перед встречей и не проверял корректуру. :D - person vogomatix; 11.08.2015