TD Architecture : Registres et Mémoire

Registres

Un registre n-bits est un circuit séquentiel possédant n entrées I0In-1 et n sorties A0An-1 ; en entrée un signal supplémentaire Load détermine le comportement du circuit (pour chaque front d'horloge) :

  1. Construire un registre 1-bit : écrire l'équation qui exprime A' en fonction de I, A, Load et en déduire le circuit.
  2. Construire l'automate associé à un registre 1-bit.
  3. Assembler 4 registres 1-bit pour construire un registre 4-bits.

Un registre à décalage (shift register) est capable, comme son nom l'indique, de décaler l'information qu'il contient d'un bit vers la gauche ou vers la droite ; il est alimenté par une entrée SI (Serial Input) et possède une seule sortie SO (Serial Output).

  1. Assembler 4 bistables D pour construire un registre à décalage 4-bits.
  2. Expliquer le fonctionnement du circuit ci-dessous ; quel est le type de circuit représenté par les rectangles du haut sur la figure ?

    ShiftPar
  3. Etudier le fonctionnement du registre universel décrit sur la figure suivante ; les bistables D possèdent une entrée supplémentaire Clear pour les réinitialiser à zéro, et le couple de signaux S1 , S0 sert à contrôler le fonctionnement du registre.

    Universel

Puces mémoire

Voici une réalisation possible d'une mémoire 1-bit avec une bascule D : il s'agit alors de mémoire statique (SRAM). La bascule possède une entrée de contrôle C, qui autorise ou non la transmission du signal d'entrée D vers la ligne de sortie Q.

Mem1

Pour écrire dans la mémoire les entrées WR (Write) et CS (Chip Select) valent 1, et le signal D est transmis sur la sortie Q. Inversement si l'un au moins des signaux WR ou CS vaut 0, la valeur en mémoire (signal Q) ne change pas.

En sortie du cicuit on a un pilote de bus à trois états : lorsque CS vaut 0, la ligne Q n'est pas connectée à la sortie OUT.

  1. Etudier le fonctionnement du circuit ci-dessous, qui réalise une RAM 4x1 : quatre adresses possibles, un seul bit en sortie. Quel est le circuit représenté dans le rectangle de gauche ?

    Mem41

  2. Faire le schéma d'une mémoire 4x4 : quatre adresses, et quatre bits en sortie.
  3. On suppose qu'on dispose d'une puce mémoire 64Kx8. Combien cette puce comporte-t-elle de fils d'adresse ? Comment assembler quatre puces de ce type pour construire une mémoire 256Kx8 ? Comment assembler deux puces pour construire une mémoire 64Kx16 ?

Registres : corrigé

  1. A' = Load . I + Load . A ; pour le circuit voir les composantes de la figure ci-dessous.
  2. L'automate a deux états, 0 et 1 ; il y a trois étiquettes de transitions :

    Les transitions étiquetées a sont des boucles ; les transitions étiquetées b (respectivement c) ont pour cible l'état 0 (respectivement 1).

  3. Il suffit de placer quatre registres 1-bit en parallèle, et de connecter l'entrée Load du registre 4-bits aux quatre entrées correspondantes des registres 1-bit. Le double inverseur sur le fil Load est un truc d'électronicien (il paraît qu'un inverseur a aussi le mérite d'amplifier le signal).

    Registre 4-bits

  4. Il faut disposer les bistables D en série, on dit aussi en cascade :

    Decalage

    En appelant de gauche à droite Q0, Q1, Q2, Q3 les sorties de ces bistables (on a donc par définition SO = Q3 ), les nouvelles valeurs après le front d'horloge sont données par :

    Q0' = SI, Q1' = Q0, Q2' = Q1, Q3' = SO' = Q2

  5. Lorsque Load = 0, le circuit fonctionne comme un registre à décalage (voir formules ci-dessus); lorsque Load = 1, le circuit fonctionne comme un registre ordinaire (chargement parallèle) :

    Q0' = D0, Q1' = D1, Q2' = D2, Q3' = D3

    Les rectangles du haut sont des multiplexeurs 2x1 : si l'adresse S vaut 0 (respectivement 1), alors Q = D0 (respectivement D1). Attention, ne pas confondre la numérotation des signaux à l'intérieur et à l'extérieur du multiplexeur : par exemple le signal externe D0 est connecté à l'entrée D1 du multiplexeur de gauche.

  6. Fonctionnement selon la valeur de S :

Puces mémoire : corrigé

  1. A gauche on a un décodeur 2x4, avec un signal Enable ; lorsque Enable = 0 les quatre sorties Q3, Q2, Q1, Q0 sont nulles. On peut aussi considérer ce circuit comme un démultiplexeur 1x4, en convenant que le signal Enable est le signal d'entrée du démultiplexeur.
  2. Mémoire 4x4 :

    Mem44

  3. Schémas (le premier est de loin le plus intéressant) :

    Mémoire 256Kx8 :

    Mem256Kx8

    Mémoire 64Kx16 :

    Mem64Kx16