Architecture des ordinateurs
Licence Informatique - Universit é de Provence
Jean-Marc Talbot
M émoires
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
120 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
121 / 158
M émoires
M émoires (II)
m émoire : dispositif permettant d’enregistrer, de conserver et de
restituer de l’information.
unit é de base : 1 bit (0 ou 1)
octet (byte) = groupe de 8 bits
mot = regroupement d’octets (8 bits, 16 bits, 32 bits, ...)
(cid:73) unit é d’information adressable en m émoire
un KiloOctet = 210 octets = 1024 octes = 1 Ko
un MegaOctet = 210 Ko = 1 Mo
un GigaOctet = 210 Mo = 1 Go
un TeraOctet = 210 Go = 1 To
diff érentes technologies :
Electronique - Magn étique - Optique
diff érentes caract éristiques :
(cid:73) capacit é
(cid:73) temps d’acc ès
(cid:73) d ébit
(cid:73) volatilit é
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
122 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
123 / 158
Performances des m émoires
Types de m émoires (I)
temps d’acc ès : temps qui s épare une demande de
lecture/ écriture et sa r éalisation ta
vitesse
+
−
temps de cycle : temps minimum entre deux acc es a la m émoire
tc
On a ta < tc (stabilisation des signaux, synchronisation, ...)
d ébit (ou bande passante) : nombre de bits maximum transmis
par seconde
en cas d’acc ès en temps uniforme au donn ées
B =
n
tc
n est le nombre de bits transf ér és par cycle
registres
Cache
M émoire centrale
Disques durs
−
Bandes - Disques optiques
+
capacit é
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
124 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
125 / 158
Types de m émoires (II)
M émoires : localisations
registres
cache
m émoire
centrale
disque dur
vitesse (temps d’acc ès)
< 1 ns
2 - 5 ns
vitesse (d ébit)
> 50 Go/s
5 - 20 Go/s
capacit é
< 100 octets
100 Ko - 1 Mo
20 ns
1-10 ms
1 Go/s
256 Mo - 4 Go
300 Mo/s
50 Go - 500 Go
m émoire de masse
processeur
s
e
r
t
s
g
e
r
i
cache
l
e
a
r
t
n
e
c
e
r
i
o
m
Publicité
é
m
carte m ère
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
126 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
127 / 158
M éthodes d’acc ès
Acc ès s équentiel
Types de m émoire
(cid:73) pour acc éder à une information, il faut parcourir toutes les
Sur la carte m ère cohabite
informations qui la pr éc ède
(cid:73) exemple : bandes magn étiques
Acc ès direct
(cid:73) chaque information poss ede une adresse propre, a laquelle on peut
acc éder directement
(cid:73) exemple : m émoire centrale de l’ordinateur
Acc ès semi-s équentiel
(cid:73) interm édiaire entre s équentiel et direct
(cid:73) exemple : disque dur
(cid:70) acc ès direct au cylindre
(cid:70) acc ès s équentiel au secteur sur un cylindre
Acc ès associatif
(cid:73) une information est identifi ée par sa cl é
(cid:73) on acc ede a une information via sa cl é
(cid:73) exemple : m émoire cache
M émoires persistantes (m émoires mortes - ROM)
(cid:73) leur contenu est fix é (ou presque)
(cid:73) et conserv é en permanence m ême hors alimentation électrique
M émoires volatiles (m émoires vives - RAM)
(cid:73) leur contenu est modifiable
(cid:73) et perdu hors alimentation électrique
ROM = Read Only Memory
RAM = Random Access Memory
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
128 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
129 / 158
M émoires mortes (ROM)
ROM (Read Only Memory) : information stock ée au moment de la
conception du circuit.
PROM (Programmable Read Only Memory) : m émoire
programmble par un utilisateur final mais une seule fois
EPROM (Erasable Programmable Read Only Memory) : m émoire
(re)programmable et effac¸able par ultraviolet.
EEPROM (Electrically Erasable Programmable Read Only
Memory) : m émoire (re)programmable et effac¸able
électriquement.
(cid:73) exemple : Bios (“flashable”) - lecteur MP3
M émoires volatiles (RAM) (I)
2 types de RAM
DRAM : Dynamic RAM
Dynamique : l’information doit être p ériodiquement rafraˆıchie
r éalisation :
(cid:73) 1 bit = 1 transistor + 1 condensateur
(cid:73) le condensateur stocke l’information
(cid:73) Doit être rafraˆıchit r éguli èrement (pour conserver la valeur stock ée
dans le condensateur)
(cid:70) ralentit la vitesse d’acc es a la m émoire
peu co ûteuse
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
130 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
131 / 158
M émoires volatiles (RAM) (II)
D écodeurs - multiplexeurs : rappels (I)
2 types de RAM
SRAM : Static RAM
Statique : l’information n’a pas besoin d’ être rafraˆıchie
r éalisation :
(cid:73) 1 bit = 4 transistors = 2 portes NOR
(cid:73) Bascule RS (ou D) qui stocke l’information
(cid:70) beaucoup plus rapide que la DRAM
beaucoup plus cher que la DRAM
Un d écodeur permet de d écoder un mot binaire : il comprend n
entr ées et 2n sorties.
la i ème sortie de d écodeur vaut 1 si les n entr ées forment l’entier
binaire i.
e0e1
en−1
en
D écodeur
s0s1s2
s2n−2
s2n−1
s2n
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
132 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
133 / 158
d écodeur 3 vers 8
D écodeurs - multiplexeurs : rappels (II)
Registres (I)
Un multiplexeur comporte 2n entr ées, 1 sortie et n lignes de
s élection (entr ées).
la sortie du multiplexeur vaut la valeur de la i ème entr ée si l’entier
i est cod é sur les lignes de s élection.
m émoire de type SRAM
int égr és au cœur du processeur
e0e1e2
e2n−2
e2n−1
e2n
Multiplexeur
(MUX)
Publicité
s
l0
l1
ln−1
ln
multiplexeur 4 vers 1
un registre stocke les informations relatives à une instruction
(cid:73) op érandes n écessaires à l’instruction
(cid:73) r ésultats produits par l’instruction
tr ès peu nombreux (< 20)
tr es rapides (cadenc és a la vitesse du processeur)
Nous en reparlerons lors de l’ étude du processeur
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
134 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
135 / 158
Registres (II)
R éalisation :
registre 1-bit = 1 bascule RS (ou D)
registre n-bits = n bascules RS (ou D) en parall èle
registre 4 bits
Bancs de registres (I)
Un banc de registres de hauteur n et de largeur k est
un ensemble de n registres de k bits
une m émoire de n adresses
Exemple :
Une banc de n registres de 3 bits avec
un port d’ écriture
deux ports de lecture (lors d’une lecture le contenu de deux
registres est lu m ême temps.)
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
136 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
137 / 158
Bancs de registres (II)
Exemple d’utilisation :
Bancs de registres (III)
Fonctionnement en lecture : (2 registres en parall èle)
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
138 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
139 / 158
Bancs de registres (IV)
Fontionnement en écriture :
Bancs de registres (V)
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
140 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
141 / 158
Organisation de la M émoire centrale
M émoire unidimensionnelle
M émoire centrale
Rappels :
M émoire de type DRAM
l’information y est stock ée comme des mots (m émoire) d’un
certain nombre de bits (8, 16, 32, 64 bits) : la longueur des mots
est le format de la m émoire.
vitesse relativement lente (compar ée à celle du processeur)
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
142 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
143 / 158
Nombre de portes dans le d écodeur trop important
Organisation de la M émoire centrale (II)
M émoire bidimensionnelle utilisation d’un d écodeur pour les lignes et un pour
les colonnes
Organisation de la M émoire centrale (III)
M émoire matricielle (organis ée comme une matrice carr ée)
Utilisation des m êmes lignes d’adresses utilis ées pour les lignes et les
colonnes.
Chargement de l’adresse en deux temps et stock é dans deux registres
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
144 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
145 / 158
CAS : Column Address Strobe
RAS : Row Address Strobe
Fonctionnement de la m émoire (I)
Cycle de lecture
établissement de l’adresse
signal de lecture (R/W=0 par exemple)
s élection du boitier (CS=0)
Apr ès un certain temps, l’information apparaˆıt sur la sortie et reste
pr ésente jusqu’ à la fin du cycle.
Fonctionnement de la m émoire (II)
Cycle d’ écriture
établissement de l’adresse
s élection du boitier (CS=0)
établissement de la donn ée sur l’entr ée
signal d’ écriture (R/W=0 ci-dessous)
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
146 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
147 / 158
Fonctionnement de la m émoire (III)
Fonctionnement de la m émoire (IV)
Protocoles échanges processeur-m émoire
Synchrone : au bout de k unit és de temps, le processeur
suppose que l’op ération sur la m émoire a ét é r éalis ée (mot écrit
en m émoire, mot lu disponible sur la sortie)
Publicité
Asynchrone (handshaking) : processeur et m émoire
s’ échangent des informations de contr ôle (request/
acknowledgment)
Optimisations
m émoire synchrone (synchronis ée avec le bus) : SDRAM
Pour les m émoires matriciels, acc ès en mode page : on charge
ligne et colonne, puis on ne change que les colonnes pour les
acc ès suivants (localit é des donn ées) : DRAM FPM
Pour les m émoires matriciels, acc ès en rafale (burst) : on charge
ligne et colonne ainsi que le nombre de donn ées à lire ;
incr émentation dans la m émoire des colonnes pour les acc ès
suivants (localit é des donn ées). DDR-SDRAM
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
148 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
149 / 158
Assemblage de boitiers m émoire (I)
Assemblage de boitiers m émoire (II)
Augmentation de la taille des mots
2 boitiers de 2k mots de n bits =⇒ un bloc de 2k mots de 2n bits
Les m émoires sont regroup és dans des boitiers m émoire.
Du aux limites technologiques d’int égration, pour obtenir des
m émoires de grandes tailles, on associe plusieurs boitiers m émoires.
Ces blocs sont assembl és :
pour augmenter la taille des mots de la m émoire
pour augmenter le nombre de mots dans la m émoire
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
150 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
151 / 158
Assemblage de boitiers m émoire (III)
Augmentation du nombres de mots
4 boitiers m émoires de 2k mots de n bits =⇒ un bloc de 4 ∗ 2k mots de
n bits
adresse pour le nouveau bloc sur k + 2 bits
M émoire et erreurs
Du fait de sa nature “physique”, les informations en m émoire peuvent
comporter une ou des erreurs.
Pour d étecter et corriger, on ajoute des bits de contr ôle.
bit de parit é : 1 bit suppl émentaire (en plus des bits de donn ées)
tel que le nombre de bits à 1 est pair
m émoire ECC (Error Correction Coding) poss ède des bits
suppl émentaires pour d étecter et corriger le(s) bit(s) erron é(s).
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
152 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
153 / 158
M émoire Logique (I)
M émoire Logique (II)
La m émoire logique est la fac¸on dont le processeur (ou le
programmeur) voit la m émoire (physique).
La m émoire est d éfinie comme un ensemble de N octets cons écutifs
dont
la premi ère adresse est 0
la derni ère adresse est N − 1
Adressage de la m émoire par des mots de : 8 (octet), 16, 32, 64, .. bits.
Pour un mot m émoire de 32 bits, il existe 2 fac¸ons de ranger les octets
qui le compose :
Le mot de poids fort est stock é en premier : big-endian
i
i+1
i+2
i+3
Octet 3 Octet 2 Octet 1 Octet 0
Le mot de poids fort est stock é en dernier : little-endian
i
i+1
i+2
i+3
Octet 0 Octet 1 Octet 2 Octet 3
Un mot de 32 bits est constitu é de 4 octets cons écutifs
Un mot m émoire ne peut commencer n’importe o ù
les mots de 16 bits commencent sur des adresses paires
les mots de 32 bits commencent sur des adresses multiples de 4
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
154 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
155 / 158
M émoire Logique (III)
M émoire Logique (IV)
On a donc 2B blocs ayant chacun 2N−B cases.
Segmentation de la m émoire : d écoupage logique de la m émoire en
un certain certains nombres de blocs (ou segments)
Une adresse est cod ée comme
un num éro de blocs
un d éplacement dans le bloc (offset)
N bits d’adresses =⇒ 2N cases m émoire.
Les N bits sont s épar és en deux :
B bits (de poids fort) pour le num éro de bloc
N − B bits (de poids faible) pour le d éplacement dans le bloc
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
156 / 158
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
157 / 158
M émoire Virtuelle
La m émoire physique n’est qu’une partie de la m émoire disponible : le
syst ème permet l’utilisation de la m émoire de masse (disque durs)
comme de la m émoire virtuelle.
Pagination de la m émoire virtuelle
M écanisme de swap
L3 Informatique - Universit é de Provence ()
Architecture des ordinateurs
158 / 158