Présentation PowerPoint

Transcription

Présentation PowerPoint
Plan
„
„
„
„
„
„
„
„
„
„
Copyright © F. Muller
2004
Ch1 - Introduction
Ch2 - Structure de l’ordinateur
Ch3 - Modèle de Programmation
Ch4 - Conception des Processeurs
Ch5 - Pipeline
Ch6 - Parallélisme d’instructions
Ch7 - Systèmes Mémoire
Ch8 - Mémoires Caches
Ch9 - Mémoire Virtuelle
Ch10 - Systèmes Multiprocesseurs
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 1 -
Mémoire Virtuelle
Traduction d’adresse
„ Pagination à la demande et permutation
„ Table de pages
„ Tampon de traduction anticipée
„
Copyright © F. Muller
2004
Ch9 - 2 -
Introduction (1/2)
„
Objectifs
„
„
„
„
„
Introduction
„
„
„
Copyright © F. Muller
2004
Comprendre la problématique de la mémoire virtuelle, les
adresses virtuelles et les adresse physiques
Résoudre les problèmes concernant la mémoire virtuelle et
la traduction d’adresse
Comprendre ce que sont les tampons de traduction
anticipée et résoudre les problèmes les concernant
Comprendre comment la mémoire virtuelle fournit une
protection mémoire pour les ordinateurs actuels
La mémoire centrale est insuffisante
Solution: stocker sur un support magnétique (disque dur)
Problème : impossible d’exécuter un programme sur ce
support !!
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 3 -
Introduction (2/2)
„
Principe de la mémoire virtuelle
„
„
„
Espace d’adressage d’un programme est divisé en pages
Les pages sont stockées sur le support magnétique
Les pages sont de taille fixe comprise entre 2Ko et 8Ko
programme
Mémoire virtuelle
Support magnétique
Espace d’adressage
virtuel (référencé par le
programme)
Espace d’adressage
physique (données en
mémoire)
Page sur disque
Page virtuelle
Page physique
Page physique
Page sur disque
Page virtuelle
Cadre de pages
Page virtuelle
Copyright © F. Muller
2004
Page sur disque
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 4 -
Traduction d’adresse (1/3)
Termes clés
„
„
Table de pages
„
„
„
Structure de données en mémoire
Correspondance adresses virtuelles / adresses physiques
Défaillance de pages
„
Lorsque la page n’est pas située en mémoire
Recherche d’une
adresse virtuelle
dans la table de pages
ée
pp
a
m
se
s
re
Ad
Calcul de l’adresse
physique
La référence mémoire
s’exécute
Chargement de la page
depuis le disque
Mise à jour
de la table de pages
Adresse non mappée
Défaillance de page
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 5 -
Traduction d’adresse (2/3)
„
Termes clés
„
„
„
„
„
Longueur différente possible
NPP : Numéro de Page Physique
PPN : Physical Page Number
NPP
Décalage
„
„
NPV : Numéro de Page Virtuelle
VPN : Virtual Page Number
Pages physiques
„
„
NPV
Pages virtuelles
Décalage
Longueur identique
Décalage
Longueur de la page (logarithme en base de 2)
Construction
NPV
Décalage
Recherche du NPV dans la table des pages
NPP
NPP
Décalage
Adresse physique
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 6 -
Traduction d’adresse (3/3)
„
Exemple
„
„
Solution
„
„
„
Copyright © F. Muller
2004
Dans un système utilisant des adresses virtuelles de 64 bits
et des adresses physiques de 43 bits, combien de bits sont
requis pour les NPV et les NPP si les pages font une taille
de 8Ko ?
Log2(8Ko) = 13, il faut donc 13 bits pour le décalage
64 bits – 13 bits = 51 bits pour le NPV
43 bits – 13 bits = 30 bits pour le NPP
51 bits
13 bits
30 bits
13 bits
NPV
Décalage
NPP
Décalage
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 7 -
Pagination à la demande et permutation
„
Pagination à la demande
„
„
Les pages de données sont chargées lorsque le programme y accède
Lors d’une commutation de contexte,
„
„
„
„
Le plus couramment utilisé
Avantage
„
„
„
„
Charge les pages véritablement utilisées
Données utilisées réduites = temps de chargement réduit
Dépend de la capacité du disque (pas de la mémoire principale)
Permutation
„
„
„
„
Copyright © F. Muller
2004
Pas de copie des anciennes pages du programme sur le disque
Pas de copie des pages du nouveau programme dans la mémoire
Stocke l’état des programmes qui ne sont pas en train de tourner sur le
processeur
Déplace en une seule fois l’ensemble des données dans ou hors de la
mémoire principale
Avantage : Pas de défaillance de page => temps d’exécution plus simple
à prévoir
Inconvénient : Dépend de la mémoire principale (pas du stockage sur
disque)
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 8 -
Tables de pages
Principe
„
„
„
„
Indique si la page virtuelle
correspondant à l’entrée est mappé
sur la mémoire physique
Si activé, le champ NPP contient le
numéro de page physique
Bit de modification
„
„
Copyright © F. Muller
2004
NPV
Chaque programme possède son
propre jeux de correspondances
d’adresses
Bit de validité
Décalage
Bit de validité
Bit de modification
Entrée de la table de page
„
Indique si la page a été modifié ou
non depuis sa mise en mémoire
principale
Principe du write-back (écriture si
besoin sur le disque)
Architecture de l’ordinateur – Mémoire Virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP pour la page virtuelle
NPP
Décalage
Adresse physique
Ch9 - 9 -
Tables de pages
Multi niveaux (1/3)
„
Contexte
„
„
Les tables de pages peuvent demander beaucoup de mémoire
Exemple
„
„
„
„
„
Pour un espace d’adressage de 32 bits
Demande 220 entrées si les pages font 4Ko
Demande 3Mo de mémoire si une entrée prend 3 octets
Si la mémoire principale comporte 64Mo, 5% est consacré aux pages
Utilisation de pages multi niveaux
„
„
Stocke une partie de la table de page sur le disque
La table est décomposée en pages et organisée en hiérarchie
Adresse virtuelle
NPV
Groupe 1
Groupe 2
Groupe 3
décalage
Taille du groupe = log2(nb entrées)
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 10 -
Tables de pages
Multi niveaux (2/3)
Groupe de bits d’adresse
(2 bits chacun)
Page de niveau
supérieur
NPV
2
1
3
Entrée 0
Page de second
niveau
Page de troisième
niveau
Entrée 0
Entrée 0
Entrée 1
Entrée 1
Entrée 2
Entrée 2
Entrée 3
Entrée 3
Entrée 0
Entrée 0
Entrée 1
Entrée 1
Entrée 2
Entrée 2
Entrée 3
Entrée 3
Entrée 0
Entrée 0
Entrée 1
Entrée 1
Entrée 2
Entrée 2
Entrée 3
Entrée 3
Entrée 0
Entrée 0
Entrée 1
Entrée 1
Entrée 1
Numéro de page
physique
Entrée 2
Entrée 3
Entrée 2
Entrée 3
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 11 -
Tables de pages
Multi niveaux (3/3)
„
Exemple
„
„
Sur un système avec des adresses de 32 bits et des pages
de 4Ko, combien de niveaux sont requis dans une table de
pages à plusieurs niveaux ? Nous supposerons que chaque
entrée dans la table de pages prend 4 octets de mémoire.
Solution
NPV
Groupe 1 (10 bits)
Copyright © F. Muller
2004
Groupe 2 (10 bits)
Décalage (12 bits)
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 12 -
Tampons de traduction anticipée
Introduction
„
Pourquoi ?
„
„
„
„
„
Accès à la table à chaque référence mémoire
Table à 1 niveau => double le nombre d’accès
Table multi niveaux => pire
Augmente la latence !!
TLB :Translation Lookaside Buffers
„
„
Joue le rôle d’un cache
Implémentation logicielle ou Matérielle
Hit
Recherche
d’une traduction
dans le tampon
Miss
Recherche d’une
adresse virtuelle
dans la table de pages
e
pé
p
ma
e
s
res
Ad
Calcul de l’adresse
physique
La référence mémoire
s’exécute
Chargement de la page
depuis le disque
Mise à jour
de la table de pages
Adresse non mappée
Défaillance de page
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 13 -
Tampons de traduction anticipée
Miss TLB et défaillances de page
„
Hit TLB
„
„
„
Miss TLB et page mappé
„
„
„
„
Le système accède à la table de pages
Copie la traduction dans le TLB
Poursuit la référence mémoire
Miss TLB et page non mappé
„
„
„
Le tampon contient une traduction
Ne nécessite pas d’intervention logicielle
Le système accède à ta table des pages et émet une défaillance
Charge les données situées sur le disque
Accès
„
Miss TLB
„
„
Défaillance de page
„
„
„
Copyright © F. Muller
2004
quelques centaines de cycles
accès au disque, plusieurs millisecondes
La tâche est bloquée …
L’OS réalise une commutation de contexte pour ne pas perdre de temps
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 14 -
Tampons de traduction anticipée
Structure des TLB
„
„
„
Taille des TLB sont représentées par le nombre d’entrées (ou
de traductions)
Les TLB sont bien plus petit que les caches du système
(référence plus de données)
Exemple
„
„
Supposons qu’un TLB possède un taux de hit de 95% et que la
pénalité de miss du tampon soit de 150 cycles. Supposons qu’un
cas de hit, la traduction d’adresse soit instantanée. Quel est le
temps moyen requis pour une traduction d’adresse ?
(Tmiss x Phit) + (Tmiss x Pmiss) = 7,5 cycles, soit une réduction
par 20 du temps de traduction sans tampon.
Bit de modification
Bit de validité
Numéro de page virtuelle Numéro de page physique
Entrée TLB
Copyright © F. Muller
2004
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 15 -
Tampons de traduction anticipée
Hyperpages (blocs de pages)
„
Problème
„
„
„
„
La quantité de données référencées par les programmes
augmente rapidement en cours d’exécution
La taille de page n’évolue pas trop rapidement
Compromis entrées / taille de page et TLB
Exemple :
„
„
„
Solution
„
„
Copyright © F. Muller
2004
128 entrées de TLB, pages de 4Ko => 512Ko de données
128Mo de mémoire principale => couverture de 0,5% de la mémoire
Mapper des blocs de données plus important pour chaque
entrée appelé hyperpage
Hyperpage de taille variable ou propose 2 tailles dont une >
1Mo par exemple
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 16 -
Conclusion
„
„
„
„
Copyright © F. Muller
2004
Traduction d’adresse
Pagination à la demande et permutation
Table de pages
Tampon de traduction anticipée
Architecture de l’ordinateur – Mémoire Virtuelle
Ch9 - 17 -