69
Parallélisme Synchrone Gérard Berry C ollège de France C haire Informatique et sciences numériques C ours 6 du 13 janvier 2010

Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

Embed Size (px)

Citation preview

Page 1: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

Parallélisme Synchrone

Gérard Berry

Collège de France

Chaire Informatique et sciences numériques

Cours 6 du 13 janvier 2010

Page 2: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

06/01/2010 2G. Berry, Collège de France,

SynchroneMusiciens et spectateurs négligent la vitesse du son

VibratoireMais les acousticiens règlent sa propagation

Parallélismes synchrone et vibratoire

Page 3: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 4G. Berry, Collège de France,

Agenda

Page 4: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

s a oux b oux c

13/01/2010 5G. Berry, Collège de France,

Circuits digitaux combinatoires

s (a et b) ou (b et c) ou (c et a)

a

b

c

s

r

et ou oux

1

0

1

0

0

0

1

1

non (a et b) (non a) et b

ab

mux(c,a,b) =(c et a) ou ((non c) et b)

mux

cab

full adder

Page 5: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 6G. Berry, Collège de France,

Additionneur de von Neumann

Pour n bitstemps log(n)

Page 6: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 7G. Berry, Collège de France,

Le registre

ra

a a0, a1, a2, ... r 0, a0, a1, a2, ... ra

a a0, a1, a2, ... r 1, a0, a1, a2, ... ra

a

rreg(a)

ck ck

Page 7: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 8G. Berry, Collège de France,

Les circuits séquentiels

ab

s ...00110...01101

...10011

6

13

19

additionneur sériel

r

Page 8: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Circuits cycliques

06/01/2010 9G. Berry, Collège de France,

Agenda

Page 9: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 10G. Berry, Collège de France,

(ab+b)*ba

e1

e2

e3

e0

a

b

b

ab

b

déterministe1-hot

(1 seul ri à 1)

r0 r2

r1

r3

a

b

bb

a

b

ok

déterministe1-hot

(1 seul ri à 1)

explosion en taille !

Page 10: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

bb

b

aa

ok

13/01/2010 11G. Berry, Collège de France,

non-déterministe pas d’explosion

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

non-déterministe pas d’explosion bien meilleur !

Page 11: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 12G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

Page 12: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 13G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

a

Page 13: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 14G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

a

Page 14: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 15G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

ab

Page 15: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 16G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

ab

Page 16: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 17G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

Page 17: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 18G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

Page 18: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 19G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

Page 19: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 20G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

Page 20: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 21G. Berry, Collège de France,

Agenda

Page 21: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 22G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

Ecriture mémoireR : demandeA : adresseB : donnéeO : écriture

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

Page 22: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 23G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

Page 23: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 24G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

Page 24: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 25G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

Page 25: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 26G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

Et des problèmes de priorité :

quid si A, B, R ensemble?

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

Page 26: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 27G. Berry, Collège de France,

Programmer par couper / coller

Ecrire chaque chose une fois et une seule !

Expressions rationnelles

Automates hiérarchiques(Statecharts, SyncCharts, Stateflow)

Langages synchrones impératifsEsterel, Quartz

Page 27: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

loop abort { await A || await B }; emit O ; halt when R;end loop

loop abort { await A || await B }; emit O ; halt when R;end loop

loop abort { await A || await B }; emit O ; halt when Rend loop

13/01/2010 28G. Berry, Collège de France,

Esterel = spécification linéaire

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

copies = résidus !Esterel = partage des résidus

Page 28: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 29G. Berry, Collège de France,

SyncCharts (C. André)

A / B /

R /

/ O

automates parallèleshiérarchiques synchrones

loop abort { await A || await B }; emit O ; halt when Rend loop

Page 29: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 30G. Berry, Collège de France,

Le coureur Esterelevery Morning do

end every

abort every Step do run Jump || run Breathe end every when 15 Second ;

loop

each Lap

abort run Slowly when 100 Meter ;

abort

when 4 Lap

run FullSpeed

trap HeartAttack in

|| run CheckHeart

exit HeartAttack

handle HeartAttack fo run RushToHospitalend trap

Page 30: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 31G. Berry, Collège de France,

Agenda

Page 31: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 32G. Berry, Collège de France,

Le noyau Esterel pur

nothingpauseemit Sif S then p else q endsuspend p when Sp ; qloop p endp || qtrap T in p endexit Tsignal S in p end

01! ss ? p, qs pp ; qpp | q{p} pk, k > 1p \ s

U

*

Page 32: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 33G. Berry, Collège de France,

La sémantique comportementale

pE

E’ kp’

signaux reçus

signaux émis code de retour

Broadcasting : E’ E

0 : terminaison1 : attente2 : sortie du trap le plus proche3 : sortie du second trap le plus proche

k

Page 33: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 34G. Berry, Collège de France,

Numérotation des traps

Si deux traps sont levés enmême temps, seul le plus extérieur compte

trap T in trap U in

nothing0

||

pause1

||

exit U2

||

exit T3

end trap||

exit T2

end trap

Code de retour du parallèle

max des codes des branches

(code de Gonthier)

Page 34: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 35G. Berry, Collège de France,

!sE

{s} 00

kE

0 k 0

(pour k 0, k 1, k 1)

Page 35: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 36G. Berry, Collège de France,

s ? p, qE

E’ k p’

s E pE

E’ kp’

s ? p, qE

F’ l q’

s E qE

F’ lq’

Page 36: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 37G. Berry, Collège de France,

pE

E’ 0p’

E’ 0s p U 0 E

E

E' ks p U s p' U

pE

E’ kp’ k 0

avec s p' = {( s ? 1 , 2) } ; s p' U U*

Page 37: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 38G. Berry, Collège de France,

pE

E’ 0p’ q

E

F’ lq’

p ; qE’ U F’ l

q’E

pE

E’ kp’ k = 0

p ; qE’ k

p’ ; qE

Page 38: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 39G. Berry, Collège de France,

pE

E’ kp’ q

E

F’ lq’

p | qE

E’ U F’ max(k,l) p’ | q’

pE

E’ kp’ k 0

pE’ k

p’ ; pE

* *

Page 39: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 40G. Berry, Collège de France,

{p}E

E’ 00

pE

E’ kp’ k 0 ou k 2

{p}E

E’ k{p’}

pE

E’ kp’ k 1 ou k > 2

k 1 si k=1, k-1 si k>2

Page 40: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 41G. Berry, Collège de France,

p \ sE

E’ k p’ \ s

pE U {s}

E’ U {s} kp’

p \ sE

E’ k p’ \ s

EE’ k

p’s E s E' p

si une seule règle s’applique => déterminismeMais les deux peuvent s’appliquer, voir plus loin!

Page 41: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 42G. Berry, Collège de France,

Agenda

Page 42: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 43G. Berry, Collège de France,

Traduction structurelle en circuits

Chaque instruction p engendre un sous-circuit

GO

RES

SUSP

KILL

SEL

K0

K1

K2...

E E'

p

– E and E’: signaux reçus et émis– GO : démarrer p – RES : continuer p– SUSP : suspendre p pour un cycle– KILL : remettre les registres de p à 0– SEL : au moins un registre à 1 => vivant– Ki : code de retour 1-hot

• K0: terminé• K1: pause, en attente d’événements• K2,K3,… - sortie des traps englobants

Page 43: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 44G. Berry, Collège de France,

Circuit pour 1 (pause)

KILL

RES

K0SUSP

GO K1

SEL

Page 44: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 45G. Berry, Collège de France,

Circuit pour « p ; q »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

p

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

q

E'

SEL

K1

K2

GO

RES

SUSP

KILL

K0

E

Page 45: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 46G. Berry, Collège de France,

Circuit pour « p || q »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

K3

...

p

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

K3

...

LEM

L0

L1

L2

L3

IN_KILL

REM

R0

R1

R2

R3

KILL

K0

K1

K2

K3

S Y N C H R O N I Z E R

E'

K0

K1

K2

K3

SEL

GO

GO

GO

RES

SUSP

E

q

KILL

Page 46: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 47G. Berry, Collège de France,

Le synchroniseur du parallèle

LEM

REM

L0

R0 R1

L1 L2

R2

L3

R3

K0 K1 K2 K3

IN_KILLKILL

Page 47: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 48G. Berry, Collège de France,

Circuit pour « abort p when s »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

RES

SUSP

s

K0

GO

KILL

SEL

K1

K2

E E'

p

Page 48: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 49G. Berry, Collège de France,

Le circuit ABRO hiérarchique

loop abort { await A || await B }; emit O ; halt when Rend loop

saute àl’optimisation

Page 49: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 50G. Berry, Collège de France,

Agenda

Page 50: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 51G. Berry, Collège de France,

Optimisation séquentielle

1. Construction du circuit hiérarchique bon début, mais trop gros

2. Optimisation des registres réduction des redondances

3. Optimisation de la logique combinatoire vitesse, surface, puissance dissipée

Calcul Booléen à grande échelle(expressions, BDDs, SAT, cf cours algo. 2007-2008)

Page 51: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 52G. Berry, Collège de France,

Mauvaise solutions

e1

e2

e3

e0

a

b

b

ab

b

• déterministe => 1-hot explose avec le nb d’états

e0 10

e1 11

e2 01

e3 00

e0 01

e1 10

e2 11

e3 11bon mauvais

n! possibilités, pas d’heuristique !

• log(n) bits pour n états peut faire exploser la logique

Page 52: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 53G. Berry, Collège de France,

R

Ologique combinatoire

registres

I

Il faut équilibrer les registres et la logiqueSolutions : automates non-déterministes

encodage structurel d’Esterel / SyncCharts

Page 53: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

Le secret : écrire chaque chose une fois !

13/01/2010G. Berry, Collège de France, 54

Un registre par attente explicite bon équilibre registres / logiques

Plus le programme est bien écrit,plus il est efficace !

loop abort { await A || await B }; emit O ; halt when Rend loop

Page 54: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

Vérification, optimisation : calculer les états atteignables

13/01/2010G. Berry, Collège de France, 56

FA0 0

A1 A0 U F(A0)

A2 A1 U F(A1)...

A U Ai

• Calculer les Ai en utilisant des BDDs - mais .... BDD(F) explose !

• Utiliser chaque Ai comme simplifieur pour BDD(F)

• Puis utiliser A comme optimiseur pour l’implémentation de F

(Madre, Coudert, Touati)

Page 55: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

Vérification, optimisation : calculer les états atteignables

13/01/2010G. Berry, Collège de France, 57

f

Esterel v7 : en pratique, toujours meilleur

que les méthodes traditionnelles

Page 56: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Optimisation

7. Circuits cycliques

06/01/2010 58G. Berry, Collège de France,

Agenda

Page 57: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 59G. Berry, Collège de France,

Protocole round-robin cylique à 2

A

B

okreq

reqok

• un seule requête ok dans l’ordre des demandes après le registre à 1

Page 58: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 60G. Berry, Collège de France,

Protocole round-robin cylique à 2

A

B

okreq

reqok

• un seule requête ok dans l’ordre des demandes après le registre à 1

• qui tourne à chaque fois

Page 59: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 61G. Berry, Collège de France,

Protocole round-robin cylique à 4

okreq

req

ok

req

ok

reqok

Page 60: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 62G. Berry, Collège de France,

Protocole round-robin cylique à 2

• un seule requête ok dans l’ordre des demandes après le registre à 1

• qui tourne à chaque fois

Attention !cycle combinatoire !

okreq

reqok

Page 61: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 63G. Berry, Collège de France,

Protocole round-robin cylique à 2

okreq

reqok

Cycle sain ssi au moins un registre vaut 1

car coupé par tout registre à 1

Page 62: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 64G. Berry, Collège de France,

Protocole round-robin cylique à 2

okreq

reqok

1

Cycle sain ssi au moins un registre vaut 1

car coupé par tout registre à 1

Page 63: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

1. Sans espoir, ni électriquement, ni logiquementX XX non X

13/01/2010 65G. Berry, Collège de France,

Trois sortes de circuits cycliques

2. Sans problème (éventuellement sous conditions)

partie combinatoire du round-robin cyclique(si au moins une sortie de registre à 1)

3. Etrange

Hamlet : ToBe ToBe or not ToBe

Page 64: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

3. Etrange

Hamlet : ToBe ToBe or not ToBe

13/01/2010 66G. Berry, Collège de France,

Trois sortes de circuits cycliques

ToBe

Se stabilise électriquement à 1 pour certains délais

des portes et fils, mais pas pour tout les délais

Quand un circuit se stabilise-t-ilpour tous les délais des portes et des fils ?

Page 65: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 67G. Berry, Collège de France,

L’électricité est constructive!(Berry – Shiple – Mendler)

Théorème : pour une entrée donnée un circuit

se stabilise pour tous délais des portes et des fils

• si et seulement si toutes les valeurs de ses fils sont calculables en logique constructive, sans tiers exclu « X ou non X 1 »

• si et seulement si le point fixe de ses équations

dans la logique de Scott (B) est partout défini

il existe des délais pour lesquels Hamlet ne se stabilise pas !

Page 66: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 68G. Berry, Collège de France,

Logique propositionnelle constructive

E e 0

E e et e’ 0

E e’ 0

E e et e’ 0

E e 1

E e et e’ 1

E e’ 1

E e 1

E e ou e’ 1

E e’ 1

E e ou e’ 1

E e 0

E e ou e’ 0

E e’ 0

E e 0

E non e 1

E e 1

E non e 0

• E : environnement = fonction des entrées I dans {0,1}

• Formules : « E prouve X = b », écrit « E X b »

E I E(I)

I entrée

X e E e b

E X b

Page 67: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

• Le modèle synchrone déterministe– parallélisme massif + déterminisme– avec toutes les bonnes propriétés du séquentiel– fondé sur des sémantiques mathématiques rigoureuses– qui conduisent à d’excellentes propriétés d’implémentation

13/01/2010 69G. Berry, Collège de France,

Conclusion

• Son champ d’application– reste limité à des systèmes relativement compact– mais reste considérable : circuits, systèmes embarqués critiques (avions, trains, etc.)

le 27 janvier :marier le séquentiel, le synchrone et l’asynchrone

Page 68: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

06/01/2010 70G. Berry, Collège de France,

Références

• The Foundations of Esterel Gérard Berry dans “Proof, Language and Interaction: Essays in Honour of Robin Milner, MIT Press, Foundations of ComputingSeries, 2000.

• Statecharts : a Visual Formalism for Complex Systems David Harel Science of Computer Programming 8 (1987) 231-274

• Synchronous Programming of Reactive Systems Nicolas Halbwachs Kluver, 1992

Page 69: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010

13/01/2010 71G. Berry, Collège de France,

Références

• Compiling Esterel Dumitru Potop-Butucaru, Stephen Edwards et Gérard Berry Springer, 2008

• The Constructive Semantics of Pure Esterel Gérard Berry, web book

• ...et plus sur www-sop.inria.fr/members/Gerard/Berry