Architecture des ordinateurs
Chapitre 2
La mémoire
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 42
La mémoire
Généralités
Au moment du démarrage de l’ordinateur, un programme préenregistré dans
une mémoire spécialisée (La mémoire ROM) s’exécute. Il charge dans La
mémoire centrale le noyau du système d’exploitation à partir du disque
magnétique.
Le programme et les données sont enregistrés dans La mémoire centrale (La
mémoire RAM) pour être exécutés par le processeur.
Lors de l’exécution d’une instruction, le processeur utilise des registres, qui
sont également des zones de stockage de l’information.
Lors de l’exécution d’une instruction par le processeur, il peut passer des
cycles d’horloge sans avoir d’activité : il attend la réponse de La mémoire à
une demande de lecture.
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 43
La mémoire
Définition et terminologie
Dispositif pour stocker et restituer une information sous forme binaire
Capacité : nombre d’octets ou de mots ou de bits (registres)
Bit, Octet (8 bits), KO (1024 = 210 octets), MO (210 KO= 220 octets),
GO (210 MO= 230 octets), To (210 GO= 240 octets)
Temps d’accès (temps de latence) : lecture ou écriture
Instant où les données sont disponibles - instant où l’adresse est fournie
Temps de cycle : temps d’accès + temps nécessaire avant un 2eme accès
Volatilité : conservation ou non des données en cas de coupure
d’alimentation
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 44
La mémoire
Types de mémoires
Selon la possibilité de lecture/écriture
Mémoires vives : RAM à lecture/écriture, Volatiles
• SRAM (+rapide) et DRAM (-coûteuse)
Mémoires mortes : ROM à lecture seule, non volatiles
• ROM, PROM à fusibles, EPROM, EEPROM, Flash
Selon la technologie utilisée
Mémoire à semi-conducteur (RAM, ROM, PROM…)
Mémoires magnétiques (disque dur, disquettes…)
Mémoires optiques (CD, DVD…)
Selon l’emplacement
Mémoires intégrées au processeur (Registres)
Mémoires internes (Mémoire principale)
Mémoires externes (Mémoire secondaire ).
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 45
La mémoire
Mémoires de travail
Les mémoires vives
RAM (Random Access Memory) :
Le temps d’accès est indépendant de la place de
l’information,
Volatiles : risque de perte d’informations,
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 46
La mémoire
Mémoires de travail
Les mémoires vives
Liaison processeur – mémoire
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 47
La mémoire
Mémoires de travail
ROM : Permet un stockage permanent
Read Only Memory. L’information stockée dans ces mémoires l’est de manière définitive.
Prix de revient élevé, réservé aux grandes séries.
PROM: Permet une écriture unique mais faite par l’utilisateur.
Programmable ROM. Ces mémoires comprennent un ensemble de fusibles qui sont détruits
lors de la programmation de La mémoire.
Mémoires
mortes EPROM: Elles peuvent être effacées une fois écrites au moyen d’un faisceau
PROM effaçable. ultraviolet qui force tous les bits à une même valeur.
EEPROM:
Electrically EPROM. Elles sont effaçables électriquement.
C’est une mémoire de type EEPROM qui se reprogramme
Flash: électriquement par bloc de 64 Ko de manière assez rapide (Flash).
Son cycle de vie est limité (100 000 écriture).
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 48
La mémoire
Mémoires de Stockage
Disque magnétique :
Organisation générale
Densité d’enregistrement (Bits/cm)
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 49
La mémoire
Mémoires de Stockage
Disque magnétique :
Adresse d’une donnée
L’adresse d’une information est un triplet :
• N de cylindre,
• N de bras,
• N de secteur.
C’est le système d’exploitation au travers du système de
gestion des fichiers (SGF) qui gèrent les adresses physiques
des informations stockées.
Temps d’accès à une information
Positionner le bon bras sur le bon cylindre : temps de déplacement du bras (tb)
Trouver le bon secteur : temps de positionnement de la tête (tt)
Lire/écrire le contenu du secteur : temps de lecture/écriture (débit) (td)
Temps d’accès à une information : tb + tt + td 10ms
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 50
La mémoire
La mémoire
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 51
La mémoire
Mémoire principale (MP)
Contient les informations utilisées par le processeur lors de l’exécution
Sa capacité et son temps d’accès ont un impact sur la performance de la
machine
Est une mémoire à semi-conducteurs pour un accès rapide
Communique au moyen des bus d’adresses et de données
Constituée de mots possédant chacun une adresse unique
Taille des adresses dépend de la capacité de La mémoire
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 52
La mémoire
Structure physique d’une MP
RAM : Registre d’Adresse Mémoire
CS : boîtier sélectionné si 0
R/W : Commande de lecture/écriture
Décodeur : sélectionne un mot
Capacité = 2k Mots = 2k * n Bits
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 53
La mémoire
Conception des MP
Pb : Comment réaliser une mémoire à partir de boîtiers de petite taille?
Mémoire M de capacité C et de m mots de n bits
Boîtier M’ de capacité C’ et de m’ mots de n’ bits
C > C’ ( m >= m’ , n >=n’)
Nombre de boîtiers nécessaires : P.Q
P =m/m’ (facteur d’extension lignes)
Q=n/n’ (facteur d’extension colonnes)
K bits de poids forts d’adresses pour sélectionner Q boîtiers (2k=P), le reste
pour sélectionner un mot
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 54
La mémoire
Conception des MP
Exemple 1:
Réaliser une mémoire de 1Ko (un mot est de 8 bits) en utilisant des
boîtiers de taille 256 mots de 8 bits
Solution :
• m=1024 bus d’adresses de 10 bits ( )
• n=8 bus de données de 8 bits ( )
• m’=256 bus d’adresses de 8 bits ( )
• n’=8 bus de données de 8 bits ( )
• P= m/m’ =1024/256=4
• Q= n/n’ =8/8=1
• Nombre total de boîtiers : P.Q=4
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 55
La mémoire
Conception des MP
Solution 1:
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 56
La mémoire
Conception des MP
Exemple 2:
Réaliser une mémoire de 1KO ( et de mots de 8 bits) en utilisant des
boîtiers de taille 256 mots de 4 bits
Solution :
• m=1024 bus d’adresses de 10 bits ( )
• n=8 bus de données de 8 bits ( )
• m’=256 bus d’adresses de 8 bits ( )
• n’=4 bus de données de 4 bits ( )
• P= m/m’ =1024/256=4
• Q= n/n’ =8/4=2
• Nombre total de boîtiers : P.Q=8
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 57
La mémoire
Conception des MP
Solution 2:
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 58
La mémoire
Mémoire multi-modules
Pb : mémoire accessible par 1 seul processeur à la fois
Solution : découper La mémoire en plusieurs modules
Possibilité d’accès simultané aux différents modules par plusieurs bus
Modules comprenant des mots d’adresses séquentielles
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 59
La mémoire
Adressage d’une mémoire modulaire
Adresse divisée en 2 parties :
K Bits de poids forts pour sélectionner un module tel que :
2k >= nombre de modules
Bits de poids faibles pour sélectionner un mot dans un module
Exemple : mémoire de 4 Ko et 4 modules et des boîtiers de 1 Ko
Capacité = 4 Ko = 4* 210 = 212 o bus d’adresses de 12bits
2 bits du poids forts pour la sélection des modules ( )
( ) pour la sélection d’un mot
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 60
La mémoire
Conception des MP
Exemple de mémoire à 4 modules:
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 61
La mémoire
Mémoire entrelacée
Module mémoire accessible par 1 seul processeur à la fois (ex : accès à la
fois aux données consécutives):
Solution :
Diviser La mémoire en plusieurs blocs dotés de leurs propres registres d’adresses
plusieurs accès simultané à La mémoire
Placer les données consécutives dans des blocs différents
Le nombre de blocs représente le degré d’entrelacement
Adresse divisée en deux parties :
K bits de poids faibles pour sélectionner le bloc (2k>=nombre de blocs)
Bits de poids forts pour sélectionner le mot dans le bloc
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 62
La mémoire
Mémoire entrelacée
Exemple 1:
Mémoire entrelacée avec un degré d’entrelacement égale à 4, un
bloc est de taille de 4 mots de 4 bits
Solution :
• 4 blocs et taille d’un bloc égale à 4 mots de 4 bits taille de La mémoire =
16 mots de 4 bits
• 4 blocs 2 bits de poids faibles pour la sélection
• Les bits de poids forts ( ) pour sélectionner un mot dans un bloc
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 63
La mémoire
Mémoire modulaire entrelacée
MP divisée en plusieurs modules
Chaque module est divisé en n blocs
Sélection de mots
Bits de poids forts pour sélectionner le module
Bits de poids faibles pour sélectionner le bloc dans le module
Bits restants pour sélectionner le mot dans le bloc
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 64
La mémoire
Mémoire modulaire entrelacée
Exemple :
Mémoire de 64 mots de 8 bits organisée en 2 modules entrelacés (degré
d’entrelacement D=2). On utilise des boîtiers de 16 mots de 8 bits
• Taille du bus d’adresses k= 6 ( 64=26) 𝐴
• Nombre de modules m=2 , Taille d’un module=32 mots
• Nombre de bits pour sélectionner un module = 1 (A5)
• Nombre de blocs dans un module D=2
Nombre de bits nécessaire pour sélectionner un bloc = 1 (A0)
• Taille d’un bloc = 16 mots un boîtier suffit pour réaliser un bloc
• Nombre de bits nécessaire pour sélectionner un mot dans le bloc = 4 (𝐴 )
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 65
La mémoire
Mémoire modulaire entrelacée
Solution :
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 66
La mémoire
Mémoire associative
Mémoire adressable par le contenu pour une recherche plus
rapide
Mémoire à accès aléatoire : information à partir d’une adresse
Mémoire associative : fournir un descripteur (clé) et obtenir
l’information associée s’il existe
Divisée en 2 parties M1 et M2
M1 : mots comparés en parallèle au descripteur
M2 : fournit l’information associée dans un registre A
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 67
La mémoire
Mémoire associative
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 68
La mémoire
Mémoire cache
Le temps de transfert par le bus est un facteur de ralentissement.
Plusieurs solutions peuvent être envisagées pour améliorer la vitesse d'accès :
Augmenter la fréquence des mémoires, ce qui améliorerait la bande passante
(Limites technologiques);
Augmenter la largeur du bus, (limité pas l’encombrement);
Réduire les besoins en bande passante pour le processeur. C’est ce qui est fait avec
l’utilisation des mémoires cache (antémémoire).
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 69
La mémoire
Mémoire cache
Principe de fonctionnement
Les mots de mémoire centrale les plus fréquemment utilisés sont placés dans le cache.
Teff = h Tc + (1 – h) Tm
Teff : le temps effectif pour accéder à une information,
Si Tm/Tc = 10, une variation de 1% de h H : la probabilité de présence de l’information dans le cache,
entraîne une variation de 10 % de Teff. Tc : le temps d’accès au cache,
Tm : le temps d’accès à La mémoire centrale.
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 70
La mémoire
Mémoire cache
Principe de fonctionnement
Exemple:
Lors d’une opération de lecture, c (contenu
de 022),
Le processeur doit vérifier si «c» est dans le
cache:
• le comparateur vérifie si 020 est dans
le répertoire.
Si c’est le cas la donnée est présente dans le cache.
Sinon, le cache est chargé avec la ligne 020 et le répertoire est mis à jour.
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 71
La mémoire
Mémoire cache à correspondance directe
Chaque ligne du cache est constituée de :
Etiquette : N° de page et du bloc copié dans le cache
Données : données des blocs copiés
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 72
La mémoire
Mémoire cache à correspondance directe
Exemple
Supposons que le processeur exécute le
programme suivant :
1. Load D, R, 0215 ; à partir de Mémoire Cache MC
2. Load D, R, 0212 ;MC
3. Load D, R, 0114 ;MP et le bloc sera chargé à Index 1
4. Load D, R, 0225 ;MC
5. Load D, R, 0116 ;MC
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 73
La mémoire
Mémoire cache associative
Mémoire (SRAM) découpée en blocs de même taille que celle des blocs de la
MP
Constituée de :
Mémoire d’étiquettes : N° de page et de blocs copiés dans le cache et leurs adresses
dans la MC
Mémoire de données : données des blocs copiés
Tout bloc de la MP est mappé indifféremment dans l’un des blocs de la MC
N° de bloc comparé à tous les N° de blocs en MC
Cache efficace mais complexe et volumineux
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 74
La mémoire
Mémoire cache associative
Plus complexe et cher à construire.
L’adresse est interprétée comme une
étiquette et un offset.
Le contrôleur de cache vérifie en une
seule opération (c’est pourquoi il y a
autant de comparateurs que de lignes)
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 75
La mémoire
Mémoire cache associative par ensemble
Approche hybride (mixte)
Mémoire d’étiquettes contient le N° du bloc, le N° de page, l’emplacement
en MC et le déplacement
MP et MC découpées en pages pas forcément de même taille
Un bloc de la MP est mappé indifféremment dans l’un des blocs d’un
ensemble donné de la MC
Réduire les comparaisons (comparer à un ensemble de N° de blocs)
Peu efficace en cas d’accès à des blocs concurrents
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 76
La mémoire
Mémoire cache associative par ensemble
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 77
La mémoire
Algorithmes de remplacement
Aléatoire : le bloc le plus sollicité
Très rapide, peu efficace
FIFO : le plus ancien (la ligne remplacée est la ligne la plus anciennement chargée)
Rapide, assez réaliste
LRU (Least Recently Used) : La ligne remplacée est la ligne la moins récemment accédée
Moins rapide, Performant (éviter de futurs défauts de cache), Gestion complexe
NMRU (Not MostRecently Used) : la ligne remplacée n’est pas la plus
récemment utilisée (compteur)
Problème : bloc moins utilisé = bloc prochainement demandé
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 78
La mémoire
Performances des caches
Stratégie d’écriture
Ecriture simultanée (Write Through), Pb : traffic mémoire important
Ecriture différée ou réécriture (Write Back)
• Modifier uniquement le cache ; Positionner un bit d’état de modification
• En cas de remplacement, écrire dans MP si bit modifié=1
• Problème : modules d’E/S ou multiprocesseurs accédant à la MP invalide
Solution : circuits complexes.
Taille des blocs
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 79
La mémoire
Performances des caches
Nature et niveaux de caches
Caches multiniveaux : cache interne de niveau 1 et caches externes de
niveaux 2 et 3
• Cache interne (même puce que le processeur) : réduit le temps
d’exécution et améliore les performances du système
Caches unifiés ou séparés : 1 cache interne unique ou 2 caches de données et
instructions
• Ex : caches séparés des processeurs superscalaires (Pentium ou PowerPC
favorisant l’exécution parallèle et le préchargement des instructions).
• Cache séparé : élimine les conflits entre l’unité de lecture/décodage
d’instructions et l’unité de traitement (ou d’exécution).
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 80
La mémoire
Mémoire virtuelle
Pb : MP ne peut héberger plusieurs processus à la fois
Idée : Utiliser le disque pour stockage partiel de page
Principe
Une adresse virtuelle est le couple (numéro de
page, déplacement dans la page).
Formée de zones de même taille (pages).
Un mécanisme de traduction (MMU : Memory
Management Unit) assure la conversion :
@virtuelles @physiques, (table des pages).
L'adresse physique :
numéro de cadre, déplacement.
les pages qui ne sont pas en mémoire sont stockées
sur un autre support (disque).
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 81
La mémoire
Mémoire virtuelle
Exemple:
existe en MP
Pages
@Physique
Fonctionnement de la MMU
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 82
La mémoire
Mémoire virtuelle
Fonctionnement
Double adressage : virtuel + réel
Transformation d’adresses par la MMU (Memory Management Unit)
MMU implanté actuellement dans la CPU rapidité
Si page en MP, MMU traduit l’adresse virtuelle en réelle (50 ns)
Si défaut de page, le Système d’Exploitation recherche la page sur le
disque et la copie en MP (10 ms)
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 83
La mémoire
Mémoire virtuelle
Traitement de défaut
Suspendre l’exécution du processus en cours
Générer une interruption de défaut de page
Rapatrier la page demandée
S’il faut remplacer une page, elle sera copiée sur le disque en cas de
modification
Exécuter un autre processus pendant la lecture
Générer une interruption de fin de lecture
Mettre à jour la table et débloquer le processus initial
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 84
La mémoire
Segmentation
Découper un processus en segments
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 85
La mémoire
Segmentation et pagination
Découper un processus en segments
Prof : A. El Magri AIAC - GI - Architecture des ordinateurs 86