32-битный системный логический адрес - PullRequest
1 голос
/ 23 января 2012

В 32-битной системе логический адрес делится на | 10 | 10 | 12 |, смещение каталога страниц, смещение таблицы страниц и смещение страницы.

Поскольку страница в системах x86 имеет размер 4 КБ и для представления записей 4 КБ, log2 (4 КБ) = 12 битов, следовательно, 12. Так что количество оставшихся битов = (32-12) = 20.

Предполагая, что мое понимание верно до сих пор, мой вопрос: откуда взялись 10 и 10? Почему не 8 а 12 или что то еще?

1 Ответ

1 голос
/ 23 января 2012

В данном случае единообразие допускает меньший и более простой код (и аппаратное обеспечение, вероятно, также).

Если вы внимательно посмотрите на форматы каталога страниц и записей таблицы страниц, вы заметите, что они почти идентичнына x86.

Теперь, если вы сделаете одну из PDEs, указывающую назад на PD, доступ ко всем PDEs и PTEs станет тривиальным.Я не знаю, планировалось ли это в те дни, когда разрабатывался i80386, или нет, но это, безусловно, пригодится.

...