2010-07-15 5 views
0

Supposons ce qui suit. J'ai un système avec mémoire virtuelle avec un levier de pagination, j'ai une MMU et la chose TLB est contrôlée par un logiciel. Ok .. alors imaginez que je suis un processus, et je veux lire un mot dans la RAM de l'adresse virtuelle vaddr. Ainsi, le CPU donne le MMU vaddr, le MMU vérifie dans le TLB s'il y a une entrée avec les 5 bits les plus significatifs de (vaddr). Si c'est là ... tout va bien, ça calcule l'adresse physique et tout va bien.MMU et TLB manquent

Maintenant ... supposons que ce n'était pas dans le TLB. Dans ce cas, la MMU effectue une interruption (une erreur de page). Ok .. maintenant je suis dans le gestionnaire de la faute de page.

Dans le PBR (registre de base de page), j'ai l'adresse du début de la table de pages. Ma question ici. Cette adresse est-elle physique? Je suppose que oui, car s'il était virtuel, cela voudrait dire deux choses: 1) Doit être réservé d'une manière ou d'une autre dans l'espace d'adressage virtuel du processus (jamais entendu parler de quelque chose comme ça) 2) Si cette adresse n'est pas dans le TLB, Je recopierais une pagefault et j'aurais une boucle infinie.

Même question sur les adresses dans les tables. Si j'avais une pagination à deux niveaux. L'adresse dans une entrée dans la table de premier niveau (qui pointe vers la table de second niveau), est en quelque sorte virtuelle ou physique?

Merci.

Répondre

3

Travail à domicile? Dans tous les cas, de telles choses sont décrites en détail dans le manuel d'architecture de la CPU (et vous n'avez même pas écrit de quelle CPU vous parlez - x86 ne génère pas de défauts de page sur les échecs TLB).

+0

Il est bon de souligner qu'un TLB-miss ne résulte pas nécessairement en un #PF! – Benoit

+0

Attention à élaborer? Pourquoi un TLB manquerait-il de fautes? Ceci est orthogonal - un hit/missel TLB est juste une question de mise en cache de la traduction et est géré par HW, alors qu'une erreur peut provenir de nombreux autres cas (qui sont architecturellement visibles et devraient être manipulés par OS), comme la page manquante, Cela étant dit, pour répondre à la question initiale - Les cartes de pages sont organisées et accessibles en tant qu'espace d'adressage physique, ce qui signifie que vous n'avez pas besoin de traduire les accès pendant la marche de la page. – Leeor

Questions connexes