Les mémoires RAM

Commercialisées en 1969

 

 

Les mémoires RAM Statiques

Les premières RAM statiques ont été crées en 1968, elles sont présentées simultanément chez Intel et chez Fairchild . Elles ont toutes deux une capacité de 1Kbits.
La mémoire RAM de  Fairchild , la 93415 est réalisée en transistors bipolaires , celle d'Intel la 2115 est en technologie MOS
La première RAM Motorola (6810) qui accompagnait la sortie du microprocesseur 6800 en 1972 avait une capacité de 128 octets (1Kbits également)

Les mémoires RAM,  Mémoire à lecture aléatoire, ici aléatoire n'a pas le sens habituel , il signifie que l'on peut lire un bit ou un octet quelconque en précisant son adresse.
Ceci s'oppose aux mémoires à lecture séquentielle, essentiellement composées de registres à décalage qui demandent de faire défiler les mots stockés jusqu'à ce que le mot recherché se présente sur la sortie. Si la mémoire n'est pas rebouclée sur elle même, les information contenues se perdent à la sortie des registres.
 Exemple: mémoire FIFO (first in, first out - premier entré , premier sorti) genre file d'attente (ou buffer) pour une imprimante la vitesse de fourniture des octets à imprimer est plus grande que la vitesse d'utilisation de l'imprimante. L'ordinateur rempli à sa vitesse 8 registres en parallèle , l'horloge est alors fournie par l'ordinateur, lorsqu'il sont pleins l'imprimante demande octet par octet à son rythme l'horloge est fournie par l'imprimante. Le premier octet fourni par l'ordinateur sera le premier à sortir  d'où le terme de FIFO.

Principe des mémoires RAM
Les mémoires RAM sont destinées au stockage temporaire des données. En l'absence d'alimentation électrique la mémoire s'efface . A l'origine, une mémoire se composait de cellules élémentaires telle des bascules D représentées ci dessous
 
Cellule élémentaire:
Lorsque l'horloge H est en position basse H=0 les deux sorties Q1 et Q2 sont en position haute, Q1=Q2=1. Les deux portes de sortie restent dans la position antérieure.
Si  H=1 et D=0 la sortie Q2 =0 et Q1=1 → Q4=1 et Q3=0
Si  H=1 et D=1 la sortie Q1 =0 et Q2=1 → Q3=1 et Q4=0

on voit que la sortie Q3 recopie l'entrée D  et Q4 est toujours le complément de Q3.

Table de vérité de la
porte Nand
I1 I2 S
0 0 1
0 1 1
1 0 1
1 1 0
Schéma de base du latch(*) D
Table de vérité du bistable D
D H Q3
x 0 x
0 Π 0
1 Π 1

Π= passage de 0 à 1 puis à 0

Symbole

(*) Une bascule ne peut changer d'état qu'une fois par cycle d'horloge sur front ou sur niveau, un latch (ou verrou) est transparent lorsque l'horloge est en position haute et verrouille l'information lorsque l'horloge retombe à l'état bas.

Cellule mémoire
La cellule mémoire doit pouvoir être adressée c'est à dire que l'on doit pouvoir désigner une cellule parmi les milliers intégrées sur le circuit. La cellule doit pouvoir être le siège d'une écriture, stockage d'un bit en mémoire ou d'une lecture du bit stocké dans la mémoire. Toutes ces opérations doivent pouvoir être synchronisées par un signal d'horloge.
Dans le schéma ci dessous l'entrée E/L va orienter le pulse mémoire soit pour une écriture E/L = 1 , la porte ET d'entrée est validée le bit présent en I va être stocké dans le bistable sous l'effet de l'impulsion d'horloge. Si E/L = 0 la porte ET d'entrée est bloquée à 0 le bistable est alors insensible à l'état de  I, par contre la porte de sortie est validée et l'état de la sortie Q est envoyé sur la sortie synchronisé par l'horloge. 

La cellule élémentaire et son symbole

L

Dans le schéma ci dessous une mémoire de 9 bits est réalisée à titre d'exemple. Le circuit de décodage d'adresse va orienter le pulse d'horloge sur la bonne cellule , l'entrée E/L va préciser si c'est une opération de lecture ou d'écriture . Ainsi si tous les bits d'adresse sont à 0, c'est la cellule ligne 00 et colonne 00 qui sera sélectionnée

Pour stocker des octets on imagine 8 plans mémoire en parallèle, les 8 entrées de données et les 8 sorties seront distincts l'Horloge sera commune ainsi que les bits d'adressage. Un seul circuit de décodage de l'adresse sera utilisé.
On pourra ajouter des entrées de sélection du composant ( chip select = cs) qui permettront d'associer plusieurs circuits les entrées cs servant à l'adressage des circuits.
Evidemment un tel circuit est tributaire de l'alimentation électrique, en cas de coupure d'alimentation, toutes le cellules se retrouvent en un état indéterminé.

Les mémoires RAM CMOS
Avec l'arrivée des circuits CMOS la cellule mémoire s'est fortement simplifiée. On rappelle que à l'origine des MOS, seuls les MOS P pouvaient être fabriqués avec un rendement suffisamment élevé pour que le prix  de revient soit intéressant, ensuite, avec l'amélioration de la technologie de fabrication des monocristaux les MOS N, plus rapides que les P ont pu être réalisés. Ce n'est qu' après cette étape que la technologie des CMOS est arrivée, en effet un MOS P doit être réalisé sur un substrat N et un MOS N sur un substrat P implanter les deux P et N sur un même substrat était compliqué d'autant plus que le phénomène parasite de Latch Up est apparu obligeant d'éloigner les deux transistors l'un de l'autre ce qui nuit à la densité d'intégration. (explication plus détaillée)

rappel sur l'inverseur CMOS:

Porte inverseuse CMOS Symbole

Cellule RAM statique CMOS

La cellule RAM CMOS est composée de deux inverseurs CMOS tête bêche

Si nous appliquons sur l'entrée E un 0 logique ,(signal extérieur), la sortie S de la porte supérieure passe à 1 et la porte inférieure fournit à son tour du 0 sur E, l'ensemble des cellules va se maintenir dans cet état même si nous supprimons le signal extérieur . Ceci ne peut raisonnablement se faire que si la résistance de sortie des portes est grande car si on force l'entrée, qui était précédemment à 1, à 0 cela revient à court-circuiter la sortie de la porte inférieure.
Ces portes n'ayant pour fonction que la conservation d'un état logique, elles n'ont pas à fournir de courant, les résistances de canal peuvent donc être très importante sans inconvénient.
La cellule RAM statique CMOS ne nécessitera que 4 transistors et consomme très peu.

 

Les mémoires RAM Dynamiques
L'organisation des mémoires dynamiques est identique la précédente mais la cellule élémentaire est réduite à sa plus simple expression, le bit est stocké dans la capacité de grille d'un transistor. Cette capacité étant très faible l'information ne peut se conserver très longtemps , il faut rafraichir la mémoire (refresh) une entrée refresh doit recevoir un signal dont la périodicité est fixée par le constructeur, la mémoire n'est pas utilisable durant le cycle de "refresh" . Pendant ce cycle des éléments internes estiment l'état de chaque capacité. Au dessus d'un certain seuil la capacité est rechargée, en dessous la capacité est vidée .
A un moment donné de la technologie des circuits intégrés les mémoires RAM dynamiques dont la cellule de base nécessite moins de transistors que la statique à une capacité supérieure
En 1970, Intel sort sa première mémoire DRAM de 1kbits chaque cellule est réalisé à l'aide de 3 transistors ( il en faut 6 pour une RAM) le circuit est réalisé à l'aide de 5000 transistors MOS P grille au silicium
En 1974 c'est une DRAM de 4kbits dont la cellule élémentaire est composée d'un seul transistor MOS N grille au silicium.

Les mémoires RAM ou DRAM et tous les autres circuits intégrés seront tributaires des techniques de gravure ainsi les progrès ont été fulgurants le tableau ci dessous en fait foi

  1971 1981 1989 1998 2007
Gravure en μm 10 3 0,8 0,25 0,09
Capacité des DRAM 1K 64K 4M 256M 16G

 

 
Numéro de la Fiche 120
Dernière mise à jour 14/08/2021