Aller au contenu

La mémoire vive ( RAM )

Les mémoires vives ou RAM sont des composants utilisés depuis que nous avons commencé a fabriquer des systèmes numériques. Elle sont présentes dans tout les appareils contenant un microprocesseur c’est a dire pratiquement tout ce qui existe contenant de l’électronique aujourd’hui.

A quoi servent les RAM ?

Les RAM servent a stocker des données volatiles. Ce sont des données qui n’ont pas vocation a rester après l’arrêt du programme ou l’extinction du système. Lorsque vous déclarez une variable par exemple le langage réserve un emplacement dans la mémoire vive pour vos données. Aujourd’hui lorsque vous travaillez avec un PC la quantité de mémoire est tellement importante que vous ne pourrez probablement jamais la remplir. Vous ne vous en soucierez même probablement jamais. Lorsque l’on prend des cours de programmation on apprend a optimiser les variables pour limiter la quantité de mémoire qu’elles utilisent. On apprend également a les détruire pour libérer l’emplacement qu’elles utilisent et laisser la place a d’autre variables.

Le cas des microcontrôleurs.

Lorsque vous utilisez un microcontrôleur vous allez devoir redoubler d’efforts pour limiter la quantité de RAM que vous allez utiliser. Les microcontrôleurs contrairement aux ordinateurs sont très limités en mémoire vive. L’ARM que j’utilise pour piloter mes afficheurs (SAMD21j18) par exemple contient seulement 32kb de RAM ce qui nous fait seulement 4ko !

Dans le cas de la gestion de matrices de LED couleur en 16 x 32 on utilise 512 point qui peuvent avoir chacun avoir plusieurs couleurs différentes. Vous voyez donc que de l’affichage ou de l’animation sur des matrices de LED est très vite consommateur de mémoire vive.

La vitesse de fonctionnement.

Mise a part la quantité, l’autre paramètre qui est important lorsque l’on choisi une mémoire est sa vitesse. Si on utilise un processeur très rapide avec une mémoire plus lente, le processeur devra attendre derrière la mémoire pour continuer a travailler. La perte de temps fait un peu rire sur les processeurs actuels mais avec le nombre, les différences de performances seront flagrante. C’est pourquoi le choix de la mémoire sur un PC pour lequel on souhaite des performances est très important.

Comment fonctionnent les RAM  ?

Je vous ai prit ici une mémoire 8 bits d’1 Mégabits un peu au hasard. Il s’agit de la CY62128EV30 si vous cherchez la documentation complète. Les 8bits correspondent a la largeur du bus de donnée. C’est la taille du mot binaire qui va pouvoir rentrer en une seule fois dans ce composant. Bien entendu si la largeur est insuffisante il faudra faire rentrer cette valeur en 2 fois ou plus et donc utiliser des cycles d’horloge pour le faire. Lorsque Nvidia vous dit que sa largeur de bus de donnée est de 256 bits sur sa RTX vous savez maintenant qu’il s’agit de la taille de la valeur qui pourra rentrer en une seule fois.

Le bus de donnée se situe sur notre composant aux pattes I/O de 0 a 7. Vous remarquez surement les pattes A0 à A16 . Ce sont les pattes d’adressage de notre composant. C’est grâce a ces pattes que vous allez pouvoir lire et écrire différentes valeurs a différents endroits dans la mémoire.

 

Pour le fonctionnement c’est assez simple:

La lecture:

  1. La RAM doit être alimentée entre VCC et GND.
  2. LE #OE doit être au niveau bas.
  3. Le CE2 doit être au niveau haut.
  4. Le #CE1 doit être au niveau bas.
  5. Mettez l’adresse sur les pattes de A0 à A16.
  6. Faites un niveau haut puis niveau bas sur la patte #WE.
  7. Vous récupérez la valeur sur les pattes de I/O-0 a I/O-7.

 

L’écriture:

  1. La RAM doit être alimentée entre VCC et GND.
  2. LE #OE doit être au niveau bas.
  3. Le CE2 doit être au niveau haut.
  4. Le #CE1 doit être au niveau bas.
  5. Mettez l’adresse sur les pattes de A0 à A16.
  6. Mettez votre mot sur les pattes I/O ( de 0 a 7).
  7. Faites un niveau haut puis niveau bas sur la patte #WE.

Voila votre valeur est écrite !

 

Voila j’espère que vous aurez apprit des choses dans cet article , merci pour votre lecture!

 

Sylvain Altmayer

 

1 commentaire pour “La mémoire vive ( RAM )”

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *