Цитата(Taradov Alexander @ Feb 26 2013, 21:48)

Но это не отменит того, что первый бит поля Index (6) всегда будет содержать 0 для адресов из первой половины большой страницы и 1 для второй половины.
По-хорошему VA нужно разбивать так | Tag (15) | Index (6) | Offset (11) |, но заранее неизвестно в большой или маленькой странице адрес.
Как происходит заполнение TLB из памяти понятно, но не ясно как поможет дополнительный бит в теге если запись из TLB уже выбрали по "маленькому" индексу.
Ну все правильно.
Но кроме Tag [14:0] есть еще скрытый бит поля Tag [15], который будет определять какого размера будут поля Index и Offset.
А загружаться этот бит будет из дескриптора каталога страниц первого уровня по индексу Tag [14:0] .
Если в дескрипторе по данному индексу будет поле указывающее размер страниц 0 - обычная, 1 - большая, то при загрузке кэша TLB загрузится и скрытый
бит Tag [15], который будет управлять размером индексов страничного преобразования.
Если бит 0 то Index (6) | Offset (11) определяют 64 страницы по 2048,
Если бит 1 то Index (5) | Offset (12) определяют 32 страницы по 4096.