Mémoire et processeur

Bascules et mémoire

Un problème nouveau : se souvenir

Les portes vues jusqu'ici sont combinatoires : leur sortie ne dépend que des entrées présentes, jamais du passé. Or un ordinateur doit mémoriser : retenir un résultat, garder une valeur en attendant. Il faut donc un circuit capable de conserver un bit même après que l'entrée a changé. C'est le rôle des bascules (flip-flops).

L'idée : reboucler la sortie sur l'entrée

Le secret d'une mémoire, c'est la rétroaction : on renvoie la sortie du circuit vers son entrée. Le circuit se maintient alors dans son état, comme un interrupteur qui reste dans la position où on l'a mis.

Bascule (memorise 1 bit) :

   ecrire=1, donnee D --->[   ]---+---> Q  (bit memorise)
                          [   ]   |
              +-----------[   ]<--+
              |  (rebouclage : la sortie revient a l'entree)

etat :
   ecrire=1 : Q prend la valeur de D           (on ecrit)
   ecrire=0 : Q garde sa derniere valeur        (on memorise, D est ignore)

Du bit au registre, du registre à la mémoire

Un seul bit mémorisé est peu utile. En plaçant 8, 32 ou 64 bascules côte à côte, on obtient un registre, capable de retenir un octet ou un mot entier. En rangeant des millions de registres et en les numérotant par une adresse, on obtient la mémoire vive (RAM) : un immense casier où chaque case a son numéro.

L'horloge

Dans un vrai processeur, l'écriture n'a pas lieu n'importe quand : elle est cadencée par une horloge, un signal qui bat à intervalles réguliers (des milliards de fois par seconde). À chaque battement, les bascules mettent à jour leur valeur toutes en même temps, ce qui garde le circuit synchronisé.

Piège classique

Ne confonds pas un circuit combinatoire (sans mémoire, la sortie suit instantanément les entrées) et un circuit séquentiel (avec mémoire, la sortie dépend aussi de l'état retenu). C'est précisément la rétroaction qui fait passer de l'un à l'autre : sans rebouclage, aucun circuit ne peut se souvenir de quoi que ce soit.