Architecture des ordinateurs - Licence Informatique...

12
Architecture des ordinateurs Licence Informatique - Universit´ e de Provence Jean-Marc Talbot [email protected] L3 Informatique - Universit´ e de Provence () Architecture des ordinateurs 163 / 210 Machines de Mealy - Machines de Moore L3 Informatique - Universit´ e de Provence () Architecture des ordinateurs 164 / 210 Petits rappels sur les automates d’´ etats finis (I) Un automate d’ ´ etats finis sur un alphabet Σ efinit / reconnait / engendre un ensemble de mots ´ ecrits sur l’alphabet Σ. Exemple : un automate pour d ´ efinir les expressions arithm ´ etiques additives sur 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 pr´ ec´ ed´ ee d’un ´ eventuel signe (+ ou -) 145 - 1897 + 82709 expression arithm ´ etique additive : un nombre ou, un nombre suivi d’un signe d’addition + suivi d’une expression arithm ´ etique additive -1897 82709 + 154 - 767 + 34 + 34556 + -2387 ++80 L3 Informatique - Universit´ e de Provence () Architecture des ordinateurs 165 / 210 Petits rappels sur les automates d’´ etats finis (II) Un automate d’ ´ etats finis est donn ´ e par : un ensemble fini d’´ etats Q un 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 - Universit´ e de Provence () Architecture des ordinateurs 166 / 210

Transcript of Architecture des ordinateurs - Licence Informatique...

Architecture des ordinateursLicence Informatique - Universite de Provence

Jean-Marc Talbot

[email protected]

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