Post on 10-Apr-2018
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
1/26
Mmoires vives
Dans les trois chapitres prcdents nous avons tudi la plupart des briques de base
utilises pour la conception d'ordinateurs. Nous allons maintenant monter d'un niveau et aborderles principes de ralisation des principaux blocs fonctionnels partir de ces briques. Nous
commenons (c'est un choix arbitraire) par la mmoire vive. La premire partie de ce chapitre
sera consacre son organisation matrielle. Dans la seconde nous baucherons son organisationlogique, dont l'tude doit tre approfondie dans le cours sur les systmes d'exploitation.
V.1 Introduction
Nous savons que dans un ordinateur toutes les informations : valeur numrique,
instruction, adresse, symbole (chiffre, lettre,) etc sont manipules sous une forme binaire.Ces informations doivent en gnral tre conserves pendant un certain temps pour permettre leur
exploitation. Ce rle est dvolu aux mmoires charges de conserver programmes, donnes
provenant de l'extrieur, rsultats intermdiaires, donnes transfrer l'extrieur, etc. Nousavons dj rencontr les registres de mmorisation, mais ceux-ci ne sont pas adapts aux grandes
capacits de stockage.
Il faut pour cela des mmoires lecture et criture ou mmoires vives, qui permettent
d'enregistrer une information, de la conserver et de la restituer. Ces mmoires sont, d'autre part,
accs alatoire (RAM : Random Acces Memory) c'est--dire que le temps d'accs l'information
est indpendant de sa place en mmoire. Cette appellation, d'origine historique, est toujourssynonyme de mmoire vive. Bien que trs rpandue cette appellation n'est plus suffisante car tous
les circuits semi-conducteur sont aujourd'hui accs alatoire. L'accs squentiel ne porte plus
que sur les mmoires magntiques (disques ou bandes). Par contre, une mmoire vive estvolatile : la conservation de son contenu ncessite la permanence de son alimentation lectrique.
L'information lmentaire, ou bit (binary digit), est mmorise dans une cellule ou pointmmoire. Nous tudierons plus loin les deux principales technologies utilises pour raliser une
cellule. Ces cellules sont groupes en mots de n bits, c'est--dire que les n bits sont traits (critsou lus) simultanment. On ne peut pas modifier un seul bit, pour cela il faut transfrer le mot
dans un registre, modifier le bit puis rcrire le mot en mmoire. Par ailleurs, les cellules sontarranges en bloc mmoire.
Extrieurement, et en ne tenant compte que des signaux logiques, un bloc mmoire peut
tre reprsent comme sur la figure 1. Pour pouvoir identifier individuellement chaque mot on
utilise k lignes d'adresse. La taille d'un bloc mmoire est donc 2k, le premier mot se situant
l'adresse 0 et le dernier l'adresse 2k
- 1. Une ligne de commande (R/W) indique si la mmoire
est accde en criture (l'information doit tre mmorise) ou en lecture (l'information doit tre
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 95
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
2/26
restitue). Sur ce schma on distingue deux canaux de n lignes en entre et en sortie, mais dansd'autres cas les accs en entre et en sortie peuvent tre confondus en un seul canal bidirectionnel.
Nous verrons l'intrt de la ligne de validation ou de slection du bloc (CS) un peu plus loin.
n lignesd'entre
n lignesde sortie
k lignesd'adresse
2 mots de n bitsk
R/W
CS
Figure 1
V.2 Adressage bidimensionnel ou matriciel
L'organisation des cellules l'intrieur d'un bloc la plus simple imaginer correspond au
schma suivant, chaque ligne correspond un mot de n bits :
2 lignesk
n sorties
k adresses
Dcodeur
Figure 2
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 96
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
3/26
Pour simplifier la figure, chaque cellule y est matrialise avec uniquement une ligne deslection et une ligne de sortie. Si la ligne de slection est "0", la cellule est "isole" de la sortie.
Si la ligne de slection est "1", l'information mmorise se retrouve sur la ligne de sortie.
La figure correspond au mcanisme de lecture, mais le principe est galement valable en
criture. En fonction de l'adresse, le dcodeur active une et une seule des 2
k
lignes. Ainsi seulesles cellules correspondant l'adresse demande sont slectionnes et l'information mmorise est
alors disponible en sortie. Cette architecture trs simple n'est pas la plus conomique en terme denombre de portes.
Considrons par exemple une mmoire contenant 512 mots de 4 bits soient 2048 bits.C'est--dire k = 9 et n = 4. Il faut 512 portes ET pour raliser le dcodeur. Une conomie
importante peut tre obtenue en organisant la mmoire en une matrice de 64 lignes et 32 colonnes
(2048 = 64 x 32). Chacune de ces 64 lignes peut tre slectionne en utilisant 6 bits d'adresse.Comme nous ne voulons que des mots de 4 bits, il faut encore utiliser 4 multiplexeurs chacun
slectionnant une ligne sur 8. Les 3 derniers bits d'adresse sont affects ces multiplexeurs. Cette
architecture est dnomme adressage X-Y ou bidimensionnel. Dans ce cas 64 portes ET sontncessaires pour le dcodeur et 9 portes (8 ET et 1 OU) pour chacun des multiplexeurs, soit au
total 64 + (9 x 4) = 100 portes. Cela reprsente cinq fois moins de portes.
W0
W63
32 colonnes
64 lignes
Y3 Y2 Y1 Y0
A A6 8
A A0 5
Figure 3
L'organisation matricielle des blocs mmoires permet galement d'viter des pistes trop
longues pour la distribution des diffrents signaux aux cellules. Les constantes de temps et lespertes de charge sont ainsi rduites.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 97
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
4/26
Nous n'avons considr que deux cas de figure pour l'organisation matricielle du blocmmoire : 512 lignes de 4 colonnes et 64 lignes de 32 colonnes. D'autres variantes sont
videmment possibles, pour certaines le nombre de portes ncessaires est rsum dans le tableau
suivant. Nous constatons que le minimum se situe pour une organisation "carre", pour laquelleles nombres de lignes et de colonnes sont gaux ou diffrent d'un facteur 2.
nb lignes nb colonnes Dcodeur Multiplexeur Total
512 4 512 0 512
256 8 256 3 268
128 16 128 5 148
64 32 64 9 100
32 64 32 17 100
16 128 16 33 148
8 256 8 65 268
Table 1
Trs souvent, les blocs mmoires comportent autant de lignes que de colonnes. Les
mmes lignes d'adresse peuvent alors tre utilises pour identifier successivement la ligne puis lacolonne. Cela permet de rduire le nombre de broches de connexion, donc l'encombrement et le
cot des circuits. Cependant cela demande peu prs deux fois plus de temps par transmettre
l'adresse complte. Par contre, si on cherche accder des informations stockes dans une
mme ligne il peut tre possible de dfinir une fois la ligne, puis pour chaque mot de n'avoir envoyer que l'adresse de la colonne. Il faut alors au moins un signal de commande
supplmentaire pour indiquer que l'adresse correspond une ligne ou une colonne. Il suffit de
n+1 cycles dadressage pour accder n colonnes dune mme ligne.
Parmi les caractristiques d'une mmoire nous trouvons la capacit et le format. La
capacit reprsente le nombre total de bits et le format correspond la longueur des mots. Lenombre de bits d'adresse k dfinit le nombre total de mots de la mmoire, si n est le nombre de
bits par mot, la capacit de la mmoire est donne par :
Capacit = 2k
mots = 2k
x n bits
Cette capacit est exprime en multiple de 1024 ou kilo. La table suivante rsume la valeur des
autres prfixes utiliss pour exprimer les capacits des mmoires :
Symbole Prfixe Capacit1 k (kilo) 210 = 1024
1 M (mga) 220 = 1048576
1 G (giga) 230 = 1073741824
1 T (tera) 240 = 1099511627776
Table 2
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 98
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
5/26
La figure 4, prsente une autre organisation logique possible pour une mmoire de 128
mots de 8 bits. Ici chaque mot est stock dans une case de 8 bits, tel un registre. Cette case reoit
en entre 8 lignes de donnes et une ligne de chargement. Elle dispose de 8 lignes de sortiefournissant le contenu du registre. Chacune de ces lignes est commande par une porte "3 tats".
Ces cases sont organises en une matrice de 32 lignes et 4 colonnes. Les 7 bits d'adresse sontspars en deux groupes, 5 bits pour identifier la ligne et 2 bits pour la colonne.
8 bits
R/W
CS
8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
8 bits 8 bits 8 bits 8 bits
Dcodeur
de
ligne
Dcodeur de colonne
S8
2A
C
AL
E
5
8
Figure 4
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 99
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
6/26
Le signal de slection du botier (CS) valide les fonctions d'criture et de lecture. Le
botier est bloqu pour CS = 1. Lorsque CS = 0, une fonction d'criture correspond R/W = 0 et
une fonction de lecture R/W = 1.
En criture, le mot charger doit tre prsent sur l'entre E du circuit. Ces donnes sontdistribues simultanment sur toutes les cases de 8 bits. La ligne dsigne par l'adresse AL est 1.
Le signal de chargement est transmis la seule colonne identifie par l'adresse AC. Seul leregistre l'intersection de cette ligne et de cette colonne est donc charg.
En lecture, les quatre cases de la ligne slectionne fournissent leur contenu sur les quatrebus verticaux. Une seule des quatre portes "3 tats", au bas du schma, est connecte la sortie S
du botier. Cette porte "3 tats" fournit une amplification des signaux.
R
EGISTRE
0
234567
1
0
REGISTR
E
0
23456
7
1
15
Dmuxadresse
chargement entres
Muxtouslesbits
7
Muxtouslesbits
0
sorties adresse
Figure 5
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 100
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
7/26
La figure 5 illustre une autre organisation de la lecture. Pour allger le dessin, nous avons
considr une mmoire de 16 mots de 8 bits. Le principe du chargement est comparable auscnario prcdent : les donnes sont distribues sur tous les registres, mais un seul reoit le
signal de chargement. Par contre la sortie fait appel 8 multiplexeurs. Chacun recevant les bits de poids identiques en provenance des 16 registres. L'adresse est distribue sur tous ces
multiplexeurs, et on trouve donc en sortie tous les bits du registre identifi.
V.3 Assemblage de blocs mmoires
Les techniques d'intgration ne permettent pas d'obtenir des botiers ayant des capacitsou des formats suffisants pour toutes les applications. Il est alors ncessaire d'associer plusieurs
botiers pour augmenter la longueur des mots ou le nombre de mots. Dautre part, l'association de
plusieurs blocs peut permettre d'amliorer les performances temporelles de la mmoire en faisantfonctionner plusieurs blocs en parallle.
V.3.a Augmentation de la longueur des mots
La figure suivante montre qu'il est ais d'associer deux botiers de 2k
mots de n bits pourobtenir un bloc de 2
kmots de 2 n bits. L'adressage doit tre appliqu simultanment aux deux
circuits, l'un fournissant les n bits de bas poids et l'autre les n bits de haut poids.
k kk
n n
2 x n bitsk
2 x n bitsk
adresse
haut poids bas poids
Figure 6
V.3.b Augmentation du nombre de mots
De mme la figure suivante montre la ralisation d'un bloc de 4 x 2k
mots de n bits l'aide
de 4 botiers de 2k
x n bits. Il nous faut k+2 lignes d'adresse. Les k bits de bas poids de l'adressesont appliqus simultanment sur les 4 botiers. Les deux bits de haut poids attaquent un
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 101
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
8/26
dcodeur quatre sorties. Chacune de ces quatre lignes permet de slectionner un botier (entrede validation du botier : CS). Un seul botier est alors connect aux lignes de sortie.
2 x n bitsk
k
n
2 x n bitsk
k
n
2 x n bitsk
k
n
2 x n bitsk
k
n
Dcodeur
k
2
adresse : k bitsde bas poids
adresse : 2 bitsde haut poids
Figure 7
V.3.c Entrelacement
Une mmoire entrelace n voies est constitue de n blocs. Le bloc numrot i, avec
i [0, n1], contient toutes les cellules dont les adresses sont gales i modulo n (add = k n + i).De cette manire deux mots des adresses conscutives sont rangs dans deux blocs diffrents.
Cette organisation permet de rduire le temps d'accs la mmoire lors de la lecture ou del'criture par groupe de mots.
Supposons par exemple qu'une unit centrale, de temps de cycle t, veuille lire unensemble de N mots des adresses conscutives. Dans une mmoire non entrelace cette
opration demande un temps t1 = N . ta, o ta est le temps d'accs la mmoire, aprs
rception de la premire requte par l'unit de gestion de la mmoire (fig. 8).
90 1 2 3 4 5 6 7 8
Requtes
Donnes
cycle
Mmoire non entrelace
Figure 8
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 102
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
9/26
Dans une mmoire entrelace n voies, telle que ta n t, la premire requte est
transmise par l'unit de gestion de la mmoire au bloc i. La seconde requte, au cycle d'horlogesuivant, est transmise au bloc i+1, et ainsi de suite. Chacune des n premires requtes est ainsi
transmise un bloc diffrent. Ces blocs fonctionnent en parallle. A l'instant ta mesur aprs la
premire requte la premire la donne est disponible. Elle est collecte par l'unit centrale au
nime cycle. La deuxime est disponible un cycle (t) plus tard, et ainsi de suite (fig. 9). Lesdonnes suivantes pourront tre rcupres chaque cycle. Il faut donc un temps
t2 = (n 1 + N) . t pour lire les N mots. Il faut attendre n 1 cycles sans recevoir aucune
donne.
90 1 2 3 4 5 6 7 8
Requtes
Donnes
cycle
Mmoire entrelace 4 voies
Figure 9
Cette mthode, comparable au traitement en pipe-line des instructions que nous tudierons
dans le chapitre consacr l'unit centrale, est d'autant plus efficace que trs souvent on doit
accder des informations (instructions ou donnes dans des structures) des adresses
conscutives. Les groupes de mots lus sont ensuite stocks dans une mmoire cache (cf. plus
loin).
V.4 Rduction du nombre de broches
Les fabricants de mmoires cherchent rduire le nombre de broches des botiers, pouraugmenter la densit d'implantation sur les circuits imprims. Deux mthodes peuvent tre
utilises pour rduire le brochage des signaux logiques.
Comme nous lavons dj vu, il est possible de diviser par deux le nombre de broches pour l'adressage en chargeant successivement l'adresse de ligne puis l'adresse de colonne
(fig. 10). La mmoire a alors une organisation "carre", avec autant de lignes que de colonnes.Deux signaux (RAS : Row Address Strobe et CAS : Column Address Strobe) sont ncessairespour identifier et charger ces deux adresses dans deux registres internes (RAR : Row Address
Register et CAR : Column Address Register). Le contenu de ces registres est exploit
respectivement par les dcodeurs de ligne et de colonne. Pour accder plusieurs mots d'unemme ligne, il n'est pas ncessaire de charger l'adresse de la ligne chaque requte, il suffit de
modifier l'adresse de colonne, on parle alors d'accs en mode page.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 103
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
10/26
On peut galement tirer profit de ce qu'on n'effectue jamais une lecture et une crituresimultanment. Il est donc possible d'utiliser les mmes broches en lecture et en criture. Pour
cela on fait appel des portes "3 tats" (fig. 11). Ce dispositif est appel transceiver.
adresse RAR
CAR
RAS
CAS
dcodeurde ligne
dcodeurde colonne
Figure 10
broche E/S
validation criture
validation lecture
Figure 11
V.5. Les deux familles de mmoires vives
Pour raliser le point mmoire on dispose de deux techniques. On peut utiliser desbascules. Selon que sont utilises des bascules du type D ou R-S, il faut une ou deux lignes pour
amener le bit charger. Avec une seule ligne il faut un inverseur par point mmoire. Les bascules
garantissent la mmorisation de l'information aussi longtemps que l'alimentation lectrique estmaintenue sur la mmoire. Ces mmoires sont dites RAM statiques (SRAM).
Dans les RAM dynamiques (DRAM) l'lment de mmorisation est constitu par uncondensateur et un transistor effet de champ (gnralement ralis en technique MOS). Ce
transistor joue le rle d'un interrupteur command. L'information est mmorise sous la forme
d'une charge lectrique stocke dans le condensateur. Cette technique permet une plus grande
densit d'intgration, car un point mmoire ncessite environ deux quatre fois moins de place
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 104
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
11/26
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
12/26
amax
t
nB =
V.6.a Consommation d'une mmoire
Les constructeurs cherchent limiter la consommation des botiers de mmoire qui
peuvent tre nombreux dans un systme. Pour certaines mmoires on peut distinguer trois tats
avec chacun un niveau diffrent de consommation. L'tat actif correspond au cas d'une opration
de lecture ou d'criture. La puissance dissipe dpend du dbit. Dans l'tat inactif ou passif, lammoire alimente normalement n'est pas slectionne. Les commandes de lecture et criture
envoyes sur un botier non slectionn n'agissent pas. Les botiers qui consomment moins dans
cet tat sont dits "automatic power down". Dans l'tat de veille, la mmoire est alimente soustension rduite avec des batteries. Elle ne peut tre ni lue, ni crite. Elle se contente de conserver
son information : un circuit interne avec horloge et compteur permet un rafrachissement
automatique rgulier de toutes les cellules sans intervention externe. Cet tat permet de rduire la
consommation.
V.6.b Cycle de lecture
C'est le plus simple des cycles. La procdure, schmatise sur la figure 13, consiste :
- Etablir l'adresse;
- Afficher la fonction de lecture;
- Slectionner le ou les botiers ncessaires;- Aprs un certain dlai, l'information apparat sur la sortie qui passe en basse impdance.
L'information reste prsente jusqu' la fin du cycle.
Le dbut de la requte est dfini par ltablissement de ladresse. Cest par rapport cet instant
que sont mesurs temps daccs ta et temps de cycle tc.
Il s'agit uniquement d'un chronogramme de principe. La polarit, la dure de stabilit de chaque
signal, ainsi que les retards relatifs (ou phases) entre signaux sont prciss par le constructeur.
Lorsque les adresses de ligne et de colonne sont multiplexes celles-ci doivent trestabilises avant les signaux de chargement RAS et CAS respectivement. Le temps d'accs ta est
mesur partir du dbut de l'opration, mais on distingue deux autres temps d'accs mesurs
partir des fronts descendants des signaux RAS et CAS. Dans l'exemple illustr, la ligne R/W 1indique une fonction de lecture.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 106
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
13/26
HI HI
Adresse
Lecture
Slection
Sortie
tc
ta
Figure 13
Adresse
R/W
RAS
t c
ligne colonne
t a
HIHI
CAS
Sortie
ta(CAS)
ta
(RAS)
Figure 14
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 107
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
14/26
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
15/26
V.6.e Lecture ou criture en mode page
Le mode page concerne les mmoires avec multiplexage des adresses ligne et colonne. Au
cours de l'excution d'un programme, l'accs aux informations (instructions ou donnes) se faitplus souvent des adresses conscutives qu' des adresses isoles. L'accs en mode page permet
alors d'amliorer les temps d'accs. En effet lorsque l'adresse de la ligne (ou page) reste identique,il n'y a pas lieu de la prsenter nouveau. Dans un cycle en mode page, l'adresse de ligne est
charge une fois, chaque accs est ensuite dfini par l'adresse de colonne. Le temps du premieraccs est quivalent celui d'un accs alatoire. Il est appel latence. Par contre les accs suivants
sont plus rapides. La figure suivante illustre une squence de trois accs comprenant une criture
intercale entre deux lectures.
Adresse
R/W
RAS
CAS
Sortie
ligne col 1 col 2
Entre
col 3
HIHIHI D 3D 1
D 2
Figure 16
V.6.f Rafrachissement des mmoires dynamiques
Pour la plupart des mmoires dynamiques les adresses sont multiplexes. A chaque accs,en lecture ou en criture, chaque bit de la ligne dsigne est transfr en bas de colonne dans une
bascule. Ce transfert est initi par le front descendant du signal RAS. Les oprations effectives delecture ou d'criture se font au niveau de ces registres. Ceux-ci sont ensuite chargs dans la ligne
d'origine sur le front montant du signal RAS. En procdant ainsi on rafrachit la ligne adresse
chaque accs. Cela ne garantit pas un rafrachissement suffisant de l'ensemble de la mmoire. Il
est possible de dclencher le mme mcanisme de rafrachissement d'une ligne sans faire aucunaccs. Il suffit de prciser l'adresse de la ligne rafrachir puis d'activer une impulsion d'une
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 109
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
16/26
dure dfinie sur la ligne RAS. Par ailleurs les mmoires vives contiennent aussi un pointeurinterne sur la prochaine ligne rafrachir. Il est utilis en activant la ligne CAS avant la ligne
RAS.
Le mcanisme de rafrachissement des divers blocs mmoires est confi un contrleur.
C'est galement ce contrleur qui se charge de multiplexer les adresses.
V.7 Mmoire synchrone
Tous les accs tudis jusqu' prsent sont de type asynchrone. Ils peuvent intervenir tout instant et leur dure est fixe par les composants de la mmoire.
Ces dernires annes le foss entre la vitesse de fonctionnement des processeurs et lavitesse d'accs des mmoires n'a fait que crotre. La mmoire constitue aujourd'hui le goulot
d'tranglement des architectures. Les gains en performance sur la vitesse intrinsque des
composants sont relativement faibles. Les fabricants de mmoires jouent sur l'organisationlogique des accs. Nous en avons dj vu un exemple avec le mode page, dont de nombreuses
variantes ont t mises en uvre.
Un autre mode permet de rduire le temps ncessaire l'adressage des colonnes. Il s'agit
du mode d'accs en rafale (burst) qui concerne plusieurs colonnes conscutives. Un compteurinterne permet d'viter le temps ncessaire l'tablissement des signaux d'adresse et leur
chargement. Il suffit donc de prciser initialement l'adresse de dpart et le nombre de colonnes.
Dans un composant asynchrone l'incrmentation de ce compteur est provoqu par des cycles du
signal CAS.
Mais il est galement possible de faire appel un signal d'horloge. Nous obtenons alors
une mmoire synchrone (SDRAM pour Synchronous Dynamic Random Acces Memory). Cettesolution a pour avantage de simplifier la gestion de la mmoire. Ce qui permet un lger gain de
vitesse, mais aussi allge la conception du contrleur. Il est ainsi possible d'avoir un accs
chaque cycle d'horloge. Par contre le temps d'accs pour une seule donne n'est pas infrieur celui d'une mmoire asynchrone. Il peut mme tre plus important.
Pour parvenir suivre une frquence intressante les fabricants mettent galement en
uvre des techniques dj rencontres dans ce chapitre. Par exemple, l'intrieur d'un mmecircuit la mmoire est organise en deux blocs (ou plus) qui peuvent tre entrelacs. Cela permet
galement l'ouverture simultane de deux pages. Il est alors possible de passer d'une page une
autre sans ralentir la vitesse d'accs.
V.8 Gestion de la mmoire centrale
Au dbut de l'informatique les mmoires taient chres et de petites tailles. A cette poque
les programmeurs passaient l'essentiel de leur temps optimiser leur programme en fonction dela taille mmoire. On a ensuite pu utiliser une mmoire secondaire : bandes, tambours et disques.
Le programmateur divisait alors son programme en un certain nombre de morceaux appels
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 110
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
17/26
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
18/26
V.8.b Espace d'adressage
L'espace virtuel est le nombre de cellules mmoires qu'un programme peut adresser
directement. Ce nombre dpend du nombre de bits utiliss pour manipuler les adresses au niveaudes instructions. La mmoire physique disponible sur la machine peut avoir une taille diffrentede l'espace virtuel disponible pour chaque programme.
L'espace physique peut tre plus grand que l'espace virtuel. Dans cette configuration il estpossible de charger plusieurs programmes la fois. Lorsque le contrle de l'unit centrale passe
d'un programme l'autre, l'excution peut s'enchaner rapidement sans attendre le chargement du
nouveau programme depuis le disque. Comme l'unit centrale accde la mmoire par desadresses comptant un plus grand nombre de bits que les adresses manipules par le programme il
faut tre capable de "complter" celles-ci. Cela peut se faire grce aux registres de base dont nous
parlerons plus loin.
L'espace physique peut tre plus petit que l'espace virtuel, ce qui tait le cas lorsque le
principe de cette technique a t dvelopp. Il faut alors disposer d'un mcanisme capable decharger, un moment donn, les parties du programme ncessaires son excution. Ce
mcanisme est galement utilis dans des machines pour lequel l'espace physique est plus grand
que l'espace virtuel. Il permet en effet un partage plus efficace de la mmoire entre plusieursprogrammes concurrents.
V.8.c Principe de la sparation et de l'assemblage des adresses
Le principe de sparation/assemblage des adresses est le fondement de toutes les
techniques de gestion de la mmoire centrale. Une adresse peut toujours tre vue comme
l'assemblage d'un numro de bloc et d'un dplacement l'intrieur de ce bloc.
Une adresse de N bits permet de reprer 2N cases. On peut la sparer en un numro de bloc, codsur B bits (les bits de poids fort), et un numro de case dans le bloc sur N-B bits. Chaque bloc
comptera 2N-B cases et il y aura 2B blocs, donc toujours 2N cases au total.
Prenons un exemple numrique trs simple pour illustrer ce principe. Considrons une
mmoire comptant 16 cases, numrotes de 0 15. Les adresses permettant d'identifier les mots
dans cette mmoire ont 4 bits. Nous nous intressons la case d'adresse 13 (marque **** sur lafigure). En binaire nous avons 13 = (1101)2. Si nous divisons la mmoire en deux blocs de huit
mots, cette case 13 se situe l'adresse 5 du bloc numro 1 (6me
mot du 2me
bloc). Le numro debloc est donn par le bit de haut poids ( gauche) de l'adresse. Le dplacement dans le bloc est
donn par les trois bits de droite : (101)2 = 5. Nous pouvons galement diviser la mmoire en
quatre blocs de quatre mots. Le numro de bloc est alors donn par les deux bits de gauche
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 112
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
19/26
(11)2 = 3 et le dplacement par les deux bits de droite (01)2 = 1. La case 13 est en effet l'adresse
1 dans le bloc 3.
N-B bits
bloc de
2 mots
N-B
dplacementdans le bloc
B bits
numro de bloc
Figure 18
****
0
1
2
3
blocs de4 cases
blocs de8 cases
0
1
Figure 19
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 113
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
20/26
Ce principe est facile mettre en uvre au niveau du matriel : les B lignes du bus
d'adresse correspondant aux bits de poids fort sont connectes un registre de B bits et les N B
autres lignes sont commandes par un autre registre de N B bits. Ces registres peuvent tre
chargs indpendamment par l'unit de calcul des adresses effectives.
V.8.d Registre de base et pagination
Pour optimiser l'utilisation de tout ordinateur il est rapidement devenu indispensable de
pouvoir charger tout programme n'importe o en mmoire. Il faut donc un mcanisme permettant partir des adresses virtuelles de calculer les adresses physiques. Une des mthodes les plus
utilises est celle des registres de base qui existent dans presque tous les ordinateurs. Le
mcanisme est le suivant :
- Les programmes sont "relogeables" et toutes les adresses connues par le programmeur
sont virtuelles, relatives au dbut du programme l'adresse 0;- Un registre spcial de l'unit centrale, appel registre de base, contient l'adresse physique
du dbut du programme dans la mmoire;
- Chaque fois que l'on fait une rfrence la mmoire, on ajoute l'adresse virtuelle
trouve dans le programme le contenu du registre de base.
Un registre de base permet galement de construire des adresses physiques comptant unnombre diffrent de bits que les adresses virtuelles.
Pour obtenir une plus grande souplesse dans la gestion de la mmoire centrale, l'espacevirtuel de chaque programme est dcoup en blocs, tous de taille identique, les pages. L'espace
physique est dcoup en blocs (ou pages physiques) de mme taille que les pages de l'espacevirtuel. La longueur des pages est toujours une puissance de 2 ce qui facilite l'obtention del'adresse physique par assemblage binaire. Le mcanisme de gestion qui permet de passer d'une
adresse virtuelle une adresse physique dans un systme de pagination passe par la table des
pages. Les proprits de la table de pages sont les suivantes :
- Il y a une table des pages pour chaque programme;
- La table des pages contient une entre pour chaque page virtuelle du programme;
- Le dbut de la table des pages est charg dans un registre : le registre de base de la tablede pages (RBTP);
- Chaque entre de la table peut contenir :
. des bits de contrle : - page prsente en mmoire/page absente;- page modifie/non modifie;
- autorisation d'accs en criture;
- compteur d'utilisation;. deux adresses : - position de la page en mmoire secondaire (en gnral un
disque : unit, face, piste et secteur);
- numro du bloc de mmoire physique contenant la page, si la
page virtuelle est prsente en mmoire.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 114
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
21/26
Le registre de base et le registre de base de la table de pages font partie du contexte du
programme. La mise jour de la table des pages est assure par le systme. L'exploitation de
cette table pour le calcul de l'adresse physique peut tre effectue par le systme, mais celaconsomme une partie du temps CPU disponible. Pour librer le systme d'exploitation cette
gestion peut tre confie un circuit spcialis : unit de gestion de la mmoire (MMU : MemoryManagement Unit) intercale entre l'unit centrale et la mmoire.
Le mcanisme de gestion de la mmoire peut se dcomposer de la manire suivante :
1) L'adresse virtuelle est spare en deux parties :- numro de page virtuelle.
- dplacement dans la page : identique dans la page physique;
2) On ajoute le contenu du registre RBTP au numro de page virtuelle obtenu lors de l'tape 1.
Cela nous donne l'adresse de l'entre correspondante dans la table des pages.
3) On teste le bit de prsence :
a) La page est prsente. Le numro du bloc physique contenant la page est charg dans leregistre de base. L'adresse physique est calcule en assemblant le registre de base au
dplacement dans la page obtenu en 1 (fig. 20).
b) La page est absente. Il y a faute de page. L'adresse de la page en mmoire secondairepermet de chercher la page sur disque et de la charger en mmoire. La tche en incombe au
systme d'exploitation, qui alloue l'unit centrale un autre programme pendant ce temps.
Aprs chargement le numro du bloc physique contenant la page est plac dans la table des
pages. On est alors ramen au cas 3a.
Pour acclrer la phase 3.a il est possible d'utiliser une mmoire associative (cf. prochain
paragraphe) utilisant le numro de page virtuelle comme tiquette et fournissant en sortie lenumro de bloc physique. Cette mmoire associative ne contient alors que les pages en mmoire.
Si la recherche est infructueuse le systme utilise la table des pages.
Pour pouvoir charger une page en mmoire il faut disposer d'un bloc physique libre. Si ce
n'est pas le cas il faut dcharger une page (en premire approximation effacer le bit indiquant que
la page est en mmoire et effacer le numro du bloc physique correspondant). Plusieurs stratgiessont possibles : alatoire, FIFO ou LRU (cf : Systmes d'exploitation). Une solution consiste
remplacer la page la moins rcemment utilise (LRU : Least Recently Used). C'est le rle du
compteur associ chaque entre de la table des pages. Il indique la plus rcente rfrence la
page. D'autre part, si la page a t modifie il faut la sauvegarder en mmoire secondaire avant delibrer l'emplacement physique.
Le programme est crit comme s'il pouvait tre totalement contenu dans la mmoireprincipale, mme si ce n'est pas le cas. A la limite, le programmeur n'a pas besoin de savoir qu'il
y a une mmoire virtuelle : tout se passe comme si l'ordinateur tait dot d'une norme mmoire
principale. Le mcanisme de pagination est transparent, sauf au niveau des performances quidpendent de la charge du systme.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 115
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
22/26
Une autre fonction de l'unit de gestion de la mmoire consiste vrifier la cohrence des
attributs d'accs. Chaque tche possde des attributs : mode utilisateur, mode superviseur, etc Il
en est de mme pour les zones mmoires. On peut avoir :
- Lecture uniquement;- Superviseur uniquement;- Zone programme;
- Zone donne;
- etc
Si l'accs viole les attributs de la cible, la MMU doit interrompre la requte mmoire et engendrer
une condition d'erreur ou une interruption particulire appele exception.
1 0011011100 01110
0 1100100100
0 1000111000
1 0000011000 10010
1 0011101001 01101
0 0100001111
1 0110001110 00011
1 1001101100 01111
0011011000111001100
RBTP+
adresse virtuelle
prsenceen mmoire
adresse enmmoiresecondaire
numro debloc physique
01101 0011011000111001adresse physique
RB Figure 20
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 116
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
23/26
V.9 Mmoire associative
Une mmoire associative, ou mmoire adressable par le contenu, permet de chercher si
une information, appele descripteur ou clef, est contenue dans la mmoire et, dans cettehypothse de fournir une information associe. Le descripteur est compar simultanment tous
les mots de la mmoire associative. La figure 21 prsente le schma de principe d'une mmoireassociative. La figure 22 explicite les cellules de base des deux matrices. La matrice 2 peut tretrs semblable l'organisation des cellules dans une mmoire vive classique. Par contre la
matrice 1 remplace le dcodage des lignes.
CMatrice 1 Matrice 2
Registre D Registre A
Figure 21
La recherche en mmoire suppose le chargement pralable du descripteur dans le registre
D. Ensuite toutes les oprations s'excutent en parallle sur tous les mots, sous l'effet d'une seuleimpulsion C. Une cellule de la matrice 1 transmet l'impulsion C si le contenu du point mmoire
est identique au bit correspondant du registre D plac sur la mme verticale. Dans le cas contraire
l'impulsion C est arrte. En effet la sortie de la cellule i (et l'entre de la cellule i+1) nous
avons :)QDQD(CC jijjijji1ji + +=
Si on suppose qu'il y a dans la matrice 1 au plus une information identique celle du descripteur,
il sort de la matrice 1 au plus une impulsion C i qui dsigne le mot de la matrice 2 charger dans
le registre A.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 117
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
24/26
Q
QMi j
Ci j
Dj
Ci j+1
Q
QM'i j
Ci
Aj
Cellule de matrice 2Cellule de matrice 1
Figure 22
Une mmoire associative est souvent utilise pour la gestion de la mmoire centrale. Lesmmoires caches constituent un autre exemple d'utilisation des mmoires associatives.
V.10 Mmoire cache ou antmmoire
Le concept de mmoire virtuelle pagine peut tre vu comme un cache, la mmoire physique constituant un cache pour la mmoire secondaire. D'une faon gnrale, on appelle
cache tout dispositif matriel ou logiciel qui stocke dans une zone d'accs rapide une copie de
donnes en petite quantit choisies parmi des donnes qui sont stockes dans une zone d'accsplus lent.
Dans le cas de la pagination, la mmoire primaire est la mmoire physique et la mmoire
secondaire est l'espace sur disque. La mmoire physique ne contient, un instant donn, que lesseules pages du programme utilises rcemment. Dans le cas d'un cache-mmoire, la mmoire
primaire est une mmoire rapide, la mmoire secondaire est la mmoire principale de la machine.
Le cache-mmoire ne contient, un instant donn, que les copies de petits blocs de mots de lammoire physique rcemment rfrencs. Il y a cependant une nuance. Pour la pagination le
temps ncessaire au chargement d'une page partir du disque est long. Ce mcanisme est gr
par le systme et le programme en cours perd le contrle de l'unit centrale. Pour l'antmmoire
la gestion se fait uniquement au niveau du matriel et le programme en cours conserve la main.
On utilise pour les caches des mmoires statiques trs rapides. La mmoire cache permet
de combler en partie la diffrence entre les vitesses de l'unit centrale et de la mmoire. Ontrouve trs souvent deux niveaux de mmoire cache. Le premier niveau est intgr au processeur
et dispose d'un temps d'accs quivalent au cycle de fonctionnement de celui-ci. Le second
niveau est de plus grande taille mais plus lent. Une mmoire cache intgre au processeur, ou trsproche, est base sur une mmoire associative.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 118
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
25/26
Les statistiques ont montr que 80 90 % des programmes se trouvent dans des boucles.
C'est pourquoi une mmoire cache peut obtenir un taux de russite, probabilit de trouver
l'instruction dans le cache, de 70 90 %. L'emploi des mmoires caches est essentiel dans lesarchitectures RISC. Certains processeurs disposent de deux caches pour les instructions et les
donnes (architecture de Harvard).
Mme en dehors d'une boucle, comme le traitement des instructions est squentiel on a
intrt transfrer les instructions par blocs. On appelle un tel bloc une ligne, quivalente la
page entre mmoire et disque.
La figure 23 illustre le schma de principe d'une architecture avec hirarchisation de la
mmoire. L'intgration sur une mme plaquette silicium s'tend peu peu. Elle peut aller
aujourd'hui jusqu'au cache de niveau 2.
unit degestionmmoire(MMU)
cacheniveau 2
cacheniveau 1
mmoirecentrale
disqueunitcentrale(CPU)
adressesvirtuelles
bus d'adresse
bus de donnes
Figure 23
V.11 Mmoire file ou FIFO
Il existe un autre type de mmoire vive : la file d'attente ou FIFO. Cette abrviation
signifie First In First Out, soit premier entr premier sorti.
Une file dispose de deux bus de donnes distincts en entre et en sortie. L'accs n'est pas
alatoire, l'ordre en sortie est identique celui en entre. Il n'y a pas d'adressage. L'utilisateur peutcrire dans la FIFO si le premier tage est libre et lire la FIFO que si le dernier tage est occup.
Une file est constitue de n registres dcalage comptant chacun m cases. Le nombre n
correspond la largeur des mots, alors que m est la profondeur de la file ou sa capacit. Un
registre interne indique l'tat (libre ou occup) de chacun des tages. La logique de contrledcale automatiquement chaque tage occup vers un tage libre.
S. Tisserant ESIL Architecture et Technologie des Ordinateurs - 2003 119
8/8/2019 Architecture et Technologie des Ordinateurs - 5 - Mmoires vives
26/26
Logique de contrle
ns
orties
n
entres
sortie occupeentre occupe
Figure 24