1

Index

1 : introduction CHAPITRE 1 1.1. La Logique programmable :««««««««««««««««4 1.2. les PLDs)«««««««««««««««««««««««.4 1.2.1) Concept de base«««««««««««««««««««««4 1.2.2) Les différents types de PLDs ««««««««««««««««.6 A) PROM: Programmable Read Only Memories««««««««««««6 B) PLA: Programmable Logic Array. «««««««««««««««..6 C) PAL: Programmable Array Logic««««««««««««««««7 2).LES MÉMOIRES «««««««««««««««««««««.7

2.1) Terminologie des mémoires««««««««««««««7 2.2) Fonctionnement d·une mémoire électronique: ««««««««8 2.3) caractéristiques :««««««««««««««««««9 2.4) Architecture des mémoires :««««««««««««««..10 2.5) Signaux de commande des mémoires parallèles :«««««««..11 2 2.6) Signaux de commande des mémoires sérielles (protocole I C-Bus) :«.11 3) Types de mémoires«««««««««««««««««..11
3.1) Mémoires vives : RAM «««««««««««««««««««11 3.2) SRAM ««««««««««««««««««««««««.12 a) Tableau d·utilisation des RAM««««««««««««««««.16 b) Tableau d·utilisation des RAM dans les ordinateurs««««««««..16 3.3) Contraintes :««««««««««««««««««««««17 3.3.1. Les courants de fuite««««««««««««««««««.17 3.3.2.) La stabilité«««««««««««««««««««««..18

2

3.3. 2.1) Marge de bruit statique :«««««««««««««««.18 3.3.2. 2 ) Itrip/Iread «««««««««««««««««««..20

4. Techniques de niveau Circuit de réduire la puissance en Caches«.22 4.1 Mise à l'échelle de tension««««««««««««««22 4.2 Technique Replica«««««««««««««««««22 4.3 Les cellules SRAM Dual-Vt 23 4.4-Gated Vdd«««««««««««««««««««.24 5.DRAM««««««««««««««««««««..26 Chapitre 2.LES SDRAM «««««««««««««30
2.1 Architecture««««««««««««««««««««31 2.2 Les Commande«««««««««««««««««««32 2.3 Les contraintes de temps«««««««««««««««34 3. Efficacité de la mémoire«««««««««««««««.35 3.1 Efficacité des données«««««««««««««««.35 3.2 Efficacité de la Banque«««««««««««««««..36 3.3 Efficacité de commutation««««««««««««««.36 3.4 Efficacité d·Actualisation««««««««««««««..36 4. Contrôleurs de mémoire :«««««««««««««««.37 4,1 Arbitre«««««««««««««««««««««38 4,2 mappage de mémoire««««««««««««««««..38 4.2.1 Carte de mémoire continue««««««««««««««38 4.2.2 Carte Mémoire entrelacement«««««««««««««39 4,3 générateur de commande«««««««««««««««.39 5).Les générations des SDRAMs : ..40

5.1.SDRAM (DRAM synchrone)«««««««««««««««40

3

5.2. DDR SDRAM (parfois appelée DDR1) ..40 5.3. DDR2 SDRAM ..40 5.4. DDR3 SDRAM ..41 5.5.DDR4 SDRAM (proposé)«««««««««««««..42

4

Les memoires statiques ET dynamiques

1 : introduction

1. La Logique programmable :
Pourquoi des circuits programmables ?  En Logique standard ² la fonction figée par le constructeur

² intégration faible ² coût faible ² disponibilité immédiate  En Logique programmable ² fonction à programmer par l·utilisateur ² intégration élevée ² coût ? ² Temps de développement nécessaire ‡ ASIC ² à développer par le concepteur ² très grande intégration ² coût important ² temps de développement important 2. les PLDs) L'apparition des circuits logiques programmables PLD (Programmable Logic Devices) a considérablement bouleversé la conception des systèmes numériques Électroniques. Grâce à cette technique, il est maintenant possible de résoudre un Problème numérique avec un minimum de circuits intégrés et un maximum de Flexibilité. La personnalisation d'une application est maintenant possible sans pour Autant redévelopper la partie matérielle, donc à moindre frais. 2.1) Concept de base La plupart des PLDs sont constitués de deux réseaux de portes logiques, un réseau

5

AND suivi d'un réseau OR. Les équations des fonctions programmées sont écrites sous la forme min terme ou somme de produits. -Convention de notation La structure des PLDs étant très différente de celle des portes TTL ordinaires, de nouvelles notations logiques ont été développées.

fig2      La porte AND est appelée une ligne de produits. Les lignes verticales sont les entrées du PLDS Les X représentent des fusibles. Les fusibles relient les entrées du PLD aux entrées de la porte AND Lors de la programmation d'un PLD un fusible indésirable est ouvert et le "X" disparaît.

Exemple

fig3

6

2.2) Les différents types de PLDs
Nous pouvons citer trois types de base de PLDs:
A) PROM: Programmable Read Only Memories.

Ce sont des PLDs en lecture seule, qui peuvent servir à stocker des programmes fixes ou être utilisées pour des applications logiques. Dans ce cas, le réseau AND est fixe et le réseau OR est programmable.

fig4

B) PLA: Programmable Logic Array.
Les deux réseaux AND et OR sont programmable.

fig5

7

2.2.3) PAL: Programmable Array Logic. Réseau logique programmable
Le réseau AND est programmable et le réseau OR est fixe.

fig6

2).LES MÉMOIRES
Une mémoire est un composant qui permet le stockage de données numériques, Par exemple un programme.

2.1) Terminologie des mémoires 

Bit : ¶Binary digit·, c·est l·unité logique ; il peut prendre la valeur 1 ou 0.  Cellule mémoire : Cellule électrique qui stocke un seul bit. Exemple : bascule, condensateur, point aimant able sur bande ou disque magnétique.

8 

Mot mémoire : Groupe de bits correspondant à une instruction ou à une donnée. Par exemple un registre formé de 8 bascules peut être considéré comme un mot mémoire de 8 bits. La longueur des mots s·échelonne habituellement de 4 à 128 bits Selon le type de microprocesseur.  Octet (byte ) : Mot de 8 bits. C·est la longueur de mot la plus usuelle.  Capacité : Quantité de bits que la mémoire peut mémoriser. 6 6 Exemple1 : une mémoire de 4 Mbytes mémorise 4 ‡10 ‡ 8 = 32 ‡10 bits. Exemple2 : une mémoire de 4096 mots de 14 bits mémorise 57344 bits.  Adresse : Nombre permettant de localiser physiquement un mot en mémoire.  Temps d·accès : Durée pour faire une opération de lecture, ce temps est désigné pat tACC

2.2) Fonctionnement d·une mémoire électronique
Les mémoires sont des circuits intégrés de forte densité d·intégration capables de stocker de l·information sous forme binaire. Elles sont réalisées en technologie bipolaire ou CMOS. Il y a, en ce qui concerne leur organisation, deux grandes familles : les mémoires à accès parallèle ou sériel. Dans les mémoires sérielles il existe plusieurs protocoles de communication, les plus répandus étant I C-Bus, SPI-Bus, Microwire-Bus. vcc
Bus d Adresses
Bus de données Mémoire parallèle
2

cs
R/W

OE Gnd

Fig8

9

vcc
clk
Mémoire sérielle (I2C-BUS)

sérial Data et Adr In/Out chip enable fig9

GND

2.3) caractéristiques

Mémoire parallèle

Mémoire sérielle

Avantages

Grande capacité. très rapide

Encombrement très réduit. nécessite peu de signaux de commande. Bonne immunité aux parasites

Inconvénients

Encombrement.necéssite beaucoup de signaux de commande

Très lente

10

2.4) Architecture des mémoires

FIG 10

Cette architecture est présente aussi bien dans une mémoire parallèle que dans le c ur d·une mémoire sérielle.

11

2.5) Signaux de commande des mémoires parallèles

Fig10

2.6) Signaux de commande des mémoires 2 sérielles (protocole I C-Bus)

Fig11 3)Types de mémoires vives

3.1) Mémoires vives : RAM
SDRAM (Synchronous Dynamic RAM)

RAM = Radom Access Memory », c.-à-d. mémoire à accès aléatoire. Cette appellation qui paraît désuète aujourd·hui rappelle que les RAM furent les premières mémoires à accès aléatoire contrairement aux bandes magnétiques par exemple qui ont un accès purement séquentiel.
 

12

Les RAM sont des mémoires vives dans lesquelles on peut lire ou écrire des données. Elles servent au stockage temporaire d·informations numériques. Leur contenue peut changer continuellement à mesure de l·exécution du programme. Elles doivent donc être rapides pour ne pas ralentir le fonctionnement de l·ordinateur. Ce sont des mémoires dites volatiles car elles perdent leur contenu aussitôt que l·on coupe leur tension d·alimentation. Il arrive assez fréquemment que l·on utilise une pile ou une batterie pour éviter de perdre leur contenu à la mise hors tension. C·est le cas par exemple pour la mémoire de l·horloge interne des ordinateurs personnels. On rencontre deux grandes familles de RAM : les RAM statiques appelées SRAM et les RAM dynamiques appelées DRAM.

3.2) définition de SRAM
Les SRAM (statique Random Access Memory) sont des mémoires qui conservent leur information indéfiniment aussi longtemps qu·elles sont alimentées. Elles peuvent être fabriquées en technologie bipolaire ou MOS, quoique la majorité se trouve en technologie MOS. Les bipolaires sont plus rapides mais consomment plus et sont de moins grande capacité à surfaces de silicium égales. Dans le cadre de ce cours nous étudierons les RAM en technologie NMOS et CMOS Dans cette technologie Q1 à Q6 sont des transistors NMOS (tous les transistors sont des MOS canal-N). On a donc Q3 et Q4 montés en résistances ce qui entraîne une consommation en courant relativement importante. Fig12

SRAM en technologie TTL

13

fig12
Les opérations de lecture et écriture se font en ouvrant Q5 et Q6 par la ligne de mot (Word Line). Lors de l·écriture on vient forcer la gate de Q2 à travers Q5 respectivement celle de Q1 à travers Q6. L·utilisation de la technologie CMOS (Complementary MOS) permet de supprimer le principal défaut de cette cellule SRAM, à savoir sa consommation en courant. Les tensions sont stables aussi longtemps que l·alimentation est présente. Montage amélioré : Dans cette technologie Q1 et Q2 sont des transistors NMOS ; Q3 et Q4 sont des PMOS. Q1 et Q4 conduisent alors que Q2 et Q3 sont bloqués ou inversement. On n·a donc aucune consommation de courant statique. CMOS = Complementary Metal Oxyde Semi-conducteur », on utilise donc à la fois des transistors MOS canal-N et des MOS canal-P. Les SRAM sont les mémoires les plus rapides que l·on trouve sue le marché. Quelque soit le type de mémoire, les cellules sont organisées en matrice XY. Une cellule est repérée par son numéro de ligne et son numéro de colonne qui constitue ce qu'on appelle l'adresse de la cellule. L'exemple de Fig. 13 illustre l'exemple d'une mémoire 16 bits, organisée en 4 lignes et 4 colonnes. En utilisant des décodeurs, on a besoin de deux bits d'adresse A1A0 Pour sélectionner une ligne, et de deux bits d'adresse A3A2 pour sélectionner une colonne, soit une adresse globale de 4 bits. Donc en général pour une mémoire de capacité N bits, il faut n bits d'adresses tels que N=2 n . Un décodeur est un circuit numérique qui a n entrées d'adresse et N = 2n sorties. Les entrées d'adresse permettent de sélectionner une seule sortie. Selon la nature du décodeur utilisé, la sortie sélectionnée passe à l'état logique "1" ou "0", toutes les autres sorties sont dans l'état logique contraire.
¡

14

Fig. 13: structure matricielle Le schéma de Fig. 13 illustre l'exemple d'une RAM Statique 16 bits organisée en matrice 4 x 4. Si on applique une adresse A3A2A1A0 = 0110. A1A0 = 10 La sortie 2 décodeur colonne est mise à "1" ce qui rend T7 et T8 conducteurs, on a accès à toutes les cellules de la (double) colonne n° 2 (2, 6, 10 et 14). Or,. A3A2 =01 La ligne 1 est mise à "1", seul le contenu de la cellule 6 est connectée à la double colonne n° 2 qui L·achemine vers la sortie à travers les transistorsT7 et T8. L'écriture se fait de la même façon en utilisant les lignes et D comme entrées. En fait, En utilise une seule entrée de lecture/écriture grâce au circuit illustré sur Fig. 4.6 qui utilise des Circuits à logique 3 états pour contrôler la lecture et l'écriture. Pour écrire, on fait W=1, R=0, les buffers d'écriture sont validés, alors que l'ampli de lecture est déconnecté. Pour la lecture on fait R=1, W=0, les buffers d'écriture son déconnectés, et l'ampli de lecture est validé.

15

Fig. 14: RAM statique 16 bits organisée en matrice 4 x 4

16

a) Tableau d·utilisation des RAM

b) Tableau d·utilisation

des RAM dans les ordinateurs

17

3.3) Contraintes : 3.3.1. Les courants de fuite Le courant de fuite dans un MOSFET dépend de différents paramètres du procédé, la taille de transistor et l'état de repos du circuit. Cette fuite sous-seuil peut être modélisé par le canal Court isolé de Berkeley de transistor a effet de champ modèle (BSIM) d·après l·équation : (2.1) Où : (2.2) Et :  (2.3)

Dans ces équations VTH0 est la tension de polarisation de seuil nulle,  est le coefficient d· effet d'organe linaire, représente l'effet de VDS sur la tension de seuil, est le zéro de seuil de mobilité, n est le fluctuation de coefficient sous-seuil , est la capacité d'oxyde - grille, k est la constant de Boltzmann, q est la charge de l'électron, T est la température en degrés Kelvin et W et Leff sont la longueur et la largeur effective du transistor respectivement . Un procédé permettant de réduire les courants de fuite est d'empiler les transistors en série. L'empilement des transistors peuvent diminuer exponentiellement les fuites de sous seuil de deux façons. D'abord les n uds de sources des transistors empilés ne sont plus à la terre, VSB devient plus grande, ce qui augmente le seuil effectif de tension donc en abaissant le courant de fuite. Deuxièmement, une faible tension

18

inverse (VGS) rend ces transistors bloqués, ce qui réduit la tension de conduite effective sur la grille, et diminue à nouveau le courant de fuite dessous- de seuil.

3.3.2.) la stabilité
La stabilité des cellules SRAM détermine son doux taux d'erreur et sa sensibilité aux processus de tolérances et conditions de fonctionnement. Dans de nombreux cas, la stabilité de la cellule est un facteur critique pour obtenir un rendement souhaité et de réduire le coût de la puce. De différents tests et des méthodes existent qui tentent de saisir les différents aspects de la stabilité de la cellule. Deux de ces méthodes, la marge de bruit statique (SNM) et iTrip / Iread . 3.3.2.1) Marge de bruit statique : Les bruits statiques sont des perturbations DC telles que les compensations et les inadéquations en raison de variations de processus et les changements dans les conditions de fonctionnement. Le SNM d'une cellule SRAM est la valeur maximale des perturbations DC qui peut être toléré avant que la valeur de la cellule est stockage. Fig. 17.1) montre les éléments de stockage de la cellule SRAM où le bruit statique de sources, Vn sont inclus explicitement. Le SNM des cellules SRAM peut être déterminés graphiquement par le dessin et la mise en miroir les caractéristiques de tension des inverseurs et trouver la place plus grande possible entre eux comme indiqué sur la figure. 15.3. (Vright et Vleft) dans la Fig. 15.2 sont les tensions d'entrée des inverseurs haut et bas sur la Fig. 2,2 respectivement.) Le SNM peut être considéré comme la tension de bruit nécessaire à chacun des n uds de stockage de cellules de décaler la courbe de deux cellules inverseurs horizontalement ou verticalement de sorte qu'ils se croisent en un seul point, où la cellule ne peut plus fiable de stocker une valeur. Le SNM est mesurée au cours de la lecture, car la cellule est le plus vulnérable lorsque les transistors sont conducteurs.

19

Figure 15.1: cellule SRAM

Figure 15.2: deus inverseurs comprenant une cellule SRAM où la tension statique de bruit source sont inclus

20

Figure 15.3: SNM d'une cellule SRAM lors de l'accès en lecture

3.3.2. 2 ) Itrip/Iread
Une autre mesure de la stabilité SRAM est Itrip/Iread Itrip est le courant mesuré par pull-down NMOS lorsque l'état de la cellule est en train de s'inverser en injectant un courant externe Itest. Itrip est mesurée en utilisant la le schéma représenté sur la figure. 18). Dans le schéma de test Vdrop émule la ligne binaire excessive les fuites qui peuvent causer de la tension de lignes de bits à diminuer lorsque toutes les cellules qui partagent les lignes de bits sont les même, que la cellule en cours de lecture, organiser un 1», comme le montre la figure. 19) .
¢

21

Vdrop est inclus depuis une réduction de la tension aux stockées '1 'qui dégrade le courant d'amortissement et de de la capacité de pull-down NMOS, qui abaisse iTrip. Iread est le courant maximum à travers le transistor passe sur le '0 stockées »côté de la cellule lors d'une lecture. Des valeurs plus élevées de Itrip/Iread indiquent une plus grande stabilité depuis plus de courant est nécessaire pour faire basculer l'état de la cellule.

fig16

fig17

22

4. Techniques de niveau Circuit pour réduire la puissance en Caches
Les paragraphes suivants seront en revue les recherches précédentes dans la réduction de la la consommation de puissance dynamique et statique de SRAM et ceci basé sur des techniques au niveau circuit.

4.1 Mise à l'échelle de tension
En faisant varier la tension et la fréquence d'horloge à la demande, la mise à l'échelle de tension dynamique tente de fournir des performances élevées lorsque cela est nécessaire et la faible consommation d'énergie aura lieu pendant les périodes de veille. Comme l'énergie dynamique est une fonction de la tension d·alimentation au carré, (à savoir Pd V2 DD) la diminution de la tension d'alimentation peut réduire la consommation d'énergie dynamique de façon spectaculaire. Un microprocesseur avec mémoire cache est mis au point où l'impact d'une tension d'alimentation est mesurée sur l'évolution des cellules SRAM et sur les amplificateurs de détection. la consommation d'énergie varie de 0.54mW/MIP en mode veille pour 5.6mW/MIP lorsque le processeur était en marche a sa grand vitesse.

4.2 Technique Replica

En raison de la variabilité de la tension de seuil des transistors en raison de variations de processus, les marges de grand retard doivent être conçus dans des tableaux SRAM [AH98]. Ces grandes marges devenaient la source d'inefficacité de puissance le long de la ligne de bits et à travers l'amplificateur de lecture. Pour minimiser la puissance consommée sur les lignes de bits et le sens amplificateurs en utilisant une approche d'auto-chronométrée. Auto-synchronisation est on utilisé des impulsions de mots des lignes pour limiter les bits au minimum requis par les amplificateurs de détection et de l'horloge de l·amplificateur de détection et de réduire le temps qu'ils sont sur ON. Cependant, cette approche ne fait rien pour limiter la dissipation de puissance statique de grandes cellules SRAM.

23

4.3 Les cellules SRAM Dual-Vt
En raison de l'utilisation inévitable de transistors à faible tension de seuil a la vitesse critique vers les microprocesseurs, il résulte un écart entre le retard dans la logique des microprocesseurs et le délai de R/W des mémoires. Cette divergence nécessité l'utilisation de dispositifs à faible Vt dans le cache, mais cette utilisation de dispositifs à faible Vt causes des fuites excessives et une réduction de la stabilité des cellules SRAM. Différentes cellules SRAM à double-Vt sont étudiées pour les fuites, les performances et la stabilité. la compensation de l·instabilité se fait selon la sur la Fig. 18) les ou les cellules sont fabriques par la composition symétrique des transistors. Les cellules double-Vt composer une continuité entre la haute performance, et la forte dissipation de puissance statique d'une cellule SRAM.

Fig. 18

24

4.4-Gated Vdd
L·empilement des transistors peuvent efficacement réduire le courant de fuite de transistor. Soit un transistor NMOS supplémentaire a inséré entre la masse et la SRAM (comme on le voit sur la figure. 18), ou un supplément de transistor (PMOS) est inséré entre l'alimentation et le transistor PMOS SRAM. Quand le signal de commande gated Vdd bloque le transistor, le courant de fuite est réduit en raison de l'effet d'empilement. Le transistor de blocage est partagée entre de nombreuses cellules SRAM, et la mémoire cache peut effectivement être désactivée, ce qui réduit la consommation d'énergie de fuite.

25

Fig18.1

Fig18.2

26

5) DRAM :ram dynamique L'information est stockée dans une capacité de structure qui en fait la capacité parasite grille substrat d'un transistor MOS. Le "1" logique correspond à la capacité chargée et le "0" logique correspond à la capacité déchargée. La cellule de mémorisation de base peut alors être réalisée de Façon simplifiée par rapport à celle des mémoires statiques comme cela est illustré sure la figure Fig. 19 Cependant, si cette structure occupe peut de place, elle n'a par contre pas d'état stable car la capacité à tendance à se décharger dans la résistance de fuite associée a la capacité. Il faut donc Constamment rafraîchir la mémoire, pour cela on lit la cellule à intervalle régulier (quelques millisecondes) et on réinscrit son contenu. Pour cette raison, la mémoire est dite dynamique. Les mémoires dynamiques sont environ 4 fois plus denses que les mémoires statiques de même technologies mais plus délicates d'utilisation. ‡ Ecriture : W=1, T1 conduit Si Din = 0 C est déchargée Si Din = 1 C est chargée ‡ Lecture : W=0, R=1, T3 conduit - Si C chargée T2 conduit Dout = 0 - Si C déchargée T2 bloqué Dout = 1 Remarque ‘—– Din

Fig. 19 : principe d'une cellule DRAM

27

Fig. 20 : Cellules de mémorisation d·une RAM dynamique

Fig21

28

Remarque le transistor (T) est un MOS

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énients : 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. Ce rafraîchissement indispensable a plusieurs conséquences : - il complique la gestion des mémoires dynamiques car il faut tenir compte des actions de rafraîchissement qui sont prioritaires. - la durée de ces actions augmente le temps d'accès aux informations. D·autre part, la lecture de l·information est destructive. En effet, elle se fait par décharge de la capacité du point mémoire lorsque celle-ci est chargée. Donc toute lecture doit être suivie d·une réécriture. 6). Conclusions: En général les mémoires dynamiques, qui offrent une plus grande densité d'information et un coût par bit plus faible, sont utilisées pour la mémoire centrale, alors que les mémoires statiques, plus rapides, sont utilisées lorsque le facteur vitesse est critique, notamment pour des mémoires de petite taille comme les caches et les registres. Remarques : Voici un historique de quelques DRAM qui ont ou sont utilisées dans les PC :

29

‡ La DRAM FPM (Fast Page Mode, 1987) : Elle permet d'accéder plus rapidement à des données en introduisant la notion de page mémoire. (33 à 50 Mhz)

‡ La DRAM EDO (Extended Data Out, 1995) : Les composants de cette mémoire permettent de conserver plus longtemps l'information, on peut donc ainsi espacer les cycles de rafraîchissement. Elle apporte aussi la possibilité d·anticiper sur le prochain cycle mémoire. (33 à 50 Mhz)

30

Chapitre 2.LES SDRAMs

Avant les SDRAMs, les données étaient stockées dans des anneaux magnétiques, qui stockent les bits selon la polarité de champ magnétique. Cette technologie a été lente et coûteuse, et donc Robert Dennard a commencé la recherche d'un type de mémoire plus rapide chez IBM en 1967. Son idée c·est pour améliorer cet ancien modèle il développe une cellule de mémoire qui a été composé d'un transistor et condensateur, où la valeur d'un bit est stocké sous forme de charge dans le condensateur. Aujourd'hui, les SDRAMs sont utilisés dans une grande variété de systèmes tels que les ordinateurs personnels, les automobiles et les téléphones mobiles. Ils sont utilisés dans de nombreux endroits en raison de leur rapport coûtefficacité dans le stockage des données volatiles, ainsi que leur vitesse. Plusieurs modifications ont été apportées à la mémoire SDRAM pour améliorer son efficacité. Les plus importants d'entre eux était l'introduction des DDR SDRAM. Mémoires DDR qui fournie un mot de l'information deux fois par cycle d'horloge, doublant ainsi le taux maximal de transfert de données. Exemple : une SDRAM (PC133) fonctionne a 133MHZ or une DDRSDRAM (133) fonctionne à 133x2=266MHZ. ‡ La Synchronous DRAM (SDRAM, 1997) :

La mémoire SDRAM a pour particularité de se synchroniser sur une horloge. Les mémoires FPM, EDO étaient des mémoires asynchrones et elle induisait des temps d'attentes lors de la synchronisation. Elle se compose en interne de deux bancs de mémoire et des données peuvent être lues alternativement sur l'un puis sur l'autre de ces bancs grâce à un procédé d'entrelacement spécial. Le protocole d'attente devient donc tout à fait inutile. Cela lui permet de supporter des fréquences plus élevées qu·avant (100 Mhz).

31

‡ La DDR-I ou DDR-SDRAM (Double Data Rate Synchronous DRAM, 2000) : La DDR-SDRAM permet de recevoir ou d'envoyer des données lors du front montant et du front descendant de l·horloge. (133 à 200 MHz)

2.1 Architecture Un dispositif SDRAM est composé de plusieurs banques. Chaque banque contient un tableau de cellules de mémoire, avec un buffer, comme le montre la figure 2.1. Quand une requête entrante est envoyée à la SDRAM, l'adresse est décodée dans l·adresse de la banque, adresse de rangée, et adresse de colonne de la carte mémoire. Si la demande est une lecture, puis la ligne de données des cellules spécifiées par l'adresse est chargée dans le buffer. Une fois c·est fait, les données peuvent alors être lues par une ressource externe. Inversement, si la demande est une écriture, l'adresse est décodée comme avant, mais les données sont envoyées dans le buffer. Après le chargement des données dans la mémoire tampon l'écriture est finie, ils sont réservés dans les cellules de la mémoire réelle. L·Utilisation d'une architecture parallélisme à haut degré de banque permet l'accès aux SDRAM. Chaque banque peut être considérée comme une mémoire distincte qui partage leurs broches des sorties. Chaque banque peut être préparée pour la lecture et l'écriture dans un mode pipeline, ce qui augmente la bande passante. Et la consommation est diminue. Il ya deux types de bus dans la mémoire SDRAM qui permettent d'interagir avec les autres composants. Le premier est le bus de commande, entrant dans la SDRAM qui est utilisé pour spécifier le type d'action qui doit être effectué la SDRAM. Le second bus responsable au partage des buses de données bidirectionnel. La table (2.1) montre une mémoire typique DDR SDRAM

32

fig(2.1) architecture de banks d·une SDRAM
NOMBRE DE BANKS capacitié longueur de mot Bits de collone Bits de ligne 4 OU 8 256MB-8GB 4,8,18 bits 10 15

Table 2.1 :

2.2 Les Commandes Afin d'interagir avec la mémoire SDRAM, certaines commandes Plus important sont utilisés. Ces commandes permettent de lire les données de la mémoire et à l'écrit à la mémoire, ainsi quelques commandes auxiliaires qui sont nécessaires au bon fonctionnement. Activer une commande c·est prend une ligne et d'adresse de la banque comme argument, puis charge la ligne spécifiée à la banque désignée dans le buffer. Une fois les données ont été chargées dans la mémoire tampon de ligne, il est autorisé à modifier ou à lire. La commande de lecture pour récupérer un paquet de données à partir d'une ligne activée, et une commande d'écriture envoie une rafale de données à la ligne activée. Cette utilisation de ces deux commandes est la façon dont les données ne peuvent être transférés vers ou à partir de la mémoire. La commande de pré charge est l'inverse de la commande activé. Il accepte une adresse de ligne et de la Banque, et engage le tampon de ligne dans la banque spécifiée dans la

33

ligne indiquée dans le tableau de cellules. C·est un cas particulier concernant les commandes de la lecture et d'écriture comme indique ci-dessous, elles peuvent être combinées avec un auto-pré chargé. Le mode de fonctionnement de l'auto-pré chargé s·effectue après une commande de lecture ou d'écriture à la mémoire, la banque sera pré chargée automatiquement à la première occasion sans commande explicite. Un exemple de la boucle d'activer-pré chargé est illustré à la figure 2.2. au faite que les bits dans une mémoire SDRAM sont représentés par une charge dans un condensateur,( les condensateurs ne sont pas parfaits et la fuite de charge augmente après un laps de du temps )

Figure 2.2 activation et pré chargement d un SDRAM

Un mécanisme pour valider la conservation des données est nécessaire. Par conséquent, une commande d'actualisation a été conçue. Cette commande rafraîchit» les données stockées dans les tableaux de cellules de mémoire de la banque en rechargeant les condensateurs qui stockent les données. Cette commande ne peut être délivrée que si toutes les banques dans la mémoire ont leur ligne tampons pré chargée. Il ya de nombreuses contraintes de temps, comme nous le verrons dans la section suivante, qui empêchent les deux commandes d'être exécutés directement l·une après
£

34

l'autre. Ce qu·il nécessite une commande NOP (no opération) . Ces commandes permettent essentiellement à la mémoire de ralentir et attendre une autre commande. Pour plus de précisions dans les chiffres, les commandes NOP sont présentées comme des blancs. Les autres commandes sont abrégées comme suit: y Activer (banque, ligne)=ACT-BANK y Lecture (banque, ligne, colonne)=RD -BANK y Ecrire (banque, ligne, colonne)=WR -BANK y Rafraichie=REF y Pré chargé (banque, ligne) =PRE-BANK
ACT0 RD0 ACT 1 PRE 0 RD 1 PRE 1

Fig. 2.3 Exemple de séquence de commandes 2.3 Les contraintes de temps Il ya des contraintes de temps et de nombreux paramètres qui limitent les commandes autorisées à un moment donné. Une liste de paramètres de ces contraintes temporelle est décrite parmi Les caractéristique d·une telle SDRAM. Quatre des contraintes et des paramètres sont mises en évidence dans la figure 2.4. Lorsque nous voulons envoyer une commande activate à deux banques différentes, Le tRRD indique le temps qui doit s'écouler après le premier activer a été exécutée jusqu'à ce que le second peut être exécuté. Le tRCD spécifie le temps montant minimum entre une commande d·activation et une lecture ou d'écriture. Le BurstSize se réfère au nombre de mots envoyées ou reçues par la mémoire pendant la lecture ou l·écriture, il est utilisée pour déterminer la granularité d'un accès à la mémoire. Le Débit de données est le nombre de mots sur le bus de données par cycle d'horloge.
ACT 0 ACT 1 RD 0 RD1

35

ACT 0

ACT 1

RD 0

RD1    

Figure 2.4: Exemple d'exigences de paramètres.

tRRD, tRCD, BurstSize.

Comme on le voit dans la figure 2.4, la deuxième active ne peuvent être étalées qu·après un temps tRRD de cycle a partir de la première activation, La commande de lecture de la banque 0 doit être effectuée après tRCD cycles après l·activation de la banque 0. Le délai minimal entre les commandes de lecture est spécifiée tel que nous devons assurer une nouvelle commande de lecture ne pas interrompre les données déjà mises sur le bus de données par une commande précédente de lecture. contrainte tCK tRC tRCD tRRD tRP DDR2-400 ns 5 5.5 1.5 7.5 15 cc 1 11 3 2 3 DDR3-1600 ns 1.25 45 10 6 10 cc 1 36 8 5 8

3. Efficacité de la mémoire 3.1 Efficacité des données L·efficacité des données est la quantité des données demandées par un élément par rapport au montant réel des données renvoyées par le contrôleur de mémoire. Elle est définit par
±

±   ±  

± 

± 

±

± 

A titre d'exemple, nous examinons la figure 3.1 et d'assumer un demandeur veut lire 6 mots. Toutefois, la granularité de cette mémoire est telle qu'elle fournit 4 mots par rafale de lecture.

36

Afin de fournir des 6 mots pour le demandeur, 2 commandes de lecture doit être envoyé. Par conséquent edonnées dans ce cas est 6 / 8, ou 75%.
Bus de ACT0 commande Bus de données RD0 RD0

00 00 00 00 00 00 00 00

Temps Figure 3.1: Représentation visuelle de l'efficience du secteur bancaire.

3.2 Efficacité de la Banque Le temps nécessaire pour accéder à une cellule de mémoire est très variable pour les SDRAM. Si une commande de lecture est envoyée à une banque qui compte actuellement une autre ligne déjà activé, le contrôleur doit tout d'abord de pré chargé la ligne actuelle, et activer la nouvelle ligne, puis envoyez la commande de lecture. Cette pénalité est capturée dans l'efficacité de la Banque. Elle est définit comme 
  ±

3.3 Efficacité de commutation SDRAM nécessite un temps de tampon entre une commande de lecture et d'écriture, de telle sorte que la direction du bus de données peut être inversée. Il en résulte souvent des cycles où les données ne peuvent être sur le bus. Ainsi, nous devons profiter de cette baisse de l'efficacité en compte par comparaison de la différence entre le temps de commande pris pour une lecture et d'écriture, par rapport au temps prises pour une lecture et d'écriture, 3.4 Efficacité d·Actualisation Chaque SDRAM doit être actualisé périodiquement afin de maintenir l'intégrité des données stockées. Toutefois, pour un rafraîchissement de se produire, toute activité doit cesser, et toutes les banques doit être pré chargée. la perte de temps introduite par la commande d'actualisation tref., et tperiod est la période pendant laquelle rafraîchit sont exécutées. Elle est définit par

37

°
4. Contrôleurs de mémoire :

±

Un contrôleur de mémoire est l'interface entre une mémoire SDRAM et le système. C·est une unité séparée, le système n'a pas besoin de s'inquiéter en utilisant une SDRAM aux contraintes ou d·autres détails spécifiques d'une SDRAM , et peut traiter simplement l'appareil général comme une mémoire. Plus précisément, un contrôleur mémoire est responsable des tâches suivantes: ‡ Cartographie Mémoire ‡ Génération de commandes ‡Planification de commande

Figure 4.1: Architecture d'un contrôleur mémoire. Le contrôleur fonctionne d'abord en accepter certaines demandes à partir de blocs IP externe, et puis de les stocker dans des tampons. Les adresses sont ensuite translatées dans un espace d'adressage au moyen d'une carte mémoire, après ils sont prévus par l·arbitre, et converti en commandes de la mémoire par le générateur de commande. La réponse de la mémoire est alors renvoyé le tampon de réponse, et de là, il sera renvoyé au demandeur.

38

4,1 Arbitre L'arbitre est responsable de déterminer quelle requête en circulation est accepter pour l·autorisé à être envoyé au contrôleur de mémoire. La logique de choix dépend du type de système dans lequel le contrôleur est utilisé. 4,2 mappage de mémoire Une carte mémoire offre une traduction entre les adresses logiques et physiques de la mémoire. Mais pour un demandeur, une mémoire ressemble à un grand réseau continu. Tandis qu·en réalité, la mémoire est organisée en des banques distinctes, des lignes et des colonnes. Le choix cartographie de la mémoire est important car il a un grand effet sur la latence et de bande passante, 4.2.1 Carte de mémoire continue Un type de traduction utilisée s·appelle la carte mémoire continue. Parce que des adresses successives dans l'espace logique sont mappées à des adresses successives d·une seule ligne dans une seule banque. Ainsi, la même ligne est accessible à plusieurs reprises jusqu'à ce que la fin de la ligne soit remplie. À ce stade, la cartographie peut passer à une nouvelle banque ou à une nouvelle ligne dans la même banque. Adressage logique 3 2 B(1) 1 B(0) 0 C(0)

cartographie de R(0) la mémoire

Figure 4.2: Illustration d'une carte mémoire continue.

39

4.2.2 Carte Mémoire entrelacement une autre type de traduction d'une carte mémoire continue est appelé carte mémoire entrelacement, elle est représenté dans la figure 4.4. Ce style de traduction est appelé entrelacement parce des salves successives accès à l'espace d'adressage logique sont mappées aux différents banques dans l'espace d'adressage physique. Adressage logique 3 2 R(1) 1 B(1) 0 B(0)

cartographie de C(0) la mémoire

Figure 4.4: Illustration d'une carte mémoire d'entrelacement 4,3 générateur de commande Le générateur de commande est responsable de la production des commandes à la mémoire SDRAM en fonction des demandes dans la mémoire tampon, en fonction de la mémoire de la carte choisi. Le générateur de commande doit être au courant de l'état actuel de la SDRAM.

40

5).Les générations des SDRAMs :
5.1.SDRAM (DRAM synchrone)

Ce type de mémoire SDRAM est plus lent que les variantes DDR, car un seul mot de données est transmis par cycle d'horloge. Les mémoires SDRAM possèdent généralement une appellation commerciale du type PCxx, où «xx» représente la fréquence de fonctionnement de la barrette. Dénomination
PC66 PC100 PC133 PC150

Fréquence réelle
66 MHz 100 MHz 133 MHz 150 MHz

Bande passante
528 Mio/s 800 Mio/s 1,1 Gio/s (1 064 Mio/s) 1 200 Mio/s

5.2.DDR SDRAM (parfois appelée DDR1) Bien que la latence d'accès au DRAM est fondamentalement limitée par le réseau de DRAM, DRAM a très fort potentiel de bande passante, car chaque lecture interne est actualise une ligne par plusieurs milliers de bits., une interface de données à double vitesse a été développé. Celui-ci utilise les mêmes commandes, pour les acceptés une fois par cycle, mais lit ou écrit deux mots de données par cycle d'horloge. L'interface DDR accomplit cette mission en lecture et l'écriture de données sur les deux fronts montant et descendant du signal d'horloge. En outre, la tension d'alimentation a été réduite de 3,3 à 2,5 V. En conséquence, le DDR SDRAM n'est pas compatible avec DTS SDRAM. DDR SDRAM (parfois appelé DDR1 pour plus de clarté) l·horloge Typique de DDR SDRAM sont (7ns, 5, 6 et 5 / cycle) 133, 166 et 200 MHz, généralement décrit comme DDR-266, DDR-333 et la DDR-400 (3,75, 3 et 2,5 ns par battement). Correspondant DIMM 184-pin sont connus comme PC-2100, PC-2700 et PC-3200. Performance à DDR-550 (PC-4400) . 5.3. DDR2 SDRAM SDRAM DDR2 est très similaire au processus de DDR SDRAM, mais double le minimum pour lire et écrire à 4 mots consécutifs. Le protocole de bus a également été simplifié pour permettre un fonctionnement plus performant. Cela permet au taux de bus de la SDRAM à être doublée sans augmentation de l'horloge.

41

les opérations internes sont effectués en unités de 4 fois plus large que la SDRAM. En outre, une broche bancaire supplémentaire adresse (BA2) a été ajoutée pour permettre 8 banques sur des puces RAM large. l·horloge Typique des DDR2 SDRAM sont 200, 266, 333 ou 400 MHz (périodes de 5ns, 3,75, 3 et 2,5), généralement décrit comme la DDR2-400, DDR2-533, DDR2-667 et DDR2-800 (période de 2,5 ns, 1,875, 1,5 et 1,25). la Correspondant DIMM 240-pin sont connus comme PC2-3200 par PC2-6400. DDR2 SDRAM est maintenant disponible à la fréquence d'horloge de 533 MHz généralement décrit comme la DDR2-1066 et les modules DIMM correspondants sont connus comme PC2-8500 (Également nommé PC2-8600 selon le fabricant). Notez que parce que les opérations internes sont à 1 / 2 de la fréquence d'horloge, la mémoire DDR2-400 (fréquence d'horloge interne de 100 MHz) a des temps de latence un peu plus élevés que la DDR400 (fréquence d'horloge interne 200 MHz). 5.4. DDR3 SDRAM DDR3 continue la tendance, en doublant au minimum pour lire et écrire unité à 8 mots consécutifs. Cela permet une autre doublement de la bande passante et la vitesse de bus externe sans avoir à changer la fréquence d'horloge des opérations internes, Afin de maintenir un transferts de 800M / s (les deux bords d'une horloge de 400 MHz), Les taux initial de l'horloge ont été de 400 et 533 MHz, ce qui sont décrits comme DDR3-800 et DDR3-1066 (PC3-6400 PC3-8500 et modules), mais 667 et 800 MHz, décrit que la DDR3-1333 et DDR3-1600 (modules PC3-10600 et PC3-12800) sont désormais courants. 5.5.DDR4 SDRAM (proposé) DDR4 SDRAM sera le successeur de SDRAM DDR3. Il a été révélé à l'Intel Developer Forum de San Francisco, 2008, et elle est actuellement à l'état de conception et devrait être publié en 2012 .Les nouvelles puces devraient fonctionner à 1,2 V ou moins, par comparaison au DDR 3 1.5V et elles ont plus de 2 milliards de transferts de données par seconde. Ils devraient être introduites à des taux de transfert de 1600 MT / s, elle devrait augmenter à un potentiel de 3200 MT / s (3,2 GT / s) et réduit la tension de 1,0 V en 2013. En Février 2009, Samsung validé 40 puces DRAM nm, considérée comme une étape importante» vers la DDR4 .les puces DRAM actuelles migrer vers un processus de 50 nm .
¤

42

43

44

45

46

47

48

49

50

51

Sign up to vote on this title
UsefulNot useful