Указанный и измененный бит в TLB и PTE

Вы можете знать их как Доступные и Грязные биты. Теперь x86 PTE содержит эти биты. Допустим, TLB также содержит эти биты. В случае попадания в TLB эти биты будут установлены аппаратными средствами, если к рамке страницы, к которой они относятся, будет произведен доступ или изменение. Мой вопрос: когда эти биты копируются аппаратным обеспечением обратно в PTE и как именно это выполняется (особенно в случае TLB с программным управлением)?

PS - Я хотел бы знать это, потому что я пытаюсь разработать и протестировать алгоритм замены страницы.

1 ответ

Процессоры x86 не имеют программно-управляемых TLB. Если вы хотите смоделировать такую ​​вещь, вам нужно внедрить ее поверх обычного TLB, точно так же, как вы хотите сопоставить и отобразить физические страницы в виртуальном адресном пространстве: перехватить доступ к страницам в обработчике ошибок страниц, изменить PDE /PTE, аннулируйте записи TLB по мере необходимости и будьте особенно внимательны в случае многопроцессорных систем.

Установка ЦП битов доступа и грязи в 1 выполняется программным обеспечением прозрачно, поэтому, как только страница будет доступна, вы должны сразу увидеть это изменение.

См. "Руководство разработчика программного обеспечения для архитектуры Intel® 64 и IA-32" для получения более подробной информации. Получить PDF, который объединяет тома с 1 по 3, так что у вас есть вся необходимая информация в одном месте.

Другие вопросы по тегам