Architecture des ordinateurs Licence Informatique - Université de Provence Circuits séquentiels Jean-Marc Talbot [email protected] L3 Informatique - Université de Provence () Architecture des ordinateurs 87 / 123 Circuits séquentiels L3 Informatique - Université de Provence () Architecture des ordinateurs 88 / 123 Bascule RS Rétro-action croisée entre les sorties Q1 et Q2 . Dans un circuit séquentiel, les valeurs de sorties dépendent à la fois des valeurs des entrées des valeurs antérieurs de (certaines) sorties Le temps est un paramètre dans les circuits séquentiels En coupant cette rétro-action, Ils permettent de stocker une information au cours du temps et sont donc l’élément principal des mémoires Sorties en fonction des entrées : Q10 = Q2 + R L3 Informatique - Université de Provence () Architecture des ordinateurs 89 / 123 L3 Informatique - Université de Provence () Architecture des ordinateurs Q20 = Q1 + S 90 / 123 Bascule RS : états stables Bascule RS : R = 0, S = 1 Q10 = Q2 + R Q20 = Q1 + S Selon les valeurs de R et S Q10 = Q2 + R Q20 = Q1 + S R = 0 et S = 1, on a alors Le circuit est dans un état stable lorsque (pour R, S inchangées) Q10 = Q1 et Q20 = Q2 Supposons : t +ε t + 2ε t + 3ε Q1 Q2t 1 1 Q2 0 0 0 Q10 = Q2 + 0 = Q2 Q20 = Q1 + 1 = 0 Q1t+1 = 1 et Q2t+1 = 0 la bascule stable à l’instant t les sorties Q1 et Q2 valent respectivement Q1t et Q2t à ce même instant t. On met Q1 à 1 (Set) Les valeurs à l’instant t + 1 sont obtenues lorsque le système est stable (pour les sorties et des valeurs constantes de R et S). L3 Informatique - Université de Provence () Architecture des ordinateurs 91 / 123 Bascule RS : R = 1, S = 0 L3 Informatique - Université de Provence () Architecture des ordinateurs 92 / 123 Bascule RS : R = S = 0 Pour R = 0, S = 1 et R = 1, S = 0, les sorties vérifient Selon les valeurs de R et S Q1 = Q2 Q10 = Q2 + R Q20 = Q1 + S R = S = 0, on a alors R = 1 et S = 0, on a alors Q1 0 0 0 Q2 Q1t 1 1 Q10 = Q2 + 1 = 0 Q20 = Q1 + 0 = Q1 Q1 Q2t Q1t Q2t . . . Q2 Q1t Q2t Q1t . . . Q1t+1 = 0 et Q2t+1 = 1 Q10 = Q2 + 0 = Q2 Si Q1t = Q2t alors on a un état stable. On met Q1 à 0 (Reset) Q1t+1 = Q1t et Q2t+1 = Q2t L3 Informatique - Université de Provence () Architecture des ordinateurs Q20 = Q1 + 0 = Q1 93 / 123 L3 Informatique - Université de Provence () (On mémorise) Architecture des ordinateurs 94 / 123 Bascule RS : exemple Bascule RS : R = S = 1 Lorsque R = 0, S = 1 le circuit est mis à 1 Q10 = Q2 + 1 Lorsque R = 1, S = 0 le circuit est mis à 0 Si R = S = 1 alors Lorsque R = 0, S = 0 le circuit restitue la valeur mémorisée on obtient un état stable Q20 = Q1 + 1 Q1t+1 = 0 et Q2t+1 = 0 S Cependant, repasser à R = S = 0 rend le circuit instable R Q1 0 1 0 . . . Q2 0 1 0 . . . Q1 Pour R = S = 1, on considère que le circuit est dans un état indéfini. t0 t L3 Informatique - Université de Provence () Architecture des ordinateurs 95 / 123 Bascule RS : le circuit L3 Informatique - Université de Provence () Architecture des ordinateurs 96 / 123 Bascule D : le circuit Dans un fonctionnement normal de la bascule RS, Q1 et Q2 sont complémentaires. Ainsi, on note Q1 , Q et Q2 , Q. Q D S Q W R RS On considére donc le fonctionnement du circuit uniquement pour une sortie Q. S R 0 0 0 1 1 0 1 1 L3 Informatique - Université de Provence () D Q Quand W = 0 alors la bascule reste dans le même état et la sortie vaut la dernière valeur mémorisée. Q t+1 Qt 0 1 indéfini Architecture des ordinateurs Quand W = 1 alors la sortie de la bascule vaut D et cette valeur est mémorisée D = Data 97 / 123 L3 Informatique - Université de Provence () W = Write Architecture des ordinateurs 98 / 123 Bascule D (II) Horloge (I) D W 0 0 1 0 0 1 1 1 Q t+1 Qt Qt 0 1 la bascule RS restitue la valeur mémorisée Pour les circuits synchrones, les sorties évoluent selon les entrées mais seulement au signal de l’horloge. Quand W = 1 alors I si D = 1 alors R 0 = 0, S 0 = 1. si D = 0 alors R 0 = 1, S 0 = 0. L3 Informatique - Université de Provence () la bascule RS fait Set la bascule RS fait Reset Architecture des ordinateurs 99 / 123 Horloge (II) front montant Ceci est bien-sûr problématique si les différentes valeurs d’entrée ne sont pas toutes disponibles en même temps. On opère alors à une synchronisation qui s’effectue à l’aide d’un signal impulsionnel de fréquence fixe appelé signal d’horloge. Quand W = 0 alors R 0 = S 0 = 0 I Les circuits précédents sont dit asynchrone : leur sorties évoluent dès que les entrées changent. Il n’y a pas de contrôle sur les instants où entrées et sorties changent. L3 Informatique - Université de Provence () Architecture des ordinateurs 100 / 123 Bascule RS synchrone (I) front descendant R Q H S période Q Quand H = 0 alors le circuit restitue sur Q la valeur mémorisée fréquence = L3 Informatique - Université de Provence () RS Quand H = 1 alors le circuit se comporte comme une bascule RS (asynchrone). 1 période Architecture des ordinateurs 101 / 123 L3 Informatique - Université de Provence () Architecture des ordinateurs 102 / 123 Bascule RS synchrone (II) Bascule RS synchrone (II) H S R Quand H = 0 alors R 0 = S 0 = 0 Quand H = 1 alors R 0 = R et S 0 = S Q t L3 Informatique - Université de Provence () Architecture des ordinateurs 103 / 123 Bascules déclenchées par niveau d’horloge R R Q H RS Q S 104 / 123 Pour certaines bascules, ce n’est pas la position haute de l’horloge (niveau d’horloge) qui les active mais le passage du niveau bas au niveau haut du signal d’horloge (ou inversement). Q RS Architecture des ordinateurs Bascules déclenchées sur front d’horloge (I) H S L3 Informatique - Université de Provence () t0 On parle de bascules déclenchés par front d’horloge : Q sur front montant quand l’horloge est mise de 0 à 1. sur front descendant quand l’horloge est mise de 1 à 0. La bascule de gauche se déclenche sur le niveau haut de l’horloge tandis que celle de droite se déclenche sur le niveau bas. Le front active la bascule et les entrées sont prises en compte, le reste de la période la bascule est verrouillé. Quand la bascule n’est pas déclenchée, on dit qu’elle est verrouillée. Le déclenchement sur front permet de mieux contrôler l’instant des actions. L3 Informatique - Université de Provence () Architecture des ordinateurs 105 / 123 L3 Informatique - Université de Provence () Architecture des ordinateurs 106 / 123 Bascules déclenchées sur front d’horloge (II) Bascules D à déclenchement sur front d’horloge (I) Q D H Pourquoi ? H D Q D D Si on souhaite mémoriser de l’information à des instants très précis, il faut une horloge avec une impulsion la plus courte possible. La bascule de gauche se déclenche sur front montant ( ) et celle de droite sur front descendant ( ). Mais : difficultés technologiques de concevoir de telles horloges Pour la bascule à déclenchement sur front montant : H 0 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 107 / 123 Bascules D à déclenchement sur front d’horloge (II) L3 Informatique - Université de Provence () D Q t+1 Qt Qt 0 0 1 1 Architecture des ordinateurs 108 / 123 Bascules D à déclenchement sur front d’horloge (III) Bascules D en maı̂tre-esclave Q0 D bascule D H Remarque : Les entrées des horloges des bascules maı̂tre et esclave sont inversées. Ainsi, la modification de l’entrée D n’a aucune incidence sur la sortie Q lors d’une phase stable de l’horloge (0 ou 1). Esclave Maı̂tre C’ D0 Q bascule D Les points importants du fonctionnement de la bascule L’entrée D et la sortie Q ne sont jamais en “contact” direct (l’information ne peut aller directement de D à Q). C L’entrée de la bascule “Esclave” est reliée à la sortie Q 0 de la bascule “Maı̂tre”. Cela est du à l’inverseur sur l’entrée d’horloge du maı̂tre qui a un temps de basculement inférieur aux autres portes du circuit. Toute modification sur la sortie du Maı̂tre se répercute sur l’Esclave : le Maı̂tre asservie l’Esclave. L3 Informatique - Université de Provence () Architecture des ordinateurs 109 / 123 L3 Informatique - Université de Provence () Architecture des ordinateurs 110 / 123 Bascules D à déclenchement sur front d’horloge (IV) A l’instant t : on considère C 0 = C = 0 Avant t : C 0 = 1 et C = 0 I I Bascules D à déclenchement sur front d’horloge (V) I la donnée D est transférée par le Maı̂tre sur sa sortie Q 0 L’esclave est inactif donc la sortie Q reste inchangée I I L3 Informatique - Université de Provence () Architecture des ordinateurs 111 / 123 Bascules D à déclenchement sur front d’horloge (VI) le Maı̂tre devient inactif et l’Esclave le reste l’information sur l’entrée D juste avant t est présente en Q 0 et mémorisée par la bascule (puisque C 0 est passé de 1 à 0). la sortie Q reste inchangée. L3 Informatique - Université de Provence () Architecture des ordinateurs 112 / 123 Bascules D à déclenchement sur front d’horloge (VII) Juste après t : C 0 = 0 et C = 1 I I le Maı̂tre est inactif et l’Esclave devient actif l’information sur l’entrée D 0 (donc celle de Q 0 ) passe sur la sortie Q. De l’instant t à t 0 : I Rien ne change pour Q puisque C 0 = 0 et C = 1 Le transfert de la donnée en D vers la sortie Q a bien été effectué sur le front de l’horloge (en t + ε) L3 Informatique - Université de Provence () Architecture des ordinateurs 113 / 123 L3 Informatique - Université de Provence () Architecture des ordinateurs 114 / 123 Bascules D à déclenchement sur front d’horloge (VIII) Bascules D à déclenchement sur front d’horloge (IX) Après l’instant t 0 : C 0 = 1 et C = 0 A l’instant t 0 : C 0 = C = 0 I I I l’Esclave devient inactif et le Maı̂tre le reste les sorties Q et Q 0 sont inchangées L3 Informatique - Université de Provence () Architecture des ordinateurs I 115 / 123 En réalité ... (I) le Maı̂tre devient actif, l’Esclave reste inactif l’entrée D est recopié sur la sortie Q 0 mais la sortie Q reste identique L3 Informatique - Université de Provence () Architecture des ordinateurs 116 / 123 En réalité ... (II) En réalité, le temps de passage de 0 à 1 (ou inversement) des signaux n’est pas nul. Il est important que le maı̂tre et l’esclave ne soient jamais actifs en même temps ; ceci est réalisé ici car l’inverseur sur l’entrée d’horloge du maı̂tre a un temps de basculement inférieur aux autres portes du circuit. Seuil basculement autre porte Seuil basculement porte non H C’ On utilise ce temps de front suffisament bref pour effectuer la mémorisation. C L3 Informatique - Université de Provence () Architecture des ordinateurs 117 / 123 t1 t2 L3 Informatique - Université de Provence () t3 t4 Architecture des ordinateurs 118 / 123 Forçage des bascules Vu à la télé ... Sur les bascules (synchrones), il existe généralement une ou deux entrées supplémentaires PRESET, CLEAR qui indépendamment de l’horloge PRESET : force la sortie à 1 CLEAR : force la sortie à 0 CLEAR H 1 0 0 0 1 0 0 D Q t+1 0 Qt Qt 0 0 1 1 Ceci est utilisé notamment pour l’initialisation de la bascule lors de sa mise sous tension (garantie d’un état initialement stable). L3 Informatique - Université de Provence () Architecture des ordinateurs 119 / 123 Bascules et réalisation 74LS279 Low power Schottky IC. Quad set-reset latches. 16 pin DIP L3 Informatique - Université de Provence () Architecture des ordinateurs 120 / 123 Registre 4 bits (Parallel In - Parallel Out) Réalisation : Autres types de Bascules registre 1-bit = 1 bascule RS (ou D) registre n-bits = n bascules RS (ou D) en parallèle Bascule T Bascule JK, JKME registre 4 bits Réalisations Registres, registres à décalage Compteurs Mémoire Signaux : W (écriture) L3 Informatique - Université de Provence () Architecture des ordinateurs 121 / 123 L3 Informatique - Université de Provence () R (lecture) Architecture des ordinateurs 122 / 123 Buffer (ou porte) 3 états Dans les circuits jusqu’à maintenant, on a considéré 2 états (0 et 1) ; ils correspondent à des états d’un circuit “connecté”. Il existe un autre état, l’état haute impédance (état HZ) qui correspond à une déconnection de la liaison. Enable 0 0 1 1 L3 Informatique - Université de Provence () Architecture des ordinateurs Entrée 0 1 0 1 Sortie HZ HZ 0 1 123 / 123