TLB flush и бит страницы глобальный

В структуре таблицы страниц Intel есть бит "page global", который указывает, что запись таблицы страниц используется глобально. В моем понимании, эта глобальная запись не будет сброшена во время сброса TLB, вызванного перезаписью CR3. у меня вопрос, можем ли мы предположить, что глобальная запись PTE никогда не будет сброшена из TLB после ее установки?

1 ответ

Решение

Вы не можете предполагать это. Есть много причин для сброса записи TLB, например:

  • TLB заполнен, и новая запись должна быть кэширована, и рассматриваемая запись заменяется новой.
  • Существует инструкция для явного аннулирования записи TLB, которая также может использоваться для таких страниц.
  • Есть много других условий, в которых HW полностью очистит TLB, чтобы сохранить согласованность по причинам, отличным от CR3.

Короче говоря, вы не можете предполагать, что когда перевод страницы находится в TLB, он всегда останется там.

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