О записях TLB и записях таблицы страниц - PullRequest
0 голосов
/ 12 декабря 2018

С веб-сайта о TLB: (https://www.bottomupcs.com/virtual_memory_hardware.xhtml#other-page-related-faults):

Для следующих частей, которые я выделил:

1 : формат записей TLB совпадает с форматом PTE(записи таблицы страниц)? И неясно
"страница" в страница может быть помечена как означает запись TLB или PTE?

2 : "Страницы" в проходят по всем страницам , являются ли они записями TLB или PTE?

3 : почему перемещено из не "перемещен в"?

4 : для этого порядка (1) устанавливаются два бита (2), помещенные в TLB, или наоборот?

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

Доступной страницей является просто любая страница, к которой был получен доступ. 1 Когда перевод страницы первоначально загружается в TLB-файл.ge можно пометить как доступный (иначе зачем вы его загружали? [19])

2 Операционная система может периодически просматривать все страницы.и очистите бит доступа, чтобы получить представление о том, какие страницы используются в данный момент .Когда системная память заполняется, и для операционной системы наступает время выбирать страницы, которые должны быть выгружены на диск, очевидно, что те страницы, бит доступа к которым не был сброшен, являются наилучшими кандидатами на удаление, поскольку они не использовались дольше всего.

Грязная страница - это страница, на которую записаны данные, и поэтому она не соответствует никаким данным на диске.Например, если страница загружается из раздела подкачки, а затем записывается процессом, 3 , прежде чем она может быть перемещена из раздела подкачки , необходимо обновить ее копию на диске.Чистая страница не изменилась, поэтому нам не нужно копировать ее обратно на диск.

Оба схожи в том, что помогают операционной системе управлять страницами.Общая концепция состоит в том, что у страницы есть два дополнительных бита;грязный бит и бит доступа. 4 Когда страница помещается в TLB, эти биты устанавливаются так, чтобы указывать, что ЦП должен выдавать ошибку.

Когда процесс пытается обратиться к памяти,аппаратное обеспечение выполняет обычный процесс перевода.Тем не менее, он также выполняет дополнительную проверку, чтобы увидеть, не установлен ли флаг доступа.Если это так, это вызывает ошибку операционной системы, которая должна установить бит и позволить процессу продолжаться.Точно так же, если оборудование обнаружит, что оно записывает на страницу, для которой не установлен грязный бит, операционная система выдает ошибку, помечающую страницу как грязную.

1 Ответ

0 голосов
/ 12 декабря 2018

Я предлагаю игнорировать эту ссылку в качестве источника.Это очень запутанно.Я не вижу упоминаний о конкретной реализации, но она четко описывает ее.

В любом рационально разработанном процессоре TLB полностью прозрачен для программистов (даже системных программистов).Это полностью аппаратное обеспечение.

1: формат записей TLB такой же, как PTE (записи таблицы страниц)?

Программист никогда не видит записи TLB.Они могут иметь тот же формат, что и PTE.Они могут не.

2: для "страниц", проходящих через все страницы, они являются записями TLB или PTE?

Программисты не имеют доступа к записям TLB,Они должны ссылаться на PTE.

3: Почему оно вышло, а не «перемещено в»?

Возможно, но в вашей путанице, похоже, много путаницыlink.

4: в следующем порядке: (1) установить два бита (2) в TLB или наоборот?

Это описание некоторых конкретныхбезымянная реализация.У большинства процессоров есть грязный бит, но не у всех есть бит доступа.

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