Comprendre la mémoire
Introduction
Vous voici à présent dans la 2ème partie de l’article ´ Comprendre la mémoire ´. Si vous
n´avez pas lu la première, je vous invite à le faire rapidement afin que vous ayez une vue
générale des différentes familles de mémoires existantes.
Cette partie est destinée à expliquer les principaux éléments techniques des mémoires.
Toutefois, je me suis essentiellement limité aux SDRAM, car d´une part, il n´est pas
envisageable d´être exhaustif, d´autre part, les principaux concepts liés à cette mémoire se
retrouvent dans les mémoires de nouvelle génération.
Comment fabrique-t-on une mémoire ?
1) On fabrique d´abord un composant DRAM
- On prend une grille composée de quelques milliers de lignes et de colonnes.
- A chaque intersection de ligne et de colonne, on implante un composant électronique de type
condensateur-transistor.
- On relie les lignes et les colonnes de la grille à des composants qui décoderont les
informations provenant du microprocesseur.
- On moule le tout dans un matériau protecteur.
(exemple d´un schéma représentant l´intérieur d´un composant DRAM - shéma -)
2) On fabrique ensuite une barrette :
- On assemble les composants DRAM, par groupe de 2, 4, ..., jusqu´à 32, sur une petite plaque
nommée PCB (Printed Circuit Board - circuit imprimé).
- La barrette est choisie en fonction du type de connecteur (DIMM, SIMM ou RIMM) dont on
souhaite disposer.
Remarques :
- Lorsque l´on met un seul composant de type condensateur-transistor aux intersections de la
grille, on fabrique une DRAM de type 1 bit. Aujourd´hui, les DRAMS sont de type 4, 8 ou 16
bits, c´est-à-dire qu´à chaque intersection, on dépose 4, 8 ou 16 composants de type
condensateur-transistor.
- La grille correspond à un banc. Dans les DRAM utilisées pour les SDRAM ou DDR-RAM,
le nombre de grilles (donc de bancs) est de quatre.
- Ne confondez pas les bancs pour barrette mémoire qui correspondent à des connecteurs
situés sur la carte mère de votre ordinateur, et les bancs internes composant une DRAM.
Comment fonctionne une mémoire ?
La mémoire est accédée soit par le microprocesseur (Athlon, Pentium III, ...), soit par des
processeurs comme celui de la carte graphique, carte sonore, etc... Deux types d´accès ont
lieu : lecture ou écriture. Pour accéder à la mémoire, un processeur doit envoyer 3
informations correspondant à l´adresse de la donnée : (Banc, ligne, colonne, en anglais : bank,
raw, col).
- Le n° du banc (ou grille)
- Le n° de la ligne
- Le n° de la colonne
La méthode d´accès à la mémoire:
- La mémoire reçoit un premier signal spécifiant le n° du banc et de la ligne (RAS).
- La mémoire reçoit un second signal (après une certain temps = RAS to CAS) spécifiant le n°
de la colonne.
- La mémoire accède à la donnée de la colonne (CAS)
- Les données sont envoyées dans les buffers (Tac).
- Le processeur récupère les données, pendant ce temps la mémoire se prépare à recevoir de
nouveaux ordres (RAS précharge)
Auto-configuration : le SPD
Sérial Presence Detect est une technologie qui permet à un ordinateur de reconnaître
automatiquement les bons paramètres de fonctionnement d´une mémoire SDRAM. Ces
paramètres sont des valeurs liées au fonctionnement interne de la mémoire. Elles sont
contenues dans une EEPROM située sur la barrette mémoire, et peuvent être lues par le BIOS
de l´ordinateur.
Voici les définitions :
- CAS : Column Access Strobe : C´est le temps minimum nécessaire pour accéder à une
colonne d´un banc (grille).
- RAS to CAS : Row Access Strobe to CAS : C´est le temps minimum qui sépare l´accès
d´une ligne à une colonne.
- RAS précharge : C´est le temps minimum qui sépare deux signaux RAS
- Il est possible de régler manuellement ces paramètres pour obtenir les meilleures
performances. Vous pouvez essayer les valeurs suivantes pour chacun des paramètres cité
: dans l´ordre 3-3-3 le plus sûr mais le plus lent, 3-2-2 classique, 2-2-2 le meilleur mais
toutes les mémoires ne l´acceptent pas.
Remarques :
- ai défini l´acronyme AS de CAS et RAS comme Access Strobe, mais vous trouverez
aussi Adresse Select, ou Adresse Strobe. Strobe peut être traduit par impulsion. Dans tous
les cas, ces paramètres correspondent au temps nécessaire d´établissement d´un signal
électrique qui active tel ou tel élément dans un composant DRAM.
- Vous trouverez normalement les mots CAS ou RAS, écrits avec une barre au dessus. C´est
leur formulation exacte.
Explication des paramètres internes
- Les paramètres CAS latency, RAS to CAS, et RAS précharge reçoivent des valeurs allant
de 2 à 3. Mais à quoi correspondent ces valeurs ?
- CAS = Tcac / Tclk
- Tclk = 1 / Fréquence du bus. Pour un bus à 100 Méga-hertz, Tclk = 1/100000000 = 10
nano-secondes.
- Tcac = Time to columm access (temps d´accès à la colonne) sa valeur varie de 10 à 30
nano-secondes.
Exemple :
- Si on prend Tcac = 25 nano-secondes et un bus = 100Mhz, alors CAS = 25 /10 = 2,5. Les
valeurs devant toujours être entières, on arrondit au chiffre supérieur, donc CAS = 3
- RAS to CAS = Trcd / Tclk
- Trcd = Time Ras to Cas Delay. Prend des valeurs de 10 à 30 nano-secondes et se calcule
comme dans l´exemple de CAS.
- RAS précharge = Trp / Tclk
- Trp = Time Ras Précharge. Prend des valeurs de 10 à 30 nano-secondes et se calcule
comme dans l´exemple de CAS.
- Il existe un autre paramètre très important qui, contrairement à ceux cités ci-dessus, n´est
pas modifiable.
- Tac = Time Access Clock.
- C´est le temps nécessaire à la mémoire pour accéder à l´horloge afin d´envoyer une
information. Vu sous un autre angle, c´est le temps nécessaire à la mémoire pour préparer
une information destinée à être envoyée sur le bus de communication.
Les différents Tac :
- - PC100 : Tac = 6 nano-secondes.
- - PC133 : Tac = 5,4 nano-secondes.
- Le temps d´accès maximum à une SDRAM est environ : Tcac + Trcd + Trp
- Notez que pour des valeurs Tcac, Trcd, Trp constantes, le temps d´accès augmente quand
on augmente la vitesse du bus.
Fréquence et débit d´une mémoire
- Le débit d´une mémoire est dans la plupart des cas liés à sa fréquence de fonctionnement.
C´est le cas, en particulier, des mémoires synchrones (voir ‘Comprendre sa mémoire 1 -
les familles´). A chaque top de l´horloge, un paquet d´informations est envoyé. Pour la
SDRAM, ces paquets sont de 64 bits et pour la RAMBUS de 16 bits. Une mémoire
SDRAM à 133 Mhz peut débiter un maximum de 133 millions d´informations par
seconde, soit :
- - 133000000 * 64 = 8512000000 bits/s.
- - Ou encore 1064000000 octet/s. (1 octet = 8 bits)
- Par contre, une mémoire DDR-SDRAM cadencée à 133 Mhz peut débiter 266 millions
d´informations par seconde, soit 2128000000 octet/s. La particularité de cette mémoire est
d´envoyer 2 paquets d´information à chaque top de l´horloge.
- Il ne faut pas confondre fréquence de fonctionnement et débit. Ainsi, la SDRAM tout
comme la DDR SDRAM fonctionnent à 133 Mhz, mais cette dernière offre pourtant une
bande passante double.
- Pour résumer, le débit d´une mémoire en bits peut se calculer de la sorte :
- Débit = Fréquence (Hz) * Taille d´un paquet (Bits) * Nombre de paquets envoyés par
cycle
La technique de pagination
- La pagination vise à améliorer les débits d´une mémoire lorsque les informations accédées
sont contiguës. Pour se faire on organise les informations stockées en page.
- Une page contient autant d´informations qu´il y a de colonnes dans une grille, soit de 2048
à 8192 colonnes avec les composants DRAM actuellement. Le nombre de pages est égal
au nombre de lignes.
Comment ça marche ?
- Avec des mémoires sans pagination il faut préciser, pour chaque données, son numéro de
ligne et de colonne. Avec la pagination on ne donne qu´une seule fois le numéro de la
ligne (ou page). La mémoire a ainsi moins de travail à exécuter et l´accès aux
informations est plus rapide.
Pourquoi ça marche ?
- La technique de pagination n´est efficace que si les données auxquelles on accède sont
contiguës. On pourrait croire qu´on a autant de chance pour que la prochaine information
soit ou ne soit pas contiguë à la précédente. C´est faux, statistiquement vous avez
beaucoup plus de chances pour que la prochaine information soit contiguë à la précédente.
C´est pour ça que cette technique est si efficace.
Un peu d´histoire
- La première mémoire à avoir utiliser avec succès la pagination a été la FPM (1992), d´où
son nom (Fast Page Mode - Pagination rapide)). Ensuite la mémoire EDO (1995), qui
n´apportait qu´une amélioration de la pagination de la FPM. L´EDO est aussi appelé HPM
(Hyper Page Mode - hyper pagination). La SDRAM (1997), quant à elle, apporte l´ultime
amélioration au procédé avec le burst mode. Nous verrons plus loin pourquoi.
Vitesse de Pagination
- Pour calculer la vitesse de pagination d´une mémoire, on indique le temps d´accès aux
quatre premières informations d´une page, en nombre de cycles d´horloge. Voici les
vitesses classiques de mémoire avec pagination :
- - FPM : 5-3-3-3
- - EDO : 5-2-2-2
- - SDRAM : 5-1-1-1
- A présent, nous allons essayer de calculer la vitesse de débit d´une mémoire paginée.
Deux cas extrêmes se présentent. Soit toutes les données se trouvent sur des pages
différentes (vitesse minimum), soit toutes les données se trouvent sur la même page
(vitesse maximum).
- Pour calculer ces vitesses, il nous faut :
- - Le nombre de cycle mémoire à chaque accès d´une donnée Cy.
- - La fréquence de fonctionnement de la mémoire qui nous fournit le nombre de cycles que
la mémoire peut traiter en 1 seconde : Fq
- - Le nombre d´octets envoyés par cycle : Oc
- On obtient la formule suivant : Débit = (Fq / Cy) * Oc
- Pour les calculs qui suivent, nous prendrons une mémoire SDRAM de 100 Mhz. Une
SDRAM envoie 8 octets à chaque cycle, car elle est composée de 8 composants DRAM
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !