Контекст:
x86_64, Intel Core 2 Duo.
Я просмотрел 3 тома документации Intel и, возможно, пропустил нужный раздел, отсюда и вопрос.
tlb может иметь до 4096 записей, это много в моей книге. Но это не так много в системе SMP, в конце концов. Особенно, если tlb не сбрасывается благодаря биту тега -› все время почти заполнен.
Представьте себе случай, когда ваша память правильно отображена в 4-страничных таблицах. Представьте, что у вас более 4096 записей (я знаю..), и это, очевидно, слишком много для tlb.
Я знаю, что x86 автоматически не генерирует ошибку страницы при промахе tlb.
Вопрос:
Должен ли я быть уверен, что mmu пройдёт таблицы страниц и заменит одну из записей автоматически (поскольку она уже правильно сопоставлена)?
Это имело бы смысл, так как на стороне операционной системы делать больше нечего, память уже размечена.
Спасибо