parallélisme synchrone gérard berry collège de france chaire informatique et sciences numériques...
TRANSCRIPT
![Page 1: Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/49.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/50.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/51.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/56.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/57.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/58.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/59.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/60.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/61.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/62.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/63.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/64.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/65.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/67.jpg)
• 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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/68.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022062417/551d9da0497959293b8cf77d/html5/thumbnails/69.jpg)
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