Mémoire virtuelle - Ensiwiki

Transcription

Mémoire virtuelle - Ensiwiki
Ensimag : Architecture avancée, SLE/ISI-2A
TD 7
Mémoire virtuelle
Exercice 1 : Tables de pages inversées
La stratégie de traduction d’adresse repose sur l’accès à une table indicée par les bits de l’adresse virtuelle
constituant le virtual page number ou VPN. Avec la croissance du nombre de bits d’adresse, par exemple 64,
64
la taille de la table des pages devient potentiellement gigantesque (potentiellement en 2214 = 250 pour des
pages de 16 k). Par ailleurs, même si la mémoire physique grossi, sa taille réelle reste très inférieure à celle
de la mémoire virtuelle, par exemple sur ma machine :
$ cat /proc/meminfo
...
MemTotal:
4048720 kB
...
VmallocTotal:
34359738367 kB
...
Question 1 Imaginons une machine 32 bits avec 256 M de mémoire, combien d’association (VPN, PPN) faut-il
maintenir au maximum dans la table des pages ?
Que peut-on en déduire ?
La réponse à la question précédente nous incite à construire une table de la taille du nombre de page de
mémoire physique.
Question 2 Quel problème cela pose-t-il ?
Comment proposez-vous d’y remédier trivialement ? Peut-on faire mieux ? (question difficile)
TD d’architecture - 7
page - 1
Truc : on va utiliser une table de hachage
Question 3 Proposer une structure qui permette de faire l’association en utilisant une table de hachage. Quelle
problème peut (va) arriver ? Justifier l’utilisation d’un hachage coalescent ou à adressage ouvert (cf. le cours
d’algo) ?
Autre truc : si la taille de la table de hash est un nombre premier, alors le hachage est théoriquement plus
uniforme.
Question 4 Comment proposez vous d’utiliser cette propriété ? À quel coût ?
TD d’architecture - 7
page - 2

Documents pareils