Section 2.9
Mémoires
Dans ce chapitre, nous avons vu comment des circuits peuvent effectuer des opérations logiques et même des calculs. Dans cette section, nous allons voir que ces circuits peuvent mémoriser des données, et ce uniquement à l'aide de portes logiques.
Pour exemplifier cela, considérons le circuit suivant
composé d'une unique porte logique OU
.
Notez que la sortie de cette porte est reliée à une de ses entrées.
★ À essayer
Que vaut initialement la sortie Q
?
Et une fois que l'entrée S
reçoit un signal à 1 ?
Et si le signal est ensuite remis à 0 ?
Dans le circuit ci-dessus, la sortie Q
est
initialement à 0. Dès que l'entrée S
reçoit un signal à 1,
la sortie Q
passe à 1.
La sortie Q
reste ensuite indéfiniment à 1,
même si l'entrée S
est remise à 0.
Le circuit mémorise qu'il a reçu un signal à 1 sur l'entrée S
à un moment donné.
Le circuit ci-dessus est particulier dans le sens où il comporte une boucle : la sortie de la porte est reliée à une de ses entrées. Le comportement du circuit est donc plus complexe que ce que nous avons vu jusqu'à présent. La sortie du circuit ne dépend plus uniquement de ses entrées, mais aussi de son état.
! Remarque
Alors que les circuits que nous avons vus jusqu'à présent sont appelés combinatoires, on parle de circuits séquentiels pour les circuits qui ont un état interne comme celui ci-dessus.
Dans la suite de cette section, nous allons concevoir des circuits séquentiels afin de mémoriser des données.
Verrous
Le circuit que nous avons vu en introduction à cette section permet certes de mémoriser un bit, mais il n'est pas très pratique. En effet, une fois que la sortie est à 1, il n'est plus possible de la remettre à 0. À présent, nous allons voir un circuit qui permet de mémoriser un bit et de le remettre à 0.
Considérons ensemble le circuit ci-dessous,
composé de deux entrées, une sortie et deux portes logiques
NON-OU
.
L'entrée S
permet, grâce à une impulsion,
de changer la sortie du circuit en 1, et l'entrée R
permet de la remettre à 0.
Il est intéressant de noter qu'il suffit d'un bref signal
à 1 pour changer la sortie du circuit par le biais de
ces deux entrées.
★ À essayer
Observez l'état initial de la sortie.
Utilisez ensuite l'entrée S
pour changer la sortie à 1.
Pour cela, passez brièvement l'entrée à 1, puis remettez-la à 0.
Observez l'état de la sortie.
Faites ensuite de même avec l'entrée R
.
Comment faire en sorte de mettre la sortie à 1 ? Et comment faire pour la remettre à 0 ?
Le circuit ci-dessus est un circuit séquentiel de la famille de ce qu'on
appelle les verrous.
Pour être plus précis, il s'agit d'un verrou SR,
car il possède une entrée S
(pour set) et
une entrée R
(pour reset).
L'entrée S
permet de mettre la sortie à 1,
alors que l'entrée R
permet de la remettre à 0.
Comme le circuit est très utilisé, il existe un symbole spécifique pour le représenter. Il est représenté dans le circuit ci-dessous.
Encore une fois, et il est important de le noter, nous faisons ici usage du principe d'abstraction. Ce verrou est représenté comme un unique composant, dont nous n'avons pas à nous soucier du fonctionnement interne. Ce composant peut ensuite être utilisé dans d'autres circuits, comme par exemple dans le circuit ci-dessous, qui présente un autre exemple de verrou, le verrou D.
★ À essayer
Observez l'état initial de la sortie.
Que se passe-t-il si vous passez l'entrée H
à 1 et
que vous modifiez ensuite l'entrée D
?
Que se passe t'il lorsque l'entrée H
est à 0 ?
Est-il possible de modifier la sortie dans ce cas ?
Le verrou D est un verrou qui offre une interface
un peu différente du verrou SR.
À la place d'avoir une entrée pour mettre à 1 et une
entrée pour mettre à 0, il possède une entrée D
qui est un signal de donnée et une entrée H
qui est un signal d'activation.
Lorsque le signal d'activation est à 1, le verrou D recopie le signal de donnée sur sa sortie. Par contre, lorsque le signal d'activation est à 0, le verrou D conserve la valeur de sa sortie et ne tient pas compte du signal de donnée.
Ce genre de composants sont très utilisés dans les circuits électroniques. Ils servent aussi de base pour construire des des composants plus complexes, comme par exemple ceux qui composent la mémoire vive d'un ordinateur, aussi appelée RAM (pour Random Access Memory).
RAM
Une RAM (Random Access Memory) est une mémoire avec une grande capacité de mémorisation. Une RAM est composée de plusieurs cellules de mémoire, chacune capable de mémoriser un bit. Les cellules sont organisées en lignes, et chaque ligne est accessible par une adresse unique. En donnant l'adresse d'une ligne, il est possible de lire ou d'écrire le contenu des cellules de cette ligne.
Ci-dessous est un exemple de RAM, composée de 16 lignes de 4 cellules,
chaque cellule étant capable de mémoriser un bit.
La RAM possède deux entrées sur 4 bits, une pour l'adresse de la ligne à sélectionner
et une pour les données à écrire.
L'entrée Addr
permet de sélectionner la ligne de la RAM
à laquelle on souhaite accéder.
L'entrée D
permet de spécifier quoi écrire dans la ligne.
La RAM possède aussi une entrée E
pour activer l'écriture.
La sortie Q
permet de lire le contenu de la ligne sélectionnée.
La RAM présentée ci-dessus est une RAM de capacité 16 fois 4 bits, soit un total de 64 bits. Dans les ordinateurs actuels, les RAMs sont beaucoup plus grandes. Par exemple, une RAM de 8 Go possède une capacité de 64 milliards de bits, soit un milliard de fois plus que la RAM présentée ci-dessus.
! Remarque
La RAM est aussi appelée mémoire vive. La mémoire vive est volatile (non persistante). Lorsque l'on ne l'alimente plus en électricité, son contenu est perdu.
À l'inverse, d'autres technologies de mémoire sont persistantes. Elles permettent de garder en mémoire l'information même lorsque le composant n'est plus alimenté. Ces mémoires sont utilisés comme mémoires de stockage sur un ordinateur.
Lorsqu'on parle de la mémoire d'un ordinateur, on fait généralement référence à sa mémoire vive.
! À maîtriser
Avant de poursuivre, assurez-vous de pouvoir :
- Expliquer la différence entre un circuit combinatoire et un circuit séquentiel.
- Expliquer le phénomène de mémoire dans un circuit séquentiel.
- Expliquer le fonctionnement d'un verrou SR.
- Expliquer le fonctionnement d'un verrou D.
- Expliquer le fonctionnement d'une RAM.