Séance 4 : Circuits séquentiels
Programme 2
Plan 1. Le besoin de mémoriser l information 2. Comment mémoriser l information? 3. Différence entre un circuit combinatoire et un circuit séquentiel 4. Définition d un automate (Moore/Mealy) 5. Synthèse d un circuit séquentiel 6. Les fonctions arithmétiques en séquentiel (add, sub, mul) 7. La notion de contrôleur (exemple du contrôleur d ALU) 3
1. Le besoin de mémoriser l information 4
Mémorisation de l information qexemple de circuit avec rétroaction Problème de stabilité dans les signaux électriques Ø Introduction d éléments capables de mémoriser? 5
2. Comment mémoriser l information? 6
Comment mémoriser l information? qprincipe de la bascule RS (aussi appelée latch) qdeux entrées : R pour le reset S pour set qdeux sorties : Q Q 7
Comment mémoriser l information? qla bascule RS La sortie ne dépend pas seulement des valeurs des entrées Elle dépend également de l état mémorisé dans le circuit A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 8
Comment mémoriser l information? qla bascule RS La sortie ne dépend pas seulement des valeurs des entrées Elle dépend également de l état mémorisé dans le circuit A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 =0 =1 R S Q =0 0 0 0 1? 1 0 0 =0 =1 1 1 Þ Combinatoire Reset 9
Comment mémoriser l information? qla bascule RS La sortie ne dépend pas seulement des valeurs des entrées Elle dépend également de l état mémorisé dans le circuit A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 =1 R S Q 0 0 0 1 1 1 0 0 =0 1 1 Þ Combinatoire Set 10
Comment mémoriser l information? qla bascule RS La sortie ne dépend pas seulement des valeurs des entrées Elle dépend également de l état mémorisé dans le circuit A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0 =0 R S Q Q 0 0 Q 0 1 1 Q 1 0 0 =Q =0 1 1? Þ Séquentiel : memory 11
qla bascule RS R S Q Q + Q + Comment mémoriser l information? 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0?? 1 1 1?? Mémoire Set Reset Non utilisé 12
Comment mémoriser l information? qla bascule RS R S Q Q + Q + 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0?? 1 1 1?? Mémoire Set Reset Non utilisé Q/RS 0 0 0 1 1 1 1 0 0 1 X 1 1 1 X ÞQ + = S + R Q 13
Comment mémoriser l information? qla bascule RS à horloge L enregistrement ne se fait qu à des moments bien précis dans le temps symbolisé par un signal en créneaux : Clock (CLK) ou horloge 14
Comment mémoriser l information? qla bascule D L enregistrement ne se fait qu à des moments bien précis dans le temps symbolisé par un signal en créneaux : Clock (CLK) ou horloge 15
Notre bibliothèque de portes SSI INV_ OR_ AND_ NAND_ NOR_ XOR_ LatchD MSI MAJ_ DECAL_ MUX_ DEC_ COMP_ Half_Adder Full_Adder LSI PLA_ ALU_ 16
Flip Flop qflip Flop Changement d état au front montant d horloge 17
Flip Flop qflip Flop Activation sur front montant 18
Registre 4 bits 19
Registre 4 bits 20
Notre bibliothèque de portes SSI INV_ OR_ AND_ NAND_ NOR_ XOR_ LatchD MSI MAJ_ DECAL_ MUX_ Registre DEC_ COMP_ Half_Adder Full_Adder LSI PLA_ ALU_ 21
3. Différence entre circuit séquentiel et combinatoire 22
Différence circuit séquentiel/combinatoire qdans un circuit combinatoire, La sortie dépend de la valeurs des entrées à chaque instant qdans un circuit séquentiel, La sortie dépend de la valeurs des entrées ET de l état interne du circuit S = f(e i ) S = f(e i, state) 23
4. Les automates 24
Les automates qun automate est défini par : Un ensemble d entrées E = {E i } Un ensemble de sorties S = {S j } Un ensemble d états R = {R k } Une fonction de transition : Une fonction de génération : 25
Les automates qreprésentation circuit Automate de Moore : Si la fonction de génération ne dépend que de l état courant (ne dépend pas des entrées) 26
Les automates qreprésentation circuit Automate de Mealy : Si la fonction de génération dépend de l état courant ET des entrées 27
Les automates qexemple Automate détectant la parité d une suite binaire - Nombre de 1 pair -> 1 - Nombre de 1 impair -> 0 28
Les automates qexemple Automate détectant la parité d une suite binaire - Nombre de 1 pair -> 1 - Nombre de 1 impair -> 0 29
Les automates qexemple Un automate détectant la parité d une suite binaire - E = {e} - S = {s} - R = {Pair, Impair} - τ = {e=1} - γ = {Pair} 30
Les automates qpropriétés d un automate Complet -Un automate est complet si la somme logique (OR) des expressions booléennes sortant de chaque état vaut 1 Déterminisme! τ # (E & ) = 1 # -Si le produit logique des expressions booléennes sortant de chaque état 2 à 2 vaut 0 τ # E &. τ, (E & ) = 0 31
Synthèse d un circuit séquentiel 32
Synthèse de circuit séquentiel qdéfinition du problème Réaliser un circuit ayant 2 entrées et une sortie et détectant l arrivée consécutive de 3 bits à 1 sur l une, ou bien les deux de ses entrées Lorsque le circuit détecte 3 bits à 1, il place la valeur de sa sortie à 1, sinon 0 33
qautomate correspondant Synthèse de circuit séquentiel 34
qautomate correspondant Synthèse de circuit séquentiel 35
qautomate correspondant Synthèse de circuit séquentiel 36
Synthèse de circuit séquentiel qautomate correspondant avec retour à Zéro systématique 37
Synthèse de circuit séquentiel qcodage des états Combien d état? -n Longueur du code -Log 2 (n) ETAT CODE Zéro 0 0 Un 0 1 Deux 1 0 Trois 1 1 38
qtable de vérité Synthèse de circuit séquentiel e1 e0 Q1 Q0 Q1+ Q0+ S 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 39
Synthèse de circuit séquentiel qréduction des fonctions Q1+ Q1 + = E1E0 + Q1Q0 + e1q1 Q0 + E0Q1Q0 Q1Q0 e1e0 00 01 11 10 00 X 01 X X 11 X X X X 10 X X 40
qimplantation matérielle Synthèse de circuit séquentiel Q1 + = E1E0 + Q1Q0 + e1q1 Q0 + E0Q1Q0 41
Synthèse de circuit séquentiel qréduction des fonctions τ et γ Q1Q0 e1e0 00 01 11 10 00 X 01 X X Q1 + = E1E0 + Q1Q0 + e1q1 Q0 + E0Q1Q0 11 X X X X 10 X X 42
Synthèse de circuit séquentiel qréduction des fonctions τ et γ Q1Q0 e1e0 00 01 11 10 00 X 01 X X Q0 + = Q0e1e0+ Q0e1e0+ Q1Q0e1e0+ Q1Q0e1e0 11 X 10 X X 43
Synthèse de circuit séquentiel qréduction des fonctions τ et γ Cas Mealy ØLa fonction de génération dépend de l état courant et des entrées Q1Q0 e1e0 00 00 01 11 10 S = e1e0q1q0 + e1e0q1q0+ e1e0q1q0 01 X 11 X 10 X 44
Synthèse de circuit séquentiel qréduction des fonctions τ et γ Cas Moore ØLa fonction de génération dépend de l état courant S =Q1Q0 45
Synthèse de circuit séquentiel qcircuit 46
Algorithme de synthèse 1. Réaliser l automate 2. Codage des états 3. Table de vérité 4. Réduction de la table 1. Fonction de transition 2. Fonction de génération 5. Circuit correspondant 47
5. Arithmétique séquentielle 48
qadditionneur 4 bits Arithmétique séquentielle 49
Arithmétique séquentielle qadditionneur séquentiel Si un seul additionneur est utilisé à un instant donné, il est alors possible de n utiliser qu un seul circuit ADDER 50
Arithmétique séquentielle qadditionneur séquentiel Si un seul additionneur est utilisé à un instant donné, il est alors possible de n utiliser qu un seul circuit ADDER 51
Arithmétique séquentielle qadditionneur séquentiel Si un seul additionneur est utilisé à un instant donné, il est alors possible de n utiliser qu un seul circuit ADDER 52
Arithmétique séquentielle qadditionneur séquentiel Si un seul additionneur est utilisé à un instant donné, il est alors possible de n utiliser qu un seul circuit ADDER 53
Arithmétique séquentielle qadditionneur séquentiel Si un seul additionneur est utilisé à un instant donné, il est alors possible de n utiliser qu un seul circuit ADDER 54
La notion de contrôleur 55
Notion de Contrôleur qprincipe Si avec l ALU on cherche à faire plusieurs calculs de suite, on peut utiliser un circuit séquentiel pour organiser la séquence d opérations à effectuer Exemple d automate pour un additionneur en 3 cycles -ADD 1 -ADD 2 -ADD 3 56
Notion de Contrôleur qmais alors comment faire n importe quel programme sachant que l automate est déterministe? 57
Mémoires qles mémoires Dans les registres, on écrit dans chaque bascule en même temps Les mémoires permettent d accéder à un mot mémoire particulier 58
Mémoires qcircuit mémoire Mot de 3 bits Capacité de 12 bits Organisation extensible 8 entrées : -3 données (I0, I1 et I2) -2 adresses (A0 et A1) -3 commandes (CS, RD, OE) 3 sorties (O1 à O3) 59
Mémoires qquelques remarques sur ce circuit Sur ce circuit, les lignes d entrée (données) et de sortie sont séparées alors que dans les circuits du commerce, celles-ci sont confondues (bidirectionnelles). Les portes OU de sortie ne sont pas directement reliées aux sorties. Cela entrainerait qu une valeur serait toujours présente en sortie (même en écriture). Comment interdire cette écriture? 60
Mémoires qcircuit 3-états Nom : 3-états, tri-states ou buffer Interface : une donnée, une commande, une sortie D C S 0 0 HI 0 1 0 1 0 Hi 1 1 1 d c s 61
Mémoires qcapacités d extension Que faut-il changer/rajouter au circuit précédent pour réaliser une mémoire de 4 mots de 8 bits (précédemment 4 mots de 3 bits )? Que faut-il changer pour réaliser une mémoire de 8 mots de 3 bits? 62
Mémoires qcircuit mémoire Mot de 3 bits Capacité de 12 bits (4 mots) Organisation extensible 8 entrées : -3 données (I0, I1 et I2) -2 adresses (A0 et A1) -3 commandes (CS, RD, OE) 3 sorties (O1 à O3) 63
Mémoires qcapacités d extension Que faut-il changer/rajouter au circuit précédent pour réaliser une mémoire de 4 mots de 8 bits (précédemment 4 mots de 3 bits )? ØIl faut ajouter 5 colonnes supplémentaires de 5 bascules, 5 lignes d entrées et de sorties Que faut-il changer pour réaliser une mémoire de 8 mots de 3 bits? Ø4 lignes de 3 bascules et une ligne d adresse 64
Mémoires qdeux façons d organiser une mémoire de 4 Mbits 65
Mémoires qquestions : Combien il y a t-il de lignes d adresse pour chaque circuit? Pourquoi? A quoi sert le signal CS? Combien il y a t-il de lignes et de colonnes dans chaque circuit? 66
Mémoires qquestions : Combien il y a t-il de lignes d adresse pour chaque circuit? Pourquoi? Ø19 pour accéder à 1Mo/2 = (2 20 /2) A quoi sert le signal CS? ØChip Select -> sélection du circuit Combien il y a t-il de lignes et de colonnes dans chaque circuit? Ø512k x 1 mot de 8 bits Ø2048 x 2048 de 1 bit NB : Log(512K)/Log(2) 67
Mémoires qmémoire 4Mbits du VAX (1986) 68
Mémoires vives qmémoires vives Communément appelées RAM pour Random Access Memory Cela signifie que le temps d accès est le même quel que soit le mot sollicité Aujourd hui, toutes les mémoires vives sont de type RAM Il existe 2 catégories : -Mémoire statique (SRAM) -Mémoire dynamique (DRAM) (+ lent, + de conso, et besoin de rafraîchir régulièrement les données écrites en mémoire) 69
qmémoires Mortes Mémoires mortes ROM = Read-Only Memory La mémoire morte n est pas volatile contrairement à la RAM, i.e. qu elle ne perd pas ses données en l absence d alimentation. Elles servent pour mémoriser le BIOS (Basic Input Output System = ensemble de fonctions en ROM utilisées au démarrage) d un ordinateur 70
Circuits logiques combinatoires qun système logique combinatoire peut être réalisé : 1. À base de portes logiques 2. D un circuit PLA (Programmable Logic Array) 3. Ou encore d une mémoire ROM puisque l état des sorties ne dépend que de l état des entrées 71
Notre bibliothèque de portes SSI INV_ OR_ AND_ NAND_ NOR_ XOR_ LatchD MSI MAJ_ DECAL_ MUX_ Registre DEC_ COMP_ Half_Adder Full_Adder LSI PLA_ ALU_ RAM 72
qa voir en TD Réalisation d automates Synthèse de circuits séquentiels Les circuits à décalage La multiplication par circuit séquentiel 73
qquelques questions à se poser Qu est ce que la mémoire? Quels sont les autres supports de mémorisation que le cerveau? (ex : un post-it est une mémoire?) Pourquoi a-t-on besoin de circuits séquentiels en plus des circuits combinatoires? D où vient le premier état mémoire d un circuit séquentiel? 74