Промывка TLB в случае переключения контекста процесса - PullRequest
0 голосов
/ 28 февраля 2020

Что касается сброса TLB в случае переключения контекста процесса, то почему каждый процесс начинается с нуля в TLB при получении заряда.

Почему бы нам не заполнить первые несколько записей таблицы страниц в TLB, поскольку он может работать так же, как мы используем локальность ссылок в управлении памятью, т. Е. Когда процесс начинает выполняться, это очень вероятно что он начнется с инструкции 1 или с первой инструкции первых нескольких страниц, загруженных в основную память?

Это может уменьшить проблему заполнения TLB во время выполнения и ускорить работу системы.

1 Ответ

0 голосов
/ 04 марта 2020

Когда CPU генерирует виртуальный адрес, соответствующая страница будет найдена в TLB, если ее нет в TLB, она будет найдена в памяти следующего уровня, а затем будет помещена в TLB, выполнив подходящий алгоритм замены.

Система не может предсказать, в каком кадре находится страница, содержащая так называемую «инструкцию 1». Если бы это было так, тогда не было бы никакой необходимости в алгоритмах замены страницы, вместо этого он может последовательно заменять все необходимые страницы, такие как страница с первой инструкцией, страница со второй инструкцией ... и так далее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...