L'adressage des mémoires de l'ordinateur

Mise en projet

Un bon magasinier doit pouvoir ranger correctement les différentes marchandises dans son entrepôt, et surtout, pouvoir les retrouver quand on en a besoin.
Il en est de même du microprocesseur, il doit pouvoir ranger les données à "retenir" dans la mémoire vive et pouvoir retrouver ces données dans la mémoire vive et aussi celles de la mémoire morte.

Comment le microprocesseur va-t-il s'y prendre pour ce "stockage-déstockage" dans ce monde numérique ?

L'adressage des mémoires dans l'ordinateur

Vue globale

La première question est de savoir ce qu'est "retenir une donnée".

  1. À un moment donné, un nombre va circuler dans le bus de données et il va falloir mémoriser ce nombre dans une case mémoire à laquelle le rédacteur du programme informatique aura donné une adresse bien précise;
  2. Le microprocesseur devra alors mettre en place un mécanisme permettant d'ouvrir cette case mémoire précise de la mémoire vive en écriture afin d'y stocker ce nombre;
  3. La mémoire vive devra retenir ce nombre d'une façon quelconque tant qu'il sera nécessaire et qu'elle sera alimentée en électricité;
  4. Lorsque le rédacteur du programme informatique aura besoin de cette donnée, il devra pouvoir, à la mention de son adresse, récupérer ce nombre sur le bus de données.

La seconde question est de savoir comment, techniquement, un nombre peut être retenu sous une forme électrique par un système électronique.

  1. Il est possible, en électronique, de fabriquer des bascules à transistors qui se mettent dans un certain état lorqu'elles ont reçu une impulsion électrique (1) et dans l'état inverse lorsque l'impulsion a été nulle (0);
  2. On dispose ces bascules dans des grilles, chaque bascule appartenant à une ligne et une colonne dont la combinaison est unique (style combat naval);
  3. Un système d'aiguillage va permettre de sélectionner une ligne et une colonne bien précises, adressant ainsi une bascule particulière de la grille;
  4. Chaque bascule ne pourra retenir qu'un bit, un seul chiffre binaire. Il faudra donc une batterie d'autant de grilles qu'il y aura de fils dans le bus de données.

Mais comme un dessin vaut mieux qu'un long discours, illustrons cela.
Chaque petit cercle symbolise une bascule à transistors.


Adressage d'une bascule dans une grille : croisement d'une ligne et d'une colonne

Reste à savoir comment, concrètement, sélectionner une ligne et une colonne. C'est ici qu'interviennent les aiguillages dont il a été question plus haut.

Dans le schéma ci-dessous, les cadres représentent les aiguillages. Si le fil du bus d'adresse est à 0, l'aiguillage sera orienté vers sa gauche. Si ce fil est à 1, l'aiguillage dirigera le courant vers sa droite. Voici un résumé en images.


Positions des aiguillages en fonction du courant dans le fil du bus d'adresses

À vous maintenant de jouer le microprocesseur en adressant une des cases mémoires de la grille en tapant l'adresse décimale pour un bus de 4 fils (16 possibilités). Faites l'exercice en essayant de prévoir à quelle bascule votre adresse aboutira.

Tapez une adresse décimale de 0 à 15 inclus dans le cadre ci-dessous puis cliquez sur le bouton "Adresser".

Pour un bus de données de 64 fils, 64 batteries comme celle-ci régleront leurs aiguillages de la même façon de manière à retenir à cette adresse unique le nombre binaire composé de 64 bit.

Dans le code de son programme informatique, le programmeur tape le nom d'une variable qui n'est pas un nombre. À l'exécution du programme, l'ordinateur crée une table qui attribue une adresse numérique à chaque variable du programme.

Examinons maintenant comment cela se passe pour les calculs.

Retour