2010-07-15 4 views
0

Предположим следующее. У меня есть система с виртуальной памятью с одним рычажным пейджингом, у меня есть MMU, а функция TLB контролируется программным обеспечением.Ошибка MMU и TLB

Хорошо .. представьте себе, что я процесс, и я хочу прочитать слово в ОЗУ виртуального адреса vaddr.

Итак, CPU дает MMU vaddr, MMU проверяет TLB, если есть запись с (предположительно) 5 наиболее значимыми битами vaddr. Если он там ... все в порядке, он вычисляет физический адрес, и все идет хорошо.

Теперь .. предположим, что это было не в TLB. В этом случае MMU создает прерывание (ошибка страницы). Хорошо. Теперь я нахожусь в обработчике ошибки страницы.

В PBR (регистрационный регистр страницы) у меня есть адрес начала таблицы страниц. Мой вопрос здесь. Является ли этот адрес физическим ?. Я думаю, да, потому что, если бы это было виртуально, это означало бы две вещи: 1) Должно быть зарезервировано как-то в пространстве виртуального адреса процесса (никогда не слышал о чем-то подобном) 2) Если этот адрес отсутствует в TLB, снова вызовет файл страницы, и у меня будет бесконечный цикл.

Тот же вопрос об адресах в таблицах. Если бы у меня был двухуровневый пейджинг. Адрес в записи в таблице первого уровня (который указывает на таблицу второго уровня), является каким-то виртуальным или физическим?

Спасибо.

ответ

3

Домашнее задание?

В любом случае, такие вещи подробно описаны в руководстве по архитектуре процессора (и вы даже не указали, на каком CPU вы говорите - x86 не создает ошибки страницы при пропущенных ошибках TLB).

+0

Замечательно отметить, что TLB-miss не обязательно возникает в #PF! – Benoit

+0

Ухаживать за разработкой? Почему промах TLB не будет иметь ошибок? Это ортогонально - удаленный/пропущенный TLB - это просто вопрос кэширования перевода и обрабатывается HW, в то время как ошибка может возникнуть из многих других случаев (которые являются архитектурно видимыми и должны обрабатываться ОС), таких как страница отсутствует, страница не доступна и т. д. После того, как вы ответите на исходный вопрос, карты страниц организованы и доступны как физическое адресное пространство, что означает, что вам не нужно переводить доступ к нему во время переписки. – Leeor

Смежные вопросы