Telechargé par s.kouadri

Chapitre 02 - RAM

publicité
3. Introduction sur les mémoires RAM
3.1
Introduction
3.2
Déroulement des opération de lecture et d’écriture
17
3.3
Capacité d’une MC
18
3.4
Conception d’une mémoire centrale
18
3.5
Partage de la mémoire centrale
20
3.6
Mémoires vives RAM
23
3.7
Static RAM
24
3.8
Cellule mémoire SRAM
25
3.9
Dynamic RAM
27
3.10
Organisation
29
Dans les premiers ordinateurs, la forme la plus courante de stockage à accès aléatoire pour la
mémoire principale de l’ordinateur utilisait un réseau de boucles ferromagnétiques en forme
de beignets, appelées tores. Par conséquent, la mémoire principale était souvent appelée
tore, un terme qui persiste encore aujourd’hui. L’avènement de la microélectronique, et les
avantages qu’elle procure, ont depuis longtemps fait disparaı̂tre la mémoire à tore magnétique.
Aujourd’hui, l’utilisation de puces à semi-conducteurs pour la mémoire principale est presque
universelle. Les principaux aspects de cette technologie sont examinés dans ce Chapitre.
3.1
Introduction
Dans les premiers ordinateurs, la forme la plus courante de stockage à accès aléatoire pour
la mémoire principale de l’ordinateur utilisait un réseau de boucles ferromagnétiques en
forme de beignets, appelées tores. Par conséquent, la mémoire principale était souvent appelée tore, un terme qui persiste encore aujourd’hui. L’avènement de la microélectronique,
et les avantages qu’elle procure, ont depuis longtemps fait disparaı̂tre la mémoire à tore
magnétique. Aujourd’hui, l’utilisation de puces à semi-conducteurs pour la mémoire principale est presque universelle. Les principaux aspects de cette technologie sont examinés
dans ce Chapitre.
15
15
16
3.1. Introduction
Figure 3.1: Diagramme d’une mémoire à tores magnétiques de 4 x 4 bits
X0
X1
X2
Z
X3
S
Y0
Y1
Y2
Y3
Figure 3.2: mémoire à tores magnétiques
3.1.1
Structure générale de la mémoire centrale
La mémoire centrale est formée de trois composantes :
1. La logique d’adressage des mots : elle permet de retrouver l’emplacement d’un mot
en memoire, à l’aide de son adresse. Elle est composée :
• RAM (Registre Adresse Mémoire) pour contenir l’adresse de mot.
• Décodeur : Une logique de décodage des adresses
2. Les circuits de stockages : c’est un ensemble de cellules mémoires capables de stocker
l’information.
3. La logique d’entrée /sortie : elle est composée :
• Un registre RIM (Registre Information Mémoire) qui stocke l’information lue
ou à écrire
17
Chapter 3. Introduction sur les mémoires RAM
• Des circuits d’entrée/sortie
Figure 3.3: Structure générale de la mémoire centrale
Bus de commande
Décodeur
Bus d'adresse
RAM
}
Logique d'adressage
Logique de
stockage
Amplificateur
de
lecture/écriture
}
Logique d'entrée/sortie
RIM
Bus de données
3.1.2
Les bus de la mémoire centrale
La communication avec les autres organes du calculateur se fait à l’aide de trois types de
signaux. Ces signaux sont véhiculés par des lignes regroupées en bus.
On distingue trois principaux bus :
1. Le bus d’adresses :Il regroupe toutes les lignes d’adresse nécessaires à la sélection du
boitier mémoire et du mot à lire ou à écrire. Puisqu’il ne véhicule que des adresses, il
est unidirectionnel. Il est formé de M fils permettant l’aacès à 2M mots mémoire.
2. Le bus de données : Il véhicule les données en lecture ou en écriture. Il est birectionnel
puisqu’il doit véhiculer les données en lecture ou en écriture.
3. Le bus de commandes : Il comprend généralement les signaux de lecture/écriture.
R/W ou W E
3.2
Déroulement des opération de lecture et d’écriture
3.2.1
Opération de lecture dans une mémoire centrale
1. L’unité centrale commence par charger, dans le RAM, l’adresse en mémoire du mot à
lire.
2. Elle lance la commande de lecture à destination de la mémoire.
3. L’information est, au bout d’un délai égal au temps d’accès, placée dans le RIM d’où
l’unité centrale peut alors la récupérer.
18
3.3. Capacité d’une MC
3.2.2
Opération d’écriture dans une mémoire centrale
Pour une opération d’écriture, les étapes suivantes sont nécessaires :
1. Charger dans le RAM l’adresse du mot ou se fera l’écriture.
2. Placer dans le RIM l’information à écrire.
3. Il ne reste plus alors à l’unité centrale qu’à lancer une commande d’écriture qui aura
pour effet de transférer l’information contenue dans le RIM vers le mot en mémoire
centrale.
3.3
Capacité d’une MC
Si on considère que k est la taille du bus d’adresses ( taille du registre RAM) et n la taille
du bus de données ( taille du registre RIM ou la taille d’un mot mémoire ). Alors, on peut
exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en bits.
La capacite = 2k Mots memoire
La capacite = 2k ∗ n bits
3.4
(3.1)
Conception d’une mémoire centrale
Lors de la conception d’un circuit mémoire, on peut être confronté au problème suivant :
On veut construire une mémoire M de taille m X n (m mots de n bits), mais nous disposons
que des circuits mémoires M’de capacité m’ x n’ et de taille inférieure à la mémoire M.
Figure 3.4: Conception de circuits mémoire à l’aide de composants standards
M'
m'
M
m
n'
n
Solution
Une approche générale consiste à construire un réseau P X Q où :
• P est le facteur d’extension de mot est égale P=[m/m’]
• Q est le facteur d’extension de bit est égale Q=[n/n’]
Pour sélectionner les composants on utilise les bits de poids forts d’adresses. Si P est le
facteur d’extension lignes alors on prend k bits tel que P = 2k .
Les autres bits d’adresses restants sont utilisés pour sélectionner un mot dans un composant.
19
Chapter 3. Introduction sur les mémoires RAM
Exemple 3.1 Réaliser une mémoire de 1024 octets ( la taille d’un mot est de 8 bits) en
utilisant des composants mémoires de taille 256 mots de 8 bits ?
Solution
R/W
CS
8 bits
D70
D70
CS
A98
D70
CS
D70
CS
A70
8 bits
D70
Exemple 3.2 On veut réaliser une mémoire de 1K mots( la taille d’un mot est de 16
bits) en utilisant des composants de taille 1K mots de 4 bits ) ?
D150
R/W
CS
D1512
CS
D118
CS
CS
D74
D30
A 09
9 bits
16 bits
20
3.5. Partage de la mémoire centrale
Exemple 3.3 On veut réaliser une mémoire de 1K mots ( la taille d’un mot est de 16
bits) en utilisant des composants de taille 256 mots de 8 bits ) ?
R/W
CS
CS
CS
CS
A
9
16 bits
D7 0
D158
D150
8
D7 0
D158
CS
D7 0
D158
CS
A70
8 bits
D158
3.5
Partage de la mémoire centrale
3.5.1
Architecture mono-processeur
CS
CS
D7 0
Dans une architecture mono processeur :
• Le processeur à l’exclusivité d’accéder à la mémoire.
• Le rendement de l’UC n’est conditionné que par le temps d’accès à la MC.
• Une mémoire lente pénalise le rendement de l’unité centrale.
3.5.2
Architecture multiprocesseur
Dans une architecture multiprocesseur :
• Plusieurs processeurs qui fonctionnent en parallèle ( en même temps ),
• Il est possible que deux processeurs ou plus demandent simultanément l’accès à la
mémoire.
• Si la mémoire est structurée en un seul bloc alors un processeur peut monopoliser la
MC.
• Ceci peut engendrer un temps d’attente important pour les autres processeurs à la
mémoire et un effondrement du rendement de l’UC
21
Chapter 3. Introduction sur les mémoires RAM
Figure 3.5: Mémoire partagée entre plusieurs processeurs
Mémoire
centrale
Processeur1
3.5.3
Processeur2
Processeur3
Solution 01 : Partager de la mémoire centrale en plusieurs modules
Découpage modulaire de la mémoire centrale
• Plusieurs bus permettent d’accéder simultanément (en même temps) à la MC.
• Possible d’avoir autant d’accès que de modules.
• On ne peut pas accéder simultanément à un module.
Figure 3.6: Mémoire partagée en plusieurs modules
Module1
Module2
Processeur1
3.5.4
Processeur2
Module3
Processeur3
Solution 01 : Sélection d’un mot dans une architecture modulaire
L’adresse de la mémoire centrale est scindée en deux parties :
• Les bits de poids forts permettent la sélection d’un module.
• Les bits de poids faibles utilisés pour sélectionner un mot dans un module.
22
Décodeur
3.5. Partage de la mémoire centrale
0
...
2p
p
Module 0
Module 1
Module 2
p-1
2p-1
3p-1
Bus de données
Bus d'adresse dans le module
Numéro du module
3.5.5
adresse du mot dans le module
Solution 01 : Réalisation d’une architecture modulaire
Exemple 3.4 (Exemple) Réaliser une mémoire de capacité 512 mots de 8 bits découpée
Décodeur
en 04 modules.
128 CS
256 CS
384 CS
Module 0
Module 1
Module 2
Module 3
127
255
383
511
0 CS
Bus de données
A 87
Numéro du module
3.5.6
A 60
D0 7
Bus d'adresse dans le module
adresse du mot dans le module
Solution 01 : Inconvénient de l’architecture modulaire
Un module peut être monopolisé par un seul processeur lors de l’execution d’un programme.
3.5.7
Solution 02 : Entrelacer les adresses de la mémoire centrale
Découpage de la mémoire centrale en Blocs
• La mémoire est divisée en plusieurs Blocs
• les adresses consécutive ne sont pas placées dans le même bloc.
• les adresses consécutive sont placées dans des bloc consécutifs
• Le nombre de blocs représente le degré d’entrelacement.
0
3
Bloc 0
3p
1
4
2
5
Bloc 1
Bloc 2
3p+1
3p+2
23
Chapter 3. Introduction sur les mémoires RAM
Solution 02 : Sélectionner un mot dans une MC entrelacée
L’adresse de la mémoire centrale est scindée en deux parties :
• Les bits de poids faibles permettent la sélection d’un bloc.
• Les bits de poids forts utilisés pour sélectionner un mot dans un module.
Adresse du mot
dans le bloc
Décodeur
Numéro du bloc
0
1
2
Bloc 0
Bloc 1
Bloc 2
p-1
p
p+1
...
Bus de données
Bus d'adresse dans le bloc
Exemple 3.5 Exemple
Réaliser une mémoire de capacité 256 mots de 8 bits avec un degré d’entrelacement de
4.
A2
Numéro du bloc
7
A 01
Décodeur
Adresse du mot
dans le bloc
0
1
2
3
Bloc 0
Bloc 1
Bloc 2
Bloc 2
252
253
254
255
Bus d'adresse dans le bloc
D0 7
Solution 02 : Inconvénient d’une MC entrelacée
Ce type de mémoire présente un inconvénient, si une panne survient dans un bloc, elle rend
la totalité de la mémoire inutilisable vu que les programmes sont répartis sur l’ensemble des
blocs de la mémoire. La solution est de diviser la mémoire en plusieurs modules à l’interieur
desquels les adresses sont entrelacées (le module partagé en blocs).
3.6
Mémoires vives RAM
RAM (Random Access Memory). Il s’agit de la mémoire la plus classique de l’ordinateur
(aussi appelée ” mémoire vive ”). Elle constitue la grande majorité de la mémoire principale.
Les mémoires vives peuvent être accessibles en lecture et écriture. Elles sont connues sous le
terme générique de RAM (Random Access Memory) littéralement ”mémoire à accès aléatoire
24
3.7. Static RAM
” parce que l’on peut accéder à n’importe quel emplacement de la mémoire – et non pas
parce qu’on y accède au hasard ! L’inconvénient des mémoires vives est en principe leur
volatilité, une coupure de courant faisant disparaı̂tre l’information. L’initialisation et les
modifications de l’information se font grâce au courant électrique.
La technologie de la RAM se divise en deux technologies : dynamique et statique.
3.6.1
Les caractéristiques de la RAM
Les mémoires vives RAM présentent les caractéristiques suivantes :
• Ce sont des mémoires sur lesquelles les opérations de lecture et d’écriture sont possibles.
• Ce sont les mémoires dites RAM (Random Access Memory), où le temps d’accès est
indépendant de la place de l’information dans la mémoire.
• Elles sont volatiles et le risque de perte d’informations est non négligeable (microcoupures de l’alimentation).
• Le temps d’accès est très faible (mémoire rapide) et la consommation électrique est
faible.
• Elles sont essentiellement utilisées en tant que mémoire centrale et mémoires caches.
3.7
Static RAM
Définition 3.1 (Définition d’une SRAM) Les informations sont mémorisées par des bascules et elles sont conservées tant que l’alimentation est présente. Ces mémoires sont
rapides, mais de capacité limitée.
25
Chapter 3. Introduction sur les mémoires RAM
3.8
Cellule mémoire SRAM
La principale différence entre les mémoires SRAM et DRAM tient à la maniéré dont leurs
cellules binaires sont construites. Comme le montre la figure 3.7, les cellules binaires de
SRAM sont constituées de deux inverseurs montés tête bêche.
Une fois q’une valeur a été placée dans la cellule binaire, la structure en anneau des deux inverseurs permet de conserver indéfiniment la valeur, parce que l’entrée de chaque inverseur
est l’opposée de celle de l’autre. Voilà pourquoi les SRAM sont appelées RAM statique.
wordline
Q
Q
bitcell
bitline
bitline
Figure 3.7: Cellule binaire d’une SRAM
Une cellule mémoire est réalisée par l’usage de la technologie MOS (Métal Oxyde Silicium)). Un inverseur en technologie MOS, exploite deux transistors comme le montre la
figure 3.8a. Donc la cellule mémoire SRAM, nécessite en total 04 transistors (voir Figure
3.8b).
Ligne de mot
VSS
Vcc
M5
M4
M6
E
E
G :Grille
S : Source
D : Drain
M2
G
S
M1
D
VDD
(a) Un inverseur en MOS
Ligne de bit
M3
Ligne de bit
(b) Cellule mémoire SRAM en MOS
Figure 3.8: Cellule mémoire SRAM en MOS
26
3.8. Cellule mémoire SRAM
3.8.1
Représentation logique d’une mémoire SRAM
m0
R0
m1
R1
Bus d'adresses
19 bits
Bus de Données
08 bits
mi
Ri
m219-1i
R
Ecriture
CS
3.8.2
219-1
Lecture
R/W
Représentation symbolique d’une mémoire SRAM
Figure 3.9: Représentation symbolique d’une mémoire SRAM
Bus d'adresse
SRAM
@
CS
3.8.3
D
Bus de données
R/W
Comment calculer le débit d’une RAM ?
Définition 3.2
Debit = f requence de la memoire ∗ taille Data bus
(3.2)
27
Chapter 3. Introduction sur les mémoires RAM
3.8.4
Opérations de lecture et d’écriture dans une cellule SRAM
Opération de lecture
Si désir réaliser une opération de lecture ou écriture dans une cellule SRAM, il faut tout
d’abord la sélectionner à partir de fil de mot qui ’est connecté à deux transistors qui joue le
rôle de deux intercepteurs.
-Lors de lecture une tension donnée est présente sur le fil de mot qui rend les deux transistors
de sélection passant M6 et M5 (voir Figure 3.10).
-le contenu de la cellule est récupéré dans le fil de bit.
Figure 3.10: Lecture d’une cellule SRAM
Ligne de mot
Vcc
M5
M2
M1
Ligne de bit
M4
M6
M3
Ligne de bit
Opération de lecture
-Pour effectuer une opération d’ecriture, une tension adaptée (par exemple 5volts pour coder
un ”1” et 0 volt pour coder le ”0”) est d’abord positionné sur le fil de bit.
Le cellule est ensuite sélectionnée comme pour une opération de lecture.L’etat présent sur
les fils de bits est alors mémorisé dés que le cellule n’est plus sélectionnée.
3.9
Dynamic RAM
28
3.9. Dynamic RAM
Définition
3.3 Définition d’une DRAM Les informations sont mémorisées par des
condensateurs. Il faut procéder à un rafraı̂chissement périodique à cause des courants
de fuites. Ces mémoires disposent d’une plus grande capacité, mais elles sont plus
lentes.
La DRAM nécessite un rafraı̂chissement toutes les 2 à 4 ms. (certaines même à 16 ms)
Ceci est dû au mécanisme de stockage. Les données sont stockées sous forme de
charge sur un condensateur. Ce condensateur n’est pas parfait, c’est-à-dire qu’il se
décharge au fil du temps via le transistor d’accès.
Le rafraı̂chissement se fait automatiquement lors d’une lecture ou d’une écriture.
Des circuits internes se chargent de rafraı̂chir les cellules qui ne sont pas accédées
pendant cet intervalle.
3.9.1
Cellule binaire d’une DRAM
Au lieu d’une paire d’inverseurs, c’est cette fois un condensateur qu’est utilisé pour stocker
les données, Chaque inverseur requiert deux transistors pour un total de six transistors dans
la cellule binaire. A la différence, une cellule binaire DRAM ne requiert qu’un seul transistor
et un seul condensateur,comme le montre la figure 3.11, ce qui prend moins de place sur la
puce.
Figure 3.11: Cellule binaire d’une DRAM
Ligne de bit
Ligne de mot
Condensateur
Ligne de bit
Ligne de mot
Condensateur
Comparateur
3.9.2
Opérations de lecture et écritures dans les DRAM
Pour effectuer une opération de lecture, le condensateur est déchargé dans la ligne de bit
lors la cellule est sélectionnée.
Chapter 3. Introduction sur les mémoires RAM
29
L’infomation est alors comparée à une référence pour déterminer sa valeur binaire.
En effet, la lecture décharge les condensateurs (elle est destructive) donc une opération de
réécriture nécessaire après cette dernière.
Pour effectuer une opération d’écriture, l’information est d’abord placée sur la ligne de bit.
la cellule est ensuite sélectionnée à travers la ligne de mot.
Le transistor devient passant, permettant la charge de condensateur (écriture d’un ”1”) ou
sa décharge (écriture d’un ”0”) selon la tension présente sur la ligne de mot.
3.9.3
Rafraı̂chissement de DRAM
Les DRAM sont appelées RAM dynamiques parce que les valeurs stockées dans chaque cellule binaire ne sont pas stables. Au bout d’un certain temps, la déperdition de courant
amènera la décharge stockée dans le condensateur à s’épuiser. Pour éviter que le contenu
d’une DRAM ne se perde, la mémoire doit être rafraı̂chie. L’opération de rafraı̂chissement
consiste à lire le contenu de chaque cellule binaire dans une rangée de la matrice de cellule binaire, puis à écrire la même valeur à nouveau dans les cellules afin de les ramener à
la valeur d’origine. L’une des spécifications que doivent indiquer les puces DRAM est leur
temps de rafraı̂chissement, qui indique la durée pendant laquelle une rangée peut n’être
pas rafraı̂chie sans risquer de perdre son contenu.
3.10
Organisation
L’élément de base d’une mémoire à semi-conducteurs est la cellule de mémoire. Bien qu’une
variété de technologies électroniques soient utilisées, toutes les cellules de mémoire à semiconducteurs partagent certaines propriétés :
• Elles présentent deux états stables (ou semistables), qui peuvent être utilisés pour
représenter les 1 et 0 binaires.
• Elles sont capables d’être écrites (au moins une fois), pour fixer leur état.
• Elles sont capables d’être lues pour détecter leur état.
On distingue trois modes de rafraichissement afin d’éviter le conflit d’accès simultané à la
mémoire centrale entre l’unité centrale et la logique de rafraichissement utilisée :
Rafraichissement groupé : Dans ce mode, la priorité est accordée à la logique de rafraichissement. L’unité centrale ne peut pas accédée avant que le contenu de toutes les cellules ne
soient régénérées.
Rafraichissement transparent : Dans ce mode, la priorité est donnée à l’unité centrale.
Le rafraichissement est effectué pendant les périodes ou l’unité centrale n’accède pas à la
mémoire centrale.
Rafraichissement par vol de cycle(Cycle Steal Refresh) : le cycle de rafraichissement est
divisé en plusieurs laps de temps égaux. Durant chaque laps de temps, une seule ligne à la
fois est rafraichie. Donc l’accès à la mémoire centrale par l’unité centrales, s’effectue entra
deux opérations de rafraichissements successives.
3.10.1
SRAM versus DRAM
Les RAM statiques et dynamiques sont toutes deux volatiles, c’est-à-dire que la mémoire
doit être alimentée en permanence pour préserver la valeur des bits.
30
3.10. Organisation
Une cellule de mémoire dynamique est plus simple et plus petite qu’une cellule de
mémoire statique. Ainsi, une DRAM est plus dense (cellules plus petites = plus de cellules par unité de surface) et moins chère qu’une SRAM correspondante. En revanche, une
DRAM nécessite un circuit de rafraı̂chissement. Pour les mémoires plus grandes, le coût
fixe du circuit de rafraı̂chissement est plus que compensé par le coût variable plus faible
des cellules DRAM. Ainsi, les DRAM ont tendance à être privilégiées pour les besoins de
mémoire importants. Un dernier point est que les SRAM sont un peu plus rapides que les
DRAM. En raison de ces caractéristiques relatives, la SRAM est utilisée pour la mémoire
cache (à la fois sur et hors puce), et la DRAM pour la mémoire principale.
Chapter 3. Introduction sur les mémoires RAM
archi.bib
31
Téléchargement