Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2016-2017
Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique booléenne, portes logiques, circuits combinatoires Circuits séquentiels Construction circuits complexes Micro-architecture et fonctionnement des mémoires Machines à état Synthèse de circuits PC/PO Optimisation de circuits PC/PO Interprétation d'instructions Interprétation d'instructions Interprétation d'instructions Introduction aux caches 2 / 28
Intérêt Intérêt La description du comportement temporel d'un système nécessite un formalisme précis. Dans le cas du matériel, on sait que les opérations doivent se faire dans un ordre donné. 3 / 28
Plan Plan détaillé du cours d'aujourd'hui 1 Machines avec un nombre ni d'états Dénitions Représentations usuelles en matériel Déterminisme 2 Implantation matérielle des machines à états Encodages Structure matérielle 3 Specications 4 / 28
Machines avec un nombre ni d'états Plan 1 Machines avec un nombre ni d'états Dénitions Représentations usuelles en matériel Déterminisme 2 Implantation matérielle des machines à états Encodages Structure matérielle 3 Specications 5 / 28
Machines avec un nombre ni d'états Dénitions Machines à états Machine à états (Finite State Machine, FSM) But en matériel : Décrire de manière synthétique un comportement séquentiel Constituée : d'états, en nombre ni un état est représentatif des changements eectués sur les entrées depuis le démarage du système de transitions entre états ces transitions sont étiquetées par des conditions calculées à partir des entrées d'actions, visibles en sortie ces actions peuvent être associées aux états ou aux transitions entre états 6 / 28
Machines avec un nombre ni d'états Dénitions Machines à états Plus formellement : I est l'alphabet d'entrée O est l'alphabet de sortie S est un ensemble non vide d'états, et s 0 l'état initial Θ est la fonction de transition entre états Θ : I S S Γ est la fonction de sortie Γ : S O pour les machines de Moore Γ : I S O pour les machines de Mealy 7 / 28
Machines avec un nombre ni d'états Représentations usuelles en matériel Graphe de transitions Représentation graphique : FSM souvent représentées sous la forme d'un Graphe de transitions ou State Transition Graph (STG) G(V, A) est un graphe orienté v V est un état, étiqueté avec un nom d'état si un ou plusieurs arcs (v i, v j ) existent dans G, alors a k ij A est une transition, k identiant une transition particulière les transitions a k ij entre états sont étiquetées par des conditions c k ij = t(i ) dépendantes des entrées valeur de sortie notée dans v i pour machines de Moore valeur de sortie notée sur a k ij pour machines de Mealy 8 / 28
Machines avec un nombre ni d'états Représentations usuelles en matériel Exemple de STG Compteur/décompteur modulo 4 entrée : I = {r, i, d} soit rien, incrémente, décrémente états : S = {s 0, s 1, s 2, s 3 } sortie : O = {z, u, d, t}, soit zéro, un, deux, et trois r r i s 0 s 1 z u d i d d i s 3 t d i s 2 d r r 9 / 28
Machines avec un nombre ni d'états Représentations usuelles en matériel Table de transitions Table de transitions ou State Transitions Table (STT) Représentation tabulaire : représentation du graphe G(V, A) sous une forme de table Utile à la synthèse en vue de l'implantation de Θ et Γ forme générale : état courant entrée état futur sortie S0 I0 S1 O0 S0 I1 S2 O3 question : est-ce une machine de Moore ou de Mealy? 10 / 28
Machines avec un nombre ni d'états Représentations usuelles en matériel Exemple de STT Compteur/décompteur modulo 4 état courant entrée état futur sortie s 0 r s 0 z s 0 i s 1 z s 0 d s 3 z s 1 r s 1 u s 1 i s 2 u s 1 d s 0 u s 2 r s 2 d s 2 i s 3 d s 2 d s 1 d s 3 r s 3 t s 3 i s 0 t s 3 d s 2 t 11 / 28
Machines avec un nombre ni d'états Déterminisme Déterminisme : complétude et orthogonalité Contrainte en matériel : Les machines à états sont déterministes : pour un état initial donné et une séquence d'entrées donnée, c'est toujours la même séquence de sortie qui est produite Assuré par deux propriétés sur les arcs sortant d'un état Soit Succ i S l'ensemble des successeurs de s i S complétude : s j Succ i c ij = 1 En d'autres termes, le ou les conditions sur tous les arcs sortant donnent 1 Cela signie que, dans l'état courant, pour toutes les congurations d'entrées, l'état futur est connu 12 / 28
Machines avec un nombre ni d'états Déterminisme Déterminisme : complétude et orthogonalité orthogonalité : s j, s k Succ i Succ i, avec j k, c ij c ik = 0 En d'autres termes, il n'y a pas 2 arcs sortants pour lesquels une combinaison des entrées est vraie Cela signie que pour une conguration des entrées données, un état et un seul est l'état futur Ces deux propriétés seront forcément imposées par l'implantation 13 / 28
Implantation matérielle des machines à états Plan 1 Machines avec un nombre ni d'états Dénitions Représentations usuelles en matériel Déterminisme 2 Implantation matérielle des machines à états Encodages Structure matérielle 3 Specications 14 / 28
Implantation matérielle des machines à états Encodages Encodages Pourquoi : Les alphabets d'entrée et de sortie sont des symboles Le matériel manipule des bits, pas des symboles nécessité d'encoder ces symboles en chaînes de bits Encodage des entrées/sorties souvent imposé par le matériel utilisé avec la FSM Encodage des états étant donnés n états, comment choisir leur représentation binaire? inuence majeure sur la complexité de Θ et Γ 15 / 28
Implantation matérielle des machines à états Encodages Encodage des états Problème : choisir une injection des états vers une chaîne de bits taille b de la représentation binaire : log 2 n b n nombre m d'encodages distincts pour b = log 2 n : m = (2b 1)! 1 (2 b n)!b! m croît très vite toute injection fait l'aaire certaines ont des implantations plus simples que les autres 1. E. J. McCluskey, and S. H. Unger, "A note on the number of internal variable assignments for sequential switching circuits", IRE Trans. on Electronic Computers, vol. EC-8, pp. 439-440, December 1959." 16 / 28
Implantation matérielle des machines à états Encodages Encodage 1 parmi n Ou encore One-Hot coding : b = n Un état est représenté par un unique bit à 1 On note le bit i de la chaîne de bits r i machine dans l'état s i si r i = 1 machine dans un état et un seul j i, r j = 0 état initial : s k pour lequel r k = 1 encodage unique : la permutation des r i ne change pas les équations, seulement les noms Θ simple à calculer : soit Pred i S l'ensemble des prédécesseurs de s i, alors r i = s h Pred i r h c k hi distance de Hamming h = 2 n bits au lieu de log 2 n 17 / 28
Implantation matérielle des machines à états Encodages Encodage logarithmique Ou logarithmic encoding, donc b = log 2 n Un état est représenté par un produit de littéraux (r i ou r i ) quelques exemples : ordre naturel : s 0 0, s 1 1,..., s n 1 n 1 ordre naturel inverse : s 0 n 1, s 1 n 2,..., s n 1 0 tirage aléatoire sans remise quel encodage minimise les équations logiques? il faut essayer les m pour savoir,... non soluble en temps polynômial on se contentera d'une approche intuitive dans les TDs Θ et Γ sont des fonctions de potentiellement tous les r i 18 / 28
Implantation matérielle des machines à états Structure matérielle Structure matérielle in : ensemble des signaux encodant les éléments de I r : ensemble des registres encodant les éléments de S out : ensemble des signaux encodant les éléments de 0 Machine de Moore in n Θ r d q b Γ p out Machine de Mealy in n Θ r d q b Γ p out 19 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate in : r : fournie par l'extérieur, uniquement utilisée en entrée de Θ et Γ q b 1 0, sortie de la bascule b bits code l'état courant d b 1 0, entrée de la bascule b bits code l'état futur out : calculée en fonction de l'état courant q b 1 0 in intervient dans les machines de Mealy l'état futur d b 1 0 jamais! 20 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate Choix des encodages : exemple du compteur modulo 4 entrées : 3 valeurs codées sur 2 = log 2 3 signaux c = { 1 compte, 0 ne compte pas. p = choix arbitraire : dicté par l' expérience { 1 incrémente, 0 décrémente. sorties : 4 valeurs codées sur 2 = log 2 4 signaux o 1 o 0 {z, u, d, t} = {00, 01, 10, 11} choix arbitraire : dicté par l' expérience car c'est directement l'encodage de la valeur voulue états : 4 états codées sur 2 = log 2 4 signaux {s 0, s 1, s 2, s 3 } = {00, 01, 10, 11} choix minisant la fonction de sortie 21 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate Graphe de transitions : c c s 0 00 cp cp s 1 01 cp cp cp cp s 3 11 cp cp s 2 10 c c Synthèse one-hot au tableau 22 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate Table de transition : état entrée état sortie courant q 1 q 0 cp futur d 1 d 0 o 1 o 0 s 0 00 r 0 s 0 00 z 00 s 0 00 i 11 s 1 01 z 00 s 0 00 d 10 s 3 11 z 00 s 1 01 r 0 s 1 01 u 01 s 1 01 i 11 s 2 10 u 01 s 1 01 d 10 s 0 00 u 01 s 2 10 r 0 s 2 10 d 10 s 2 10 i 11 s 3 11 d 10 s 2 10 d 10 s 1 01 d 10 s 3 11 r 0 s 3 11 t 11 s 3 11 i 11 s 0 00 t 11 s 3 11 d 10 s 2 10 t 11 23 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate Exploitation de la table de transitions : Θ Γ calcul des expressions des d i = t i (q b 1, q b 2,..., q 0, in p 1, in p 2,..., in 0 ), pour i = 0,..., n 1 Machines de Moore, calcul des expressions des o i = g i (q b 1, q b 2,..., q 0 ), pour i = 0,..., n 1 Machines de Mealy, calcul des expressions des o i = g i (q b 1, q b 2,..., q 0, in p 1, in p 2,..., in 0 ), pour i = 0,..., n 1 24 / 28
Implantation matérielle des machines à états Structure matérielle Synthèse de l'automate Mise en uvre sur l'example : d 0 q 1 q 0 q 1 q 0 q 1 q 0 q 1 q 0 c p 1 1 c p 1 1 cp 1 1 cp 1 1 d 1 q 1 q 0 q 1 q 0 q 1 q 0 q 1 q 0 c p 1 1 c p 1 1 cp 1 1 cp 1 1 25 / 28
Specications Plan 1 Machines avec un nombre ni d'états Dénitions Représentations usuelles en matériel Déterminisme 2 Implantation matérielle des machines à états Encodages Structure matérielle 3 Specications 26 / 28
Specications Grâce à des diagrammes de temps Extraction de l'automate : ck e ss se A A B C C D B D A B 27 / 28
Specications À partir de spécications textuelles on cherche à détecter le passage à 1 d'un signal e on cherche à détecter une certaine séquence d'entrée, genre digicode Réponse au tableau 28 / 28