Vous êtes sur la page 1sur 39

ARCHITECTURES DES

ORDINATEURS

Dr. OUADA Farah-Sarah


Maître de Conférences Classe B à l’Université A. Mira de
Béjaia
CHAPITRE II
LES MÉMOIRES

Introduction

Les technologies des mémoires à semi conducteurs

Les mémoires associatives

Les mémoires caches ou mémoires tampon

Hiérarchie mémoire : conclusion


INTRODUCTION
 Nous nous intéressons maintenant au fonctionnement des
mémoires vives (ou volatiles), qui ne conservent leur
contenu que lorsqu’elles sont sous tension.
 Ce type de mémoire est souvent désigné par l’acronyme
RAM, Random Access Memory, signifiant que la
mémoire adressable (on peut accéder à n’apport qu’elle
information dans la mémoire) par opposition aux
mémoires secondaires séquentielles comme les bandes
(pour accéder à une information il faut passer sur toutes les
informations qu’elles précédent).
 Nous mentionnerons aussi différents types de mémoires
mortes, qui sont des circuits accessibles uniquement en
lecture (ROM, Read Only Memory). 3

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


CARACTÉRISTIQUES D’UNE MÉMOIRE
 La capacité : nombre total de bits que contient la mémoire. Elle
s’exprime aussi souvent en octet ;
 Le format des données : nombre de bits que l’on peut mémoriser par
case mémoire. On parle de la largeur du mot mémorisable ;
 Le temps d’accès : temps qui s’écoule entre l’instant où a été lancée une
opération de lecture/écriture en mémoire et l’instant où la première
information est disponible sur le bus de données ;
 Le temps de cycle : il représente l’intervalle minimum qui doit séparer
deux demandes successives de lecture ou d’écriture ;
 Le débit : nombre maximum d’informations lues ou écrites par
seconde;
 La volatilité : elle caractérise la permanence des informations dans la
mémoire. L’information stockée est volatile si elle risque d’être altérée par
un défaut d’alimentation électrique et non volatile dans le cas contraire. 4

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 Nous savons qu’il existe deux types distincts de


mémoire :
 Les mémoires mortes (ROM)

 Les mémoires vives (RAM)

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
I. Les mémoires mortes (ROM)
 Conserver des informations de façon permanente même
lorsque l'alimentation électrique est interrompue.
 Mémoires à lecture seule (ROM : Read Only Memory). Ces
mémoires sont non volatiles.
 Ces mémoires, contrairement aux RAM, ne peuvent être
que lue.
 L’inscription en mémoire des données reste possible mais
est appelée programmation.
 Suivant le type de ROM, la méthode de programmation
changera. Il existe donc plusieurs types de ROM :
 ROM
 PROM
 EPROM
 EEPROM
6
 FLASH EPROM.

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 1. ROM
 Un circuit intégré dont le contenu est
déterminé une fois pour toute au moment de la
fabrication.
 Le coût relativement élevé de leur fabrication
impose une fabrication en grandes séries, ce
qui complique la mise à jour de leur contenu.
 Au départ, ces mémoires étaient utilisées pour
stocker les parties bas-niveau du système
d’exploitation de l’ordinateur (BIOS du PC par
exemple).
7

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 2. PROM (Programmable ROM)


 Alors que la mémoire ROM est enregistrée de
manière irréversible lors de sa fabrication, la
mémoire PROM est configurée par
l’utilisateur en utilisant un programmateur
de PROM, utilisé pour enregistrer son contenu.
 Le circuit PROM ne peut plus être modifié par la
suite.

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 3. EPROM (Erasable PROM)


 Les mémoires EPROM sont des PROM
reconfigurables : il est possible de les effacer
pour les reprogrammer.
 L’effaçage se produit en exposant le boitier à un
rayonnement ultraviolet (UV).

 4. EEPROM (Electricaly Erasable PROM)


 Même principe qu’une EPROM, mais l’effacement
se fait à l’aide de signaux électriques, ce qui
est plus rapide et pratique.
9

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 5. FLASH EPROM (Flash disque et carte


mémoire)
 Les mémoires FLASH sont similaires aux
mémoires EEPROM, mais l’effacement peut
se faire par sélectivement par blocs et ne
nécessite pas le démontage du circuit.
 La Flash EPROM a connu un essor très
important ces dernières années avec le boom de
la téléphonie portable et des appareils
multimédia (PDA, appareil photo numérique,
lecteur MP3, etc...).
10

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

 5. FLASH EPROM (Flash disque et carte


mémoire)
 Les mémoires FLASH sont similaires aux
mémoires EEPROM, mais l’effacement peut
se faire par sélectivement par blocs et ne
nécessite pas le démontage du circuit.
 La Flash EPROM a connu un essor très
important ces dernières années avec le boom de
la téléphonie portable et des appareils
multimédia (PDA, appareil photo numérique,
lecteur MP3, etc...).
11

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
II. Les mémoires vives à accès aléatoire
 Elle sert au stockage temporaire de données.
 Elle doit avoir un temps de lecture et écriture très
court pour ne pas ralentir le microprocesseur.
 Les mémoires vives sont en général volatiles : elles
perdent leurs informations en cas de coupure
d'alimentation.
 Certaines d'entre elles, ayant une faible
consommation, peuvent être rendues non volatiles par
l'adjonction d'une batterie.
 Il existe deux grandes familles de mémoires RAM
(Random Acces Memory : mémoire à accès aléatoire) :
1. Les RAM statiques 12
2. Les RAM dynamiques
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS

II. Les mémoires vives à accès aléatoire


1. Les RAM statiques
 Le bit mémoire d'une RAM statique (SRAM) est
composé d'une bascule. Chaque bascule contient
entre 4 et 6 transistors.
 Les SRAM permettent des temps d’accès court à
l’information.
 Les informations y restent mémorisées tant que
le composant est sous tension.
 Les cartes mères utilisent une SRAM.
 La SRAM est très rapide et est pour cette
raison le type de mémoire qui sert également aux 13
mémoires cache.
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
II. Les mémoires vives à accès aléatoire
2. Les RAM dynamiques
 Dans les RAM dynamiques (DRAM), l’information est mémorisée
sous la forme d’une charge électrique stockée dans un
condensateur.
 Avantages : Cette technique permet une plus grande densité
d’intégration, car un point mémoire nécessite environ quatre fois
moins de transistors que dans une mémoire statique. Sa
consommation s’en retrouve donc aussi très réduite ;
 Inconvénient : La présence de courants de fuite dans le
condensateur contribue à sa décharge. Ainsi, l’information est
perdue si on ne la régénère pas périodiquement (charge du
condensateur). Les RAM dynamiques doivent donc être rafraîchies
régulièrement pour entretenir la mémorisation : il s’agit de lire
l’information et de la recharger.
14

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
Les mémoires à accès séquentiel
 C'est l'accès le plus lent pour accéder à une information
particulière,
 On est obligé de parcourir toutes celles qui la précèdent.

 L'accès aux enregistrements se fait de façon séquentielle.

 Les médiums pouvant être utilisés sont: les cartes perforées,


le ruban perforé, le ruban magnétique et même le disque.
 C'est le type de mémoire le moins coûteux par unité
d'information, de temps d'accès le plus long.
 La mémoire et dont les capacités sont les plus grandes.

1. Les mémoires FIFO (First In First Out)


2. Les mémoires LIFO (Last In First Out)
15

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
 Les mémoires à accès séquentiel
1. Les mémoires FIFO (First In First Out)
 Mémoire tampon (Buffer) sont un type particulier de
mémoires RAM, où les mots ne sont pas adressables: les mots
sont lus dans le même ordre dans lequel ils sont écrits (le
premier écrit est le premier lu).

16

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
 Les mémoires à accès séquentiel
1. Les mémoires LIFO (Last In First Out)

 Appelées également pile (stack), sont un autre type de


mémoire non adressable, avec deux opérations possibles:
 Push: équivalent à l'écriture, met une information au
sommet de la pile, en poussant vers le bas les informations
déjà présentes dans la pile. L'information tout en bas de la
pile sera perdue.
 Pop: équivalent à la lecture, prend l'information qui se
trouve au sommet de la pile, en poussant tout le contenu de
la pile vers le sommet. L'information lue sera enlevée de la
pile.
17

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES TECHNOLOGIES DES MÉMOIRES À
SEMI CONDUCTEURS
 Classification des mémoires
 Les mémoires peuvent être classées en deux catégories
principales:

18

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES MÉMOIRES ASSOCIATIVES

Description

 Les mémoires associatives servent à accélérer


la recherche d'une donnée dans un ensemble
de données.
 Leur fonctionnement est totalement opposé
aux mémoires adressables normales :
 Au lieu d'envoyer l'adresse pour accéder à la
donnée, on envoie la donnée pour récupérer
son adresse.
19

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES MÉMOIRES ASSOCIATIVES

Opérations sur une mémoire associative


 Le plan mémoire d'une mémoire associative a deux fonctions :
 Mémoriser des mots mémoires et vérifier la présence
d'une donnée dans chaque case mémoire.
 La donnée à rechercher dans la mémoire est envoyée à toutes
les cases mémoires simultanément.
 Toutes les comparaisons sont effectuées en parallèle.
 Une fois la case mémoire qui contient la donnée identifiée, il
faut déduire son adresse.
 On n'a pas l'adresse, mais les signaux sont là. La traduction va
donc devoir se faire par un circuit assez semblable au décodeur
: l'encodeur.
 Dans le cas où la mémoire doit gérer le cas où plusieurs mots
contiennent la donnée demandée, la solution la plus simple est
20
d'en sélectionner une seule, généralement celle qui a l'adresse
la plus petite (ou la plus grande).
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES MÉMOIRES ASSOCIATIVES

Exemples d'utilisation d'une mémoire


associative

 Dans les mémoires ordinaires, on peut accéder à un mot par


son adresse, et les adresses doivent être contigües : un boitier
donné va par exemple stocker tous les mots dont les adresses
sont comprises entre 100000H et 200000H.
 Les mémoires caches doivent utiliser un principe différent,
car les mots qu'elles vont stocker ont des adresses
quelconques, qui ne se suivent pas forcément.
 Ce type de mémoire, appelé mémoire associative, est
constitué d'un ensemble de paires (clé, valeur).
 La clé va ici être l'adresse du mot en mémoire.
21

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES MÉMOIRES ASSOCIATIVES

Exemples d'utilisation d'une mémoire associative


 La mémoire associative suivante :
 Contient trois éléments, d'adresses respectives : 00AA0004,
 01068C0B et 00ABF710.
 Les circuits de mémoire associative sont capables d'effectuer la
recherche d'une clé en parallèle, donc en un temps très court (la
clé demandée est comparée d'un seul coup à toutes les clés
stockées).
 La taille des mémoires caches associative est habituellement de
l'ordre de quelques centaines de Ko.

Clé Valeur
00AA0004 1
01068C0B 78
00ABF710 789 22

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES MÉMOIRES CACHES

 Processeur a besoin d'un débit soutenu en lecture


d'instructions et de données.
 Pour ne pas devoir attendre sans rien faire.

 Problème

 Mémoire centrale qui stocke ces instructions et


données est beaucoup trop lente pour assurer ce
débit.
 Idée

 Utiliser une mémoire très rapide intermédiaire


entre la mémoire centrale et le processeur.
 Mémoire cache (ou cache tout court).

23

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


LES MÉMOIRES CACHES

 Problèmes
 Mémoire cache doit être petite (quelques centaines
de Ko à quelques dizaines de Mo) pour être efficace
en terme de débit
 Ne peut donc pas y stocker tous les programmes en
cours d'exécution et leurs données
 Solutions

 Algorithmes pour « deviner » et mettre dans le


cache les données/instructions avant que le CPU
en ait besoin
 Recherche bon compromis entre tailles, types de
cache (données/instructions), niveaux de cache,
techniques d'accès au cache ... pour meilleures 24

performances
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES MÉMOIRES CACHES

 Mémoire intermédiaire entre le processeur et la


mémoire centrale,
 Elle est cadencée à la même fréquence que le
prcesseur,
 Une mémoire très rapide,

 Réalisée à partir de SRAM,

 Stockage des informations les plus récente, et ou


les plus utilisées,
 But de la mémoire cache

- Débit de la mémoire centrale très lent par


rapport au débit requis par le processeur
-On accélère la vitesse de lecture des
25
informations par le CPU en les plaçant (en avance)
dans le cache. Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES MÉMOIRES CACHES

 Le principe de cache
 Le microprocesseur n'a pas conscience de sa
présence et lui envoie toutes ses requêtes comme
s'il agissait de la mémoire principale :
 Soit la donnée ou l'instruction requise est
présente dans le cache et elle est alors envoyée
directement au microprocesseur.
On parle de succès de cache. (a)
 Soit la donnée ou l'instruction n'est pas dans le
cache, et le contrôleur de cache envoie alors une
requête à la mémoire principale. Une fois
l'information récupérée, il la renvoie au
microprocesseur tout en la stockant dans le cache. 26

On parle de défaut de cache. (b)


Dr. OUADA F-S © 2018/2019 – Université de Béjaia
LES MÉMOIRES CACHES

27

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


STRUCTURE GÉNÉRALE D'UN CACHE

 La mémoire cache n'est pas adressée comme


toutes les mémoires, càd en faisant
correspondre une adresse à une cellule mémoire.
 Dans un cache sont rangées en même temps les
données ainsi que leur adresse (la clé)
correspondante dans la mémoire centrale (ou
seulement une partie).
 Ce type de mémoire, appelé « mémoire
associative », opère selon deux étapes:
- Test de présence d'adresse dans la mémoire
adresse ;
-Si oui, mettre la donnée sur le bus de
donnée. 28

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


TAILLE DE LA MÉMOIRE CACHE
 Coût non négligeable en raison de sa technologie.
 Implantée sur une puce, elle occupe de l'espace,
d'autant plus grand qu'elle est plus rapide,
 Il faut faire un compromis entre la capacité du cache et
les unités formant le processeur.
 En raison de la complexité des circuits utilisés, le
temps d'accès d'un cache est souvent proportionnel à sa
capacité, ce qui rentre en conflit avec la rapidité que
l'on recherche lors de la mise en place d'un cache.
 Le gain obtenu grâce à la présence de la mémoire cache
est dégressif.
 La dimension globale du cache est donc un paramètre
parmi d'autres lors de la conception des circuits
électroniques formant le processeur sur la puce. 29

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


ORGANISATION EN NIVEAUX

 Cache est organisé en plusieurs niveaux


 Jusqu'à 3 niveaux (L1, L2 et L3)

 De rares processeurs avec un L4

 L3 généralement utilisé pour l'échange de


données entre cores dans un processeur multi-
core.
 L1 et L2 généralement spécifique à un core.

 Cache L1 généralement scindé en 2 parties : un


dédié aux instructions et l'autre aux données.
 Cache Li+1 joue le rôle de cache pour le niveau
Li.
 Cache Li+1 plus grand que Li mais moins rapide
30
en temps d'accès aux données.
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
ORGANISATION EN NIVEAUX

31

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


TAILLE DE LA MÉMOIRE CACHE

 On distingue en fonction de leur taille et de leur


localité :
 La mémoire cache de premier niveau (L1)
située à l'intérieur du processeur et dont la taille
est de deux fois 8 Ko (Pentium) ou deux fois 16 Ko
(Pentium Pro)
 La mémoire cache de second niveau (L2)
située dans le boîtier du processeur et dont la taille
varie de 256 à 512 Ko.
 La mémoire cache de troisième niveau (L3)
située à présent au niveau du processeur et dont la
taille varie de 6 à 24 Mo.
32

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


REMPLACEMENT D'UNE INFORMATION

 Cache direct
 Cache associatif

 Dans le cas d'un cache direct, la réponse est


immédiate puisqu'il n'existe qu'une seule
possibilité.
 Dans un cache associatif par ensemble, on
choisit parmi tous ceux de l'ensemble attribué à la
ligne mémoire.
 Il existe plusieurs remplacement comme :
Remplacement aléatoire, FIFO, LRU (Least
Recently Used, la moins récemment utilisée), LFU
(Least Frequently Used, la moins utilisée) et
NMRU. 33

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


REMPLACEMENT D'UNE INFORMATION

 Remplacement aléatoire
 La première possibilité d'algorithme part du
principe qu'il est impossible de prédire l'avenir et
qu'il ne sert à rien d'essayer d'estimer quelle ligne
évincer.
 On peut donc se contenter d'en choisir une au
hasard (dans tout le cache ou dans l'ensemble
correspondant) pour la remplacer par la nouvelle
ligne.
 Cet algorithme est facile à implémenter mais n'est
pas efficace : rien n'indique qu'on ne va pas
réutiliser rapidement la ligne sortie aléatoirement
du cache. 34

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


REMPLACEMENT D'UNE INFORMATION

 Remplacement FIFO
 L'idée de base de l'algorithme est que des
informations mises depuis longtemps dans le
cache ne vont plus servir.
 Chaque ligne qu'il contient est accompagnée de sa
date d'entrée (ou simplement d'un compteur) et la
plus vieille est remplacée par la ligne provenant
de la mémoire principale.
 Cet algorithme est statistiquement plus efficace
que le précédent, mais il a un défaut : une ligne
référencée régulièrement (une adresse mémoire à
laquelle on a accédé souvent) est retirée du cache
quand elle devient la plus vieille, alors qu'elle peut 35
encore servir.
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
ÉCRITURE EN MÉMOIRE CACHE
 Deux méthodes existent, dont la complexité supérieure
de l'une est compensée par son efficacité.
 Cache write-through
 Ecriture au travers , on l'appelle aussi « écriture
immédiate ».
 L'avantage de la simplicité et de la cohérence :
l'information mémorisée dans le cache est toujours
identique à celle située en mémoire principale.
 Lors d'un remplacement d'une ligne, celle-ci peut-être
simplement éliminée du cache puisqu'elle existe sous
la même forme en mémoire principale pour un
éventuel usage futur.
 Mais cela se traduit par une perte de temps puisque
l'écriture doit à chaque fois être renvoyée en mémoire
principale, qui a un temps d'accès plus élevé.
 Ce handicap, allant à l'encontre de l'idée même du
cache, fait que ce mécanisme n'est plus très utilisé sur 36
les processeurs actuels.
Dr. OUADA F-S © 2018/2019 – Université de Béjaia
ÉCRITURE EN MÉMOIRE CACHE

 Cache write-back écriture diffèrée


 Rien n'interdit de ne modifier l'information en
mémoire principale que lorsque la ligne
correspondante disparaît du cache.
 Le principe est, lors d'une écriture, de changer
l'information stockée dans le cache en laissant la
mémoire principale inchangée. Cela permet de ne
pas perdre de temps puisque l'on accède
uniquement au cache, beaucoup plus rapide.

37

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


HIÉRARCHIE MÉMOIRE : CONCLUSION

 Organisation de façon à ce que le CPU accède le


plus rapidement possible aux données utiles.
 Instructions des programmes en cours d'exécution.

 Données manipulées par ces programmes.

 Ces instructions et données sont chargées en


mémoire centrale à partir d'une mémoire de
masse.
 Hiérarchie

 Mémoire cache : rapide et petit

 Mémoire centrale : moins rapide et plus gros

 Mémoire de masse : lent et très gros

 Plus une mémoire est rapide, plus elle est chère 38

Dr. OUADA F-S © 2018/2019 – Université de Béjaia


HIÉRARCHIE MÉMOIRE : CONCLUSION

39

Dr. OUADA F-S © 2018/2019 – Université de Béjaia