Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
Architecture des ordinateursLicence Informatique - Universite de Provence
Jean-Marc Talbot
L3 Informatique - Universite de Provence () Architecture des ordinateurs 163 / 210
Machines de Mealy - Machines de Moore
L3 Informatique - Universite de Provence () Architecture des ordinateurs 164 / 210
Petits rappels sur les automates d’etats finis (I)
Un automate d’etats finis sur un alphabet Σ definit / reconnait / engendreun ensemble de mots ecrits sur l’alphabet Σ.
Exemple : un automate pour definir les expressions arithmetiques additivessur l’alphabet Σ = {+,−,0,1,2,3,4,5,6,7,8,9}
nombre : suite de chiffres (ie, de 0,1,2,3,4,5,6,7,8 ou 9) non vide precedeed’un eventuel signe (+ ou −)
145 − 1897 + 82709
expression arithmetique additive :
un nombre ou,
un nombre suivi d’un signe d’addition + suivi d’une expressionarithmetique additive
−1897 82709 + 154 − 767 + 34 + 34556 +−2387 + +80
L3 Informatique - Universite de Provence () Architecture des ordinateurs 165 / 210
Petits rappels sur les automates d’etats finis (II)Un automate d’etats finis est donne par :
un ensemble fini d’etats Qun alphabet Σ
un ensemble I d’etats initiaux (I ⊆ Q)
un ensemble F d’etats finaux (F ⊆ Q)
un ensemble de transitions T ⊆ Q× Σ×Q
Exemple :
Q = {S, N, R}Σ = {+,−, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}I = {S, N}F = {R}T = {(S, +, N), (S,−, N), (R, +, S), (R, +, N), (N, 0, R), (N, 1, R), (N, 2, R),(N, 3, R), (N, 4, R), (N, 5, R), (N, 6, R), (N, 7, R), (N, 8, R), (N, 9, R),(R, 0, R), (R, 1, R), (R, 2, R), (R, 3, R), (R, 4, R), (R, 5, R), (R, 6, R), (R, 7, R),(R, 8, R), (R, 9, R)}
L3 Informatique - Universite de Provence () Architecture des ordinateurs 166 / 210
Automates d’etats finis : graphiquementQ = {S, N, R}Σ = {+,−, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}I = {S, N}F = {R}T = {(S, +, N), (S,−, N), (R, +, S), (R, +, N), (N, 0, R), (N, 1, R), (N, 2, R),(N, 3, R), (N, 4, R), (N, 5, R), (N, 6, R), (N, 7, R), (N, 8, R), (N, 9, R),(R, 0, R), (R, 1, R), (R, 2, R), (R, 3, R), (R, 4, R), (R, 5, R), (R, 6, R), (R, 7, R),(R, 8, R), (R, 9, R)}
L3 Informatique - Universite de Provence () Architecture des ordinateurs 167 / 210
Automates d’etats finis : fonctionnement
−767 + 34
- 767 + 34S
− 7 67 + 34N
−7 6 7 + 34R
−76 7 + 34R
−767 + 34R
−767 + 3 4N
−767 + 3 4R
−767 + 34R
Un mot est accepte / reconnu s’il existe un etat initial et une suitede transitions qui mene vers un etat final en “lisant” le mot.
(S,−,N)(N,7,R)(R,6,R)(R,7,R)(R,+,N)(N,3,R)(R,4,R)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 168 / 210
Abstraction des circuits sequentielsLes circuits sequentiels ayant une memoire du passe possede un etat(interne).
la sortie S du circuit est fonction des entrees E et de l’etat du circuit Q
S = f (E ,Q)
le nouvel etat du circuit Q′ est fonction des entrees E et de l’etatprecedent Q
Q′ = g(E ,Q)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 169 / 210
Abstraction des circuits sequentiels : La bascule RSS R Qt+1
0 0 Qt
0 1 01 0 11 1 indefini
2 etats : {0,1}3 entrees : {RS,RS,RS} avec R pour R = 0 et R pour R = 1, de memepour S
les fonctions calculant la sortie f et le nouvel etat g
E Q S = f (E ,Q) Q′ = g(E ,Q)
RS 0 0 0RS 1 1 1RS 0 0 0RS 1 0 0RS 0 1 1RS 1 1 1
L3 Informatique - Universite de Provence () Architecture des ordinateurs 170 / 210
Abstraction des circuits sequentiels : bascule RSE Q S = f (E , Q) Q′ = g(E , Q)
RS 0 0 0RS 1 1 1RS 0 0 0RS 1 0 0RS 0 1 1RS 1 1 1
Entree / Sortie
L3 Informatique - Universite de Provence () Architecture des ordinateurs 171 / 210
Machine de MealyUne machine de Mealy est definie par un quintuplet (Q, ι,E ,S, T ) ou
Q, un ensemble fini d’etats
ι est l’etat initial (ι ∈ Q)
E est l’alphabet des valeurs d’entrees
S est l’alphabet des valeurs de sorties
T est l’ensemble des transitions
T ⊆ Q× E × S ×Q
On note (q,e, s,q′) par qe/s−→ q′
L3 Informatique - Universite de Provence () Architecture des ordinateurs 172 / 210
Machine de Mealy : exemple
E = S = {0,1}2
L3 Informatique - Universite de Provence () Architecture des ordinateurs 173 / 210
Machine de Mealy : proprietes
Une machine de Mealy est
deterministe si qe,s−→ q1 ∈ T et q
e,s′−→ q2 ∈ T alors q1 = q2 et
s = s′.Pour un etat et une entree donnes, une seule sortie et
un seul etat d’arrivee possible
reactive si pour chaque etat q et chaque entree e, il existe unetransition q
e,s−→ q′ dans T .
Pour tout etat, toute entree est autorisee
stable si qe,s−→ q1 ∈ T et q1
e,s′−→ q2 ∈ T alors q1 = q2 et s = s′.
Si l’entree est maintenue alors on reste dans le meme etat
L3 Informatique - Universite de Provence () Architecture des ordinateurs 174 / 210
Machine de Mealy : bascule RS
E = {RS,RS,RS} S = {0,1}
deterministereactive : dans chaque etat, on peut “reagir” pour toute entree.stable : tant que l’entree est maintenue, on reste dans le memeetat.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 175 / 210
Machine de Mealy : fonctionnement
SoitM une machine de Mealy (Q, ι,E ,S, T ), une sequenced’execution deM est une suite finie de transitions
t1t1 . . . tn ∈ T ∗
telle que en notant ti = (qi ,ei , si ,q′i ), on a :
q1 = ι,q′i = qi+1 pour tout i entre 1 et n − 1.
Dans ce cas, le couple de mots (e1e2 . . . en, s1s2 . . . sn) est appellefonctionnement de la machineM.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 176 / 210
Machine de Mealy : bascule RS
Voici un fonctionnement de la machine de la bascule RS partant del’etat 0 :
(RSRSRSRSRSRS , 001110)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 177 / 210
Machine de Mealy : exemple
((0,0)(1,1)(0,1)(1,1)(1,0)(1,0) , (0,0)(1,0)(0,1)(0,1)(1,0)(1,0))
L3 Informatique - Universite de Provence () Architecture des ordinateurs 178 / 210
Machine de Mealy : proprietes et fonctionnement
Si la machine est deterministe et (e1, . . .en, s1, . . . sn),(e1, . . .en, s′1, . . . s
′n) deux fonctionnements de cette machine avec
les memes entrees, alors s1 . . . sn = s′1 . . . s′n
Si la machine est reactive alors pour tout mot d’entree e1 . . . en, ilexiste un fonctionnement (e1 . . . en, s1, . . . sn).
L3 Informatique - Universite de Provence () Architecture des ordinateurs 179 / 210
Un circuit d’arbitrage (I)
Un circuit d’arbitrage possede deux entrees r0 et r1 et deux sorties s0et s1. Il doit gerer les requetes de deux agents du systeme (r0 et r1)afin de delivrer une autorisation (s0 ou s1) pour utiliser une ressourcedu systeme (en exclusion mutuelle).
La condition de bon fonctionnement est
si r0 = 1 ou r1 = 1 alors s0 = 1 ou s1 = 1si s0 = 1 alors r0 = 1si s1 = 1 alors r1 = 1A chaque instant, s0.s1 = 0 (exclusion mutuelle)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 180 / 210
Un circuit d’arbitrage (II)
Condition supplementaire de stabilite : si s0 = 1 alors s0 reste a 1 tantque r0 reste a 1 (et symetriquement pour s1).
L3 Informatique - Universite de Provence () Architecture des ordinateurs 181 / 210
Abstraction des circuits sequentiels : suite
On peut remarquer que dans le cas de la bascule RS, la sortie nedepend que de l’etat dans lequel passe (ou reste) la bascule.
E Q S = f (E ,Q) Q′ = g(E ,Q)
RS 0 0 0RS 1 1 1RS 0 0 0RS 1 0 0RS 0 1 1RS 1 1 1
La sortie n’est alors fonction que de l’etat dans lequel passe le circuit
S = f (Q′)
Pour la bascule RS, la fonction f est l’identite.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 182 / 210
Machine de Moore
Une machine de Moore est definie par un sextuplet (Q, ι,E ,S, T , f )ou
Q, un ensemble fini d’etats
ι est l’etat initial (ι ∈ Q)
E est l’alphabet des valeurs d’entrees
S est l’alphabet des valeurs de sorties
T est l’ensemble des transitions
T ⊆ Q× E ×Q
f : Q 7→ S
On note (q,e,q′) par q e−→ q′
L3 Informatique - Universite de Provence () Architecture des ordinateurs 183 / 210
Machine de Moore : proprietes
Une machine de Moore est
deterministe si q e−→ q1 ∈ T et q e−→ q2 ∈ T alors q1 = q2.
Pour un etat et une entree donnes, un seul etat d’arrivee possible
reactive si pour chaque etat q et chaque entree e, il existe unetransition q e−→ q′ dans T .
Pour tout etat, toute entree est autorisee
stable si q e−→ q1 ∈ T et q1e−→ q2 ∈ T alors q1 = q2.
Si l’entree est maintenue alors on reste dans le meme etat
L3 Informatique - Universite de Provence () Architecture des ordinateurs 184 / 210
Machine de Moore : fonctionnement
SoitM une machine de Moore (Q, ι,E ,S, T , f ), une sequenced’execution deM est une suite finie de transitions
t1t1 . . . tn ∈ T ∗
telle que en notant ti = (qi ,ei ,q′i ), on a :
q1 = ι,q′i = qi+1 pour tout i entre 1 et n − 1.
Dans ce cas, le couple de mots (e1e2 . . . en, f (q′1)f (q′2) . . . f (q′n)) estappelle fonctionnement de la machineM.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 185 / 210
Machine de Moore de la bascule RS
L3 Informatique - Universite de Provence () Architecture des ordinateurs 186 / 210
Comparaison de Modeles (I)theoremePour toute machine de MooreM = (Q, ι,E ,S, T , f ), il existe unemachine de MealyM′ = (Q′, ι′,E ′,S′, T ′) qui possede les memesfonctionnements.
preuveOn pose :
E ′ = E et S′ = S,Q′ = Q et ι′ = ι,
et T ′ verifie :
(q,e, s,q′) ∈ T ′ iff (q,e,q′) ∈ T et s = f (q′)
On prouve que tout fonctionnement de l’une est un fonctionnement del’autre par recurrence sur la longueur des fonctionnements.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 187 / 210
Comparaison de Modeles (II)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 188 / 210
Comparaison de Modeles (III)theoremePour toute machine de MealyM = (Q, ι,E ,S, T ), il existe unemachine de MooreM′ = (Q′, ι′,E ′,S′, T ′, f ′) qui possede les memesfonctionnements.
preuveE ′ = E et S′ = S,Q′ = Q× Sι′ = (ι, s0),
et T ′ verifie : ((q, s),e, (q′, s′)) ∈ T ′ ssi (q,e, s′,q′) ∈ T
f verifie : f ((q, s)) = s pour tout (q, s)
On prouve que tout fonctionnement de l’une est un fonctionnement del’autre par recurrence sur la longueur des fonctionnements.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 189 / 210
Minimisation des machines de Mealy (I)
Nous considerons une machine de Mealy
M = (Q, ι,E ,S, T )
deterministereactivedont tous les etats sont accessibles
Deux etats q1,q2 sont equivalents si les deux machinesM1 = (Q,q1,E ,S, T ) etM2 = (Q,q2,E ,S, T ) possedent les memesfonctionnements. On ecrit alors q1 ≡ q2.
NB : ≡ est une relation d’equivalence.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 190 / 210
Minimisation des machines de Mealy (II)
On choisit pour chaque etat q un representant [q] de tous les etatsequivalents a q.
Alors la machine de Mealy
M≡ = (Q≡, [ι],E ,S, T≡)
telle que
[q]e,s−→ [q′] ∈ T≡ ssi q
e,s−→ q′′ ∈ T et [q′] ≡ q′′
possede les memes fonctionnements queM.
De plus, cette machine est la plus petite machine deterministe ayantles memes fonctionnements queM.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 191 / 210
Minimisation des machines de Mealy (III)
Calcul de la relation ≡ :
on calcule successivement des relations ≡0, ≡1, ≡2, . . ., ≡n jusqu’a ceque ≡n =≡n+1.
Alors ≡=≡n
Au depart, q ≡0 q′ pour tout q,q′
On a ensuite q1 ≡i+1 q2 si{q1 ≡i q2
si q1e,s−→ q′1 alors ∃q′2 tel que q2
e,s−→ q′2 et q′2 ≡i q′1
L3 Informatique - Universite de Provence () Architecture des ordinateurs 192 / 210
Minimisation des machines de Mealy (IV)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 193 / 210
Minimisation des machines de Mealy (V)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 194 / 210
Minimisation des machines de Mealy (VI)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 195 / 210
Minimisation des machines de Mealy (VII)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 196 / 210
Circuits synchrones - microprogrammation
L3 Informatique - Universite de Provence () Architecture des ordinateurs 197 / 210
Circuits sequentiels synchronesLes circuits sequentiels synchrones ont un fonctionnementsynchronise par une horloge.
L’etat interne et la sortie du circuit ne sont modifies qu’a des intervallesde temps (periodes) definis par l’horloge.
S = f (E ,Q) Q′ = g(E ,Q)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 198 / 210
Circuits sequentiels synchrones : realisation classique
l’element de memorisation (une ou plusieurs bascules) stockel’etat du circuit
le circuit CC realise les fonctions f et g
L3 Informatique - Universite de Provence () Architecture des ordinateurs 199 / 210
Distributeur
On considere le distributeur suivant :
le distributeur delivre des bouteilles d’eau a 50c, des canettes decola a 50c et des barres chocolatees a 1 euro.le distributeur n’accepte que des pieces de 50c.la machine fonctionne selon le principe suivant :
1 on introduit un certain nombre de pieces ; si ce nombre eststrictement plus grand que 2 alors la piece introduite estimmediatement rendue.
2 on peut (tenter de) commander des qu’on a introduit une piece ; sile solde est insuffisant, la machine le signale. Dans le cas contraire,la commande est honoree et la monnaie eventuelle est rendue.
3 tant que la commande n’est pas passee, on peut toujours annuleret les pieces introduites sont rendues.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 200 / 210
Distributeur : le circuit
On suppose qu’au plus une ligne d’entree est a 1.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 201 / 210
Distributeur : la machine de Mealy (I)Alphabet d’entree E
R : tous les entrees du circuit sont a 0
P : l’entree “50c” du circuit est a 1, les autres sont a 0
CE : l’entree “commande eau” du circuit est a 1, les autres sont a 0
CC : l’entree “commande cola” du circuit est a 1, les autres sont a 0
CB : l’entree “commande chocolat” du circuit est a 1, les autres sont a 0
A : l’entree “annuler” du circuit est a 1, les autres sont a 0
Alphabet de sortie E
C ? : la sortie “affiche commande ?” est a 1, les autres a 0
SI : la sortie “affiche solde insuffisant” est a 1, les autres a 0
RP : la sortie “rendre 50c” est a 1, les autres a 0
E : la sortie “donner eau” est a 1, les autres a 0
C : la sortie “donner cola” est a 1, les autres a 0
B : la sortie “donner chocolat” est a 1, les autres a 0
L3 Informatique - Universite de Provence () Architecture des ordinateurs 202 / 210
Distributeur : la machine de Mealy (II)
L3 Informatique - Universite de Provence () Architecture des ordinateurs 203 / 210
Realisation cablee du distributeur
Il suffit de decrire l’element de memorisation et le circuit combinatoire.
4 etats : 00 : Idle 01 : 1P 10 : 2P 11 : 1Pa
⇒ Element de memorisation : 2 bascules D
Le circuit CC peut etre decrit par sa table de verite
L3 Informatique - Universite de Provence () Architecture des ordinateurs 204 / 210
Realisation cablee du distributeur : le circuit CC50c eau cola chocolat annuler q1 q0 q′
1 q′0 C? SI RP E C B
0 0 0 0 0 0 0 0 0 1 0 0 0 0 00 0 0 0 0 0 1 0 1 1 0 0 0 0 00 0 0 0 0 1 0 1 0 1 0 0 0 0 00 0 0 0 0 1 1 0 0 1 0 0 0 0 01 0 0 0 0 0 0 0 1 1 0 0 0 0 01 0 0 0 0 0 1 1 0 1 0 0 0 0 01 0 0 0 0 1 0 1 0 0 0 1 0 0 01 0 0 0 0 1 1 1 1 0 0 1 0 0 00 1 0 0 0 0 0 0 0 0 1 0 0 0 00 1 0 0 0 0 1 0 0 0 0 0 1 0 00 1 0 0 0 1 0 1 1 0 0 0 1 0 00 1 0 0 0 1 1 0 0 0 0 1 0 0 00 0 1 0 0 0 0 0 0 0 1 0 0 0 00 0 1 0 0 0 1 0 0 0 0 0 0 1 00 0 1 0 0 1 0 1 1 0 0 0 0 1 00 0 1 0 0 1 1 0 0 0 0 1 0 0 00 0 0 1 0 0 0 0 0 0 1 0 0 0 00 0 0 1 0 0 1 0 1 0 1 0 0 0 00 0 0 1 0 1 0 0 0 0 0 0 0 0 10 0 0 1 0 1 1 0 0 0 0 1 0 0 00 0 0 0 1 0 0 0 0 1 0 0 0 0 00 0 0 0 1 0 1 0 0 0 0 1 0 0 00 0 0 0 1 1 0 1 1 0 0 1 0 0 00 0 0 0 1 1 1 0 0 0 0 1 0 0 0
L3 Informatique - Universite de Provence () Architecture des ordinateurs 205 / 210
Realisation cablee du distributeur
Pour la fonction Q′ = g(E ,Q) :
q′1 = 50c eau cola chocolat annuler q1q0 + 50c eau cola chocolat annuler q1q0+
50c eau cola chocolat annuler q1q0 + 50c eau cola chocolat annuler q1q0+
50c eau cola chocolat annuler q1q0 + 50c eau cola chocolat annuler q1q0+
50c eau cola chocolat annuler q1q0
. . .
de meme pour la fonction S = f (E ,Q) :
L3 Informatique - Universite de Provence () Architecture des ordinateurs 206 / 210
Microprogrammation
Alternative a la solution cablee pour l’implantation de machines deMealy/Moore.
Inventee par Maurice Wilkes en 1951.
Idee : Remplacer un circuit combinatoire par une ROM contenant latable de verite du circuit.
2 types de microprogrammation :
microprogrammation horizontalemicroprogrammation verticale
Nous considerons ici la microprogrammation horizontale, nousreviendrons a la microprogrammation verticale plus tard.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 207 / 210
Microprogrammation et ROM
Place sur la sortie “Donnees” les donnees presentes dans la ROM al’adresse se trouvant dans le “Registre d’adresse”.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 208 / 210
Circuit de microprogrammation
Contenu a une adresse de la ROM : qmqm−1 . . . q1q0 snsn−1 . . . s1s0
L’adresse est constituee en concatenant l’entree et un etat de l’automate
Le chargement dans le registre d’adresse est pilote par l’horloge H.
L3 Informatique - Universite de Provence () Architecture des ordinateurs 209 / 210
Realisation microprogrammee du distributeur : ROM
00000000000001000001000000110000100000010100001100000111
...
0 0 1 0 0 0 0 00 1 1 0 0 0 0 01 0 1 0 0 0 0 00 0 1 0 0 0 0 00 0 1 0 0 0 0 00 0 0 0 1 0 0 01 1 0 0 1 0 0 00 0 0 0 1 0 0 0...
......
......
......
...
L3 Informatique - Universite de Provence () Architecture des ordinateurs 210 / 210