Ссылочный и измененный бит в TLB и PTE

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

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


person Bruce    schedule 20.01.2013    source источник


Ответы (1)


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

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

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

person Alexey Frunze    schedule 20.01.2013