Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Chaire Algorithmes, machines et langages
Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages Cours 8, 2 avril 2014
2
Agenda Calcul de la constructivité des circuits
Synchroniseurs mésochrones et plésiochrones Ptides : programmation temps-réel distribuée G. Berry, Collège de France 02/04/2014
3
Agenda Calcul de la constructivité des circuits
Synchroniseurs mésochrones et plésiochrones Ptides : programmation temps-réel distribuée G. Berry, Collège de France 02/04/2014
4
Partage de ressources cycles combinatoires
O if C then F(G(I)) else G(F(I)) F G C I O 1 Sharad Malik, Analysis of Cyclic Combinational Circuits IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, VOL. 13, NO. 7, JULY 1994 G. Berry, Collège de France 02/04/2014
5
Les règles de déduction
true pour C,I fixé, C,I ⊢ ... implicite partout d1 dR d e RS eS bool affaiblissement chaîne les transitions y e x x ey)x ey deS dR R eS chain dS eT maxd,eS∩T join rassemble les entrées d’une porte + règles booléennes pour les régions (valables car appliquées à des signaux stables) + opérations arithmétiques sur les délais G. Berry, Collège de France 02/04/2014
6
C s1 d1 x s2 d2 xs1s2
bool 0x 0xs1s2 chain chain cas x0 i.e. 0x d1s1 d2s2 join max(d1,d2) s1s2 x0 région s1s2 atteinte en temps max(d1,d2) G. Berry, Collège de France 02/04/2014
7
C s1 d1 x s2 d2 xs1s2
chain d1s1 bool 0x d1xs1s2 cas x1 i.e. 0x chain chain d1s1 d1d2s2 join max(d1, d1d2) s1s2 x1 région s1s2 atteinte en temps d1d2 G. Berry, Collège de France 02/04/2014
8
Logique Booléenne constructive
Circuit C, vecteur d’entrées : I entrées → {0,1} Formules : I ⊢ e b, abrégées en e b si I constant I I(I) I entrée e 0 e 1 e 1 e 0 e 0 e e’ 0 e’ 0 e e’ 1 e 1 e’ 1 e 1 e e’ 1 e’ 1 e e’ 0 e 0 e’ 0 X : e C e b X b G. Berry, Collège de France 02/04/2014
9
Exemple de transformation de preuves
C s1 d1 x s2 d2 xs1s2 cas x0 i.e. 0x 0x bool 0x d1s1 chain 0xs1s2 chain d2s2 join max(d1,d2) s1s2 UN-logic Constructive Boolean Logic I(x)0 ⊢ x0 s1x C x0 s2 xs1s xs1s2 1 s11 s2 1 s11 s21 G. Berry, Collège de France 02/04/2014
10
On arrive au bout ! Pour des délais fixés, la UN-prouvabilité vs. ⊢ est une CNS pour la UN-stabilisation vs. ⊨ Mais toute preuve avec délais peut être transcrite en preuve Booléenne constructive sans délais, et réciproquement ! Autrement dit : la prouvabilité en logique booléenne constructive sans délais caractérise exactement la UN-constructivité uniforme (pour n’importe quels délais) Bonus: les algorithmes de simulation par preuve calculent le temps maximum de réaction du circuit pour chaque vecteur d’entrée G. Berry, Collège de France 02/04/2014
11
Partage de ressources cycles combinatoires
O if C then F(G(I)) else G(F(I)) C cycle 1 F C 1 I O 1 G C G. Berry, Collège de France 02/04/2014
12
Partage de ressources cycles combinatoires
C 1 O if C then F(G(I)) else G(F(I)) 1 1 F 1 1 I O 1 G 1 Chaque porte est utilisée au plus une fois pour une entrée donnée, interprétation en temps linéaire (option –I d’Esterel v5) G. Berry, Collège de France 02/04/2014
13
Ordre d’information : la logique ternaire de Scott
tt ff tt ff B : booléens de Scott indéfini je ne sais pas je ne veux pas savoir moins défini que tt, , , tt tt, tt , ff tt, ff ff, ff, tt ff, ff (x,y) (x’,y’ ) ssi x x’ et y y’ i.e. (x,y) moins défini que (x’,y’) B B (vu d’avion) G. Berry, Collège de France 02/04/2014
14
Fonctions croissantes
Plus on en donne, plus on en récupère ! f : <D,,> <D’,’,’ > croissante ssi x, y. x y f(x) ’ f(y) Ordre des fonctions : f f’ ssi f partout moins définie que f’ f f’ ssi x. f(x) f’(x) Fonction constante : x, y. f(x) f(y) Attention : {tt, tttt, fftt } : B B constante {, tttt, fftt } : B B stricte, pas constante ! G. Berry, Collège de France 02/04/2014
15
Disjonction Booléenne
tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oup tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oug en C : e || e’ tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oud en C: e’ || e tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff ous en C: e | e’ G. Berry, Collège de France 02/04/2014
16
Disjonction Booléenne en logiciel
Plotkin, 1972 Berry, 1977 cf. cours du 09/12/2009 tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oug en C : e || e’ tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oud en C: e’ || e oup tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff ous en C: e | e’ G. Berry, Collège de France 02/04/2014
17
Disjonction Booléenne en circuits
tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oup : xy (xx)(xy) (yy)(xy) oug oud (xx)(yy)(xy) ous G. Berry, Collège de France 02/04/2014
18
Ou / et parallèle logique constructive
I e’ 1 I e e’ 1 I e 1 I e e’ 1 tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff xy I e 0 I e e’ 0 I e’ 0 I e ou non e 1 tt G. Berry, Collège de France 02/04/2014
19
Théorème de point fixe cf. cours lambda-calcul du 9 décembre 2009
Soit <D,,> et f : D D croissante pour Un point fixe de f est un xD tel que f (x) x Théorème 1 : f admet un plus petit point fixe Y(f ) tel que f(Y(f)) Y(f ) et x. f (x) x Y(f ) x Théorème 2 : si D est fini (ou D complet et f continue), Théorème 2 : alors Y(f ) Un>0 f n() Algorithme : calculer y1 f (), y2 f (y1), ..., yn+1 f (yn) Algorithme : s’arrêter dès que yn+1 yn Algorithme : alors Y(f) yn cf. cours lambda-calcul du 9 décembre 2009 G. Berry, Collège de France 02/04/2014
20
Application aux circuits cycliques (S. Malik)
d2 d1 C s1 d1 x s2 d2 xs1s2 1. x 0 : f s1,s2 tt,tt 1. x 0 : f , tt,tt ) f tt,tt résultat final s1s2 2. x 1 : f s1,s2 ff, s1s2 2. x 1 : f , ff, 2. x 1 : f ff, ff,tt 2. x 1 : f ff,tt ff,tt résultat final s1s2 le circuit est constructif pour toute entrée G. Berry, Collège de France 02/04/2014
21
Evaluation symbolique
Question : au lieu de traiter les vecteurs entrées un par un, ne peut-on pas les traiter tous en même temps ? Réponse : si, par évaluation symbolique représentation des ensembles, fonctions et images directes ou inverses par des expressions booléennes codages efficaces de ces expressions (ex. BDDs) algorithmes d’itération de point fixe sur BDD formels pour la constructivité Implémenté dans Esterel v5 (option –causal) en utilisant le système de BDDs TiGeR Merci à T. Shiple, O. Coudert, J-C. Madre et H. Touati G. Berry, Collège de France 02/04/2014
22
Codages Dual Rail Codage d’un Booléen de Scott par deux Booléens standards : x (xd,xv) avec (ff,ff), tt (tt,tt) et ff (tt,ff) notation : xtt pour xdxv , xff pour xdxv Codage d’un ensemble par sa fonction caractéristique : ex. { (x,y) | x et yff } xdyff Codage d’une fonction par une expression : ex. : xy ( xttytt(xffyff) , xttytt ) Codage de l’image d’un ensemble par une fonction : ex. : si E B2 et f : B2 B2 alors f(E) { (x’,y’) | (x,y)E. (x’,y’) f(x,y) } avec (x,y).P(x,y) P(ff,ff,ff,ff)P(tt,tt,ff,ff)P(tt,ff,ff,ff) P(ff,ff,tt,tt)... P(tt,ff,tt,ff) Gare aux exponentielles ! G. Berry, Collège de France 02/04/2014
23
Algorithme itératif symbolique
C s1 d1 x s2 d2 xs1s2 (y,z) (x, xyz) (yd,yv,zd,zv,) (xd , xff , xffyffztt(xttyttzff) , xffyffztt) (, ) (x, x) (ff,ff,ff,ff,) (xd , xff , xd , xff) (x, x) (x, xxx) (x, xx) (xd , xff , xd , xff) (xd , xff , xd , xd) Y() (xd , xff , xd , xd) uniformément constructif Version acyclique : C s1 x s2 1 G. Berry, Collège de France 02/04/2014
24
Importance des relations d’entrée
E. Ledinot, Dassault aviation, séminaire du 16/04/2013 input TOP_HORLOGE, INDICATEUR_ON ; relation TOP_HORLOGE # INDICATEUR_ON ; signal FIN, REARMEMENT in abort await TOP_HORLOGE ; emit FIN end when REARMEMENT || every INDICATEUR_ON ; emit REARMEMENT when FIN end signal TOP_HORLOGE # INDICATEUR_ON FIN # REARMEMENT G. Berry, Collège de France 02/04/2014
25
Bonus L’algorithme symbolique de constructivité
calcul le prédicat d’entrée maximal qui rend le circuit constructif G. Berry, Collège de France 02/04/2014
26
Ordonnanceur round-robin à jeton
ok Cycle combinatoire ! ok req G. Berry, Collège de France 02/04/2014
27
Ordonnanceur round-robin à jeton
req ok le cycle est sain car coupé à une porte ou ok req G. Berry, Collège de France 02/04/2014
28
le point de coupure avec
req ok Le registre à 1 change à chaque cycle, le point de coupure avec ok req G. Berry, Collège de France 02/04/2014
29
Ordonnanceur round-robin à jeton
ok Cycle incorrect si aucun registre à 1 au départ ! R1 Condition de constructivité de la partie cyclique : R1R2 R2 Doit être vraie à l’instant initial et préservée dans l’exécution calcul des états atteignables (vs. le temps de l’horloge) ok req G. Berry, Collège de France 02/04/2014
30
Calcul symbolique des états atteignables
R0 0 R1 R0 U N(R0) R2 R1 U N(R1) N ... Rn+1 Rn U N(Rn) Rn R Rn Vérifier pour tout i que Ri rend le circuit combinatoire constructif Calculer les Ri en utilisant des BDDs - mais .... BDD(F) explose ! Utiliser chaque Ri comme simplifieur pour BDD(F) Puis utiliser R comme optimiseur pour l’implémentation de F (Madre, Coudert, Touati) G. Berry, Collège de France 02/04/2014
31
Délai « électrique » UN ou UI ?
h d d h’ s sd Délai UN dℝ+ hs,∞d h’s d,∞d Délai UI dℝ+ : ajout d’inertie: la sortie ne peut pas changer si l’entrée n’a pas changé depuis d cf. Brzozowski Seger, Shiple Touati Berry (constructivité v1) Inconvénients : deux délais UI accolés ne font pas un délai UI les fils forment une sorte de mémoire etc. G. Berry, Collège de France 02/04/2014
32
Agenda Calcul de la constructivité des circuits
Synchroniseurs mésochrones et plésiochrones Ptides : programmation temps-réel distribuée G. Berry, Collège de France 02/04/2014
33
Synchroniseurs mésochrones et plésiochrones
Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz et Ahmed Hemani, KTH Stockholm Euromicro 2011 G. Berry, Collège de France 02/04/2014
34
Horloges multiples synchrones même phase mésochrones :
décalage de phase constant Même fréquence plésiochrones : décalage de phase variable Fréquences différentes harmoniques rapports rationnels asynchrones rapports inconnus / variables G. Berry, Collège de France 02/04/2014
35
Echantillonnage par front montant ou descendant
G. Berry, Collège de France 02/04/2014
36
Echantillonnage par front montant ou descendant
G. Berry, Collège de France 02/04/2014
37
Chemin de données D clk 00 10 11 G. Berry, Collège de France
00 10 11 D clk G. Berry, Collège de France 02/04/2014
38
délai resync T/4 strobe ti-1 d ti clk 00 01 11
00 01 11 clk d délai T/4 resync strobe ti ti-1 G. Berry, Collège de France 02/04/2014
39
ti ti-1 data strobe 1 strobed OK data strobe 1 1 strobed OK
strobed OK data strobe 1 1 strobed OK 0 à ti-1et 1 à ti front montant 1 à ti-1et 1 à ti front descendant G. Berry, Collège de France 02/04/2014
40
ti-1 ti data strobe OK 1 strobed 1 1 plus tard ! data strobe OK 1 1
strobed 1 1 plus tard ! data strobe OK 1 1 strobed OK 0 à ti-1et 1 à ti front montant 1 à ti-1et 1 à ti front descendant G. Berry, Collège de France 02/04/2014
41
1 clk resync d délai ti-1 strobe clk ti 00 11 01
00 11 01 1 clk resync d délai ti-1 strobe clk ti G. Berry, Collège de France 02/04/2014
42
Horloges multiples synchrones même phase mésochrones :
décalage de phase constant Même fréquence plésiochrones : décalage de phase variable Fréquences différentes harmoniques rapports rationnels asynchrones rapports inconnus / variables G. Berry, Collège de France 02/04/2014
43
à utiliser dans 2 coups d’horloge
Idée : l’émetteur inverse strobe à chaque tick et le récepteur prévoit le front montant ou descendant à utiliser dans 2 coups d’horloge G. Berry, Collège de France 02/04/2014
44
Agenda Calcul de la constructivité des circuits
Synchroniseurs mésochrones et plésiochrones Ptides : programmation temps-réel distribuée G. Berry, Collège de France 02/04/2014
45
Ptides (E. Lee et. al) : Programming Temporally Integrated Distributed Systems
Les acteurs spécifient les calculs les messages portent des timestamps précis G. Berry, Collège de France 02/04/2014
46
Synchronisation d’horloges
messages traités dans l’ordre des timestamps synchro d’horloge bornée (PTP) la synchronisation donne un sens global aux timestamps G. Berry, Collège de France 02/04/2014
47
Synchronisation d’horloges
capteurs acteurs timestamp = date de mesure timestamp temps limite actuateurs acteurs actuateurs : timestamps date de l’action G. Berry, Collège de France 02/04/2014
48
maîtrise des latences par calcul des timestamps
La latence globale des capteurs aux actionneurs est calculable, ce qui rend la correction et la performance du système analysable maîtrise des latences par calcul des timestamps retour au monde physique G. Berry, Collège de France 02/04/2014
49
Conséquence : déterminisme !
délai du réseau borné d hypothèse : délai des capteurs borné s Note : Il faut des bornes aux interfaces réseau pour garantir l’ordre temporel indépen- damment de l’ordre d’exécution des acteurs. application: latence d2 un événement de timestamp t peut être sorti au temps t + s + d + e – d2 hypothèse: erreur d’horloge bornée e G. Berry, Collège de France 02/04/2014
50
Implémentation de Ptides
G. Berry, Collège de France 02/04/2014
51
Références Constructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shiple et G. Berry. Formal Methods in System Design, Vol.40, No.3, pp , Springer (2012). Constructive Analysis of Cyclic Circuits T. Shiple, G. Berry et H. Touati. Proc. Int. Design and Testing Conference IDTC'96, Paris, France (1996). Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz, Ahmed Hemani Conference: Euromicro Symposium on Digital Systems Design - DSD , 2011 PTIDES: A Programming Model for Distributed Real-Time Embedded Systems P. Derler, T. Huining Feng, E.A. Lee, S. Matic, H.D.Patel, YangZ hao, Jia Zou Report EECS , EECS Department, University of California, Berkeley On the Schedulability of Real-Time Discrete Event Systems E. Matsikoudis, C. Stergiou, E.A. Lee. Proc EMSOFT 2013. G. Berry, Collège de France 02/04/2014
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.