La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages

Présentations similaires


Présentation au sujet: "Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages"— Transcription de la présentation:

1 Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages http://www.college-de-france.fr/site/gerard-berry gerard.berry@college-de-france.fr Cours 8, 2 avril 2014

2 1.Calcul de la constructivité des circuits 2.Synchroniseurs mésochrones et plésiochrones 3.Ptides : programmation temps-réel distribuée 02/04/2014 2 G. Berry, Collège de France Agenda

3 1.Calcul de la constructivité des circuits 2.Synchroniseurs mésochrones et plésiochrones 3.Ptides : programmation temps-réel distribuée 02/04/2014 3 G. Berry, Collège de France Agenda

4 02/04/2014 4 G. Berry, Collège de France Partage de ressources  cycles combinatoires O  if C then F(G(I)) else G(F(I)) F G C C I O C 1010 1010 1010 Sharad Malik, Analysis of Cyclic Combinational Circuits IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, VOL. 13, NO. 7, JULY 1994

5 02/04/2014 5 G. Berry, Collège de France Les règles de déduction  true d1d1  bool  d R d  e R  S eSeS deSdeS  d R R   e S  chain dSdS eTeT  max  d,e  S∩T  join rassemble les entrées d’une porte affaiblissement + règles booléennes pour les régions (valables car appliquées à des signaux stables) + opérations arithmétiques sur les délais pour  C, I  fixé,  C, I  ⊢... implicite partout chaîne les transitions y  e x   x   e y)  x   e y 

6 02/04/20146G. Berry, Collège de France d2 d1  max(d1,d2) s 1 s 2 cas x  0 i.e.  0 x  C    s 1  d1 x    s 2  d2 x  s 1  s 2  0x0x 0x0x  d1 s 1  chain 0xs1s20xs1s2  bool  d2 s 2  chain x  0  région s 1 s 2 atteinte en temps max(d1,d2)  join

7 02/04/20147G. Berry, Collège de France cas x  1 i.e.  0 x 0x0x  chain  d1  x  s 1  s 2   bool  d1  d2 s 2  chain  join  d1 s 1 0x0x  chain  d1 s 1  max(d1, d1  d2) s 1 s 2 d2 d1  C    s 1  d1 x    s 2  d2 x  s 1  s 2  x  1  région s 1 s 2 atteinte en temps d1  d2

8 02/04/2014 8 G. Berry, Collège de France Logique Booléenne constructive e  1e  1 e  e’  1 e’  1 e  e’  1e  e’  0 e  0e  0e’  0 e  1e  1  e  0 Circuit C, vecteur d’entrées : I  entrées → {0,1} Formules : I ⊢ e  b, abrégées en e  b si I constant X :  e  C e  b X  bX  b e  0e  0 e  e’  0 e’  0 e  e’  0e  e’  1 e  1e  1e’  1 e  0e  0  e  1 I  I(I)I  I(I) I entrée

9 02/04/2014 9 G. Berry, Collège de France Exemple de transformation de preuves  max(d1,d2) s 1 s 2 cas x  0 i.e.  0 x  C    s 1  d1 x    s 2  d2 x  s 1  s 2  0x0x 0x0x  d1 s 1  chain 0xs1s20xs1s2  bool  d2 s 2  chain  join x0x0 s11s11 I (x)  0 ⊢ x  0  x  s 1  s 2  1 s 1  x  C s2  xs1ss2  xs1s s 2  1 UN-logic Constructive Boolean Logic s 1  1  s 2  1

10 Pour des délais fixés, la UN-prouvabilité vs. ⊢ est une CNS pour la UN-stabilisation vs. ⊨ 02/04/201410 G. Berry, Collège de France On arrive au bout ! 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

11 02/04/2014 11 G. Berry, Collège de France Partage de ressources  cycles combinatoires O  if C then F(G(I)) else G(F(I)) cycle F G C C I O C 1010 1010 1010

12 02/04/2014 12 G. Berry, Collège de France Partage de ressources  cycles combinatoires F G 1 O 1 1010 1010 1010 1 I C  1  O  if C then F(G(I)) else G(F(I)) 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)

13 02/04/2014 13 G. Berry, Collège de France Ordre d’information : la logique ternaire de Scott  ttff  tt  ff B  : booléens de Scott   indéfini   je ne sais pas   je ne veux pas savoir   moins défini que (x,y)  (x’,y’ ) ssi x  x’ et y  y’ i.e. (x,y) moins défini que (x’,y’) tt, , ,  , tt tt, tt , ff tt, ff ff,  ff, tt ff, ff B   B  (vu d’avion)

14 02/04/2014 14 G. Berry, Collège de France Fonctions croissantes Plus on en donne, plus on en récupère ! f :  croissante ssi  x, y. x  y  f(x)  ’ f(y) Fonction constante :  x, y. f(x)  f(y) Attention : {  tt, tt  tt, ff  tt } : B   B  constante { , tt  tt, ff  tt } : B   B  stricte, pas constante ! Ordre des fonctions : f  f’ ssi f partout moins définie que f’ f  f’ ssi  x. f(x)  f’(x)

15 02/04/2014 15 G. Berry, Collège de France Disjonction Booléenne tt, ,, ,tt tt,tt ,ff tt,ff ff,  ff,tt ff,ff ous en C: e | e’ 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 oup    

16 02/04/2014 16 G. Berry, Collège de France Disjonction Booléenne en logiciel tt, ,, ,tt tt,tt ,ff tt,ff ff,  ff,tt ff,ff ous en C: e | e’ 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   Plotkin, 1972 Berry, 1977 cf. cours du 09/12/2009

17 02/04/2014 17 G. Berry, Collège de France Disjonction Booléenne en circuits ous ougoud tt, ,, ,tt tt,tt ,ff tt,ff ff,  ff,tt ff,ff oup : x  y     (x  x)  (x  y) (y  y)  (x  y) (x  x)  (y  y)  (x  y)

18 02/04/2014 18 G. Berry, Collège de France Ou / et parallèle  logique constructive tt, ,, ,tt tt,tt ,ff tt,ff ff,  ff,tt ff,ff xy xy I e  0  I e  e’  0  I e’  0  I e’  1  I e  e’  1  I e  1  I e  e’  1  I e ou non e  1   tt

19 02/04/2014 19 G. Berry, Collège de France Théorème de point fixe Soit et f : D  D croissante pour  Un point fixe de f est un x  D tel que f (x)  x Théorème 2 : si D est fini (ou D complet et f continue), Théorème 2 : alors Y(f )  U n>0 f n (  ) Algorithme : calculer y 1  f (  ), y 2  f (y 1 ),..., y n+1  f (y n ) Algorithme : s’arrêter dès que y n+1  y n Algorithme : alors Y(f)  y n cf. cours lambda-calcul du 9 décembre 2009 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

20 02/04/2014 20 G. Berry, Collège de France Application aux circuits cycliques (S. Malik) d2 d1  C    s 1  d1 x    s 2  d2 x  s 1  s 2  1. x  0 : f  s 1,s 2    tt,tt  2. x  1 : f  s 1,s 2    ff,  s 1  s 2  2. x  1 : f ,    ff,  2. x  1 : f  ff,    ff, tt  2. x  1 : f  ff,tt    ff, tt   résultat final s 1 s 2 1. x  0 : f ,    tt,tt )  f  tt,tt   résultat final s 1 s 2  le circuit est constructif pour toute entrée

21 Question : au lieu de traiter les vecteurs entrées un par un, ne peut-on pas les traiter tous en même temps ? 02/04/2014 21 Evaluation symbolique 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

22 Codage d’un Booléen de Scott par deux Booléens standards : –x  (x d,x v ) avec   (ff,ff), tt  (tt,tt) et ff  (tt,ff) –notation : x tt pour x d  x v, x ff pour x d  x v 02/04/2014 22 Codages Dual Rail Codage d’un ensemble par sa fonction caractéristique : –ex. { (x,y) | x  et y  ff }  x d  y ff Codage d’une fonction par une expression : –ex. : x  y  ( x tt  y tt  (x ff  y ff ), x tt  y tt ) Codage de l’image d’un ensemble par une fonction : –ex. : si E  B  2 et f : B  2  B  2 – 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

23 02/04/2014 23 G. Berry, Collège de France Algorithme itératif symbolique  C    s 1  d1 x    s 2  d2 x  s 1  s 2   (y,z)  (  x,  x  y  z)   (y d,y v,z d,z v, )  (x d, x ff, x ff  y ff  z tt  (x tt  y tt  z ff ), x ff  y ff  z tt ) Y(  )  (x d, x ff, x d, x d )  uniformément constructif   (ff,ff,ff,ff, )  (x d, x ff, x d, x ff )   (x d, x ff, x d, x ff )  (x d, x ff, x d, x d )  ( ,  )  (  x,  x)  (  x,  x)  (  x,  x  x  x)  (  x, x  x ) Version acyclique :  C    s 1  x    s 2  1 

24 02/04/2014 24 G. Berry, Collège de France Importance des relations d’entrée input TOP_HORLOGE, INDICATEUR_ON ; relation TOP_HORLOGE # INDICATEUR_ON ; signal FIN, REARMEMENT in abort await TOP_HORLOGE ; emit FIN end when REARMEMENT || abort every INDICATEUR_ON ; emit REARMEMENT when FIN end signal TOP_HORLOGE # INDICATEUR_ON  FIN # REARMEMENT E. Ledinot, Dassault aviation, séminaire du 16/04/2013

25 02/04/2014 25 G. Berry, Collège de France Bonus L’algorithme symbolique de constructivité calcul le prédicat d’entrée maximal qui rend le circuit constructif

26 02/04/2014 26 G. Berry, Collège de France Ordonnanceur round-robin à jeton Cycle combinatoire ! ok req ok

27 02/04/2014 27 G. Berry, Collège de France Ordonnanceur round-robin à jeton le cycle est sain car coupé à une porte ou ok req ok

28 02/04/2014 28 G. Berry, Collège de France ok req ok Le registre à 1 change à chaque cycle, le point de coupure avec

29 02/04/2014 29 G. Berry, Collège de France Ordonnanceur round-robin à jeton Cycle incorrect si aucun registre à 1 au départ ! ok req ok Condition de constructivité de la partie cyclique : R 1  R 2 R1R1 R2R2 Doit être vraie à l’instant initial et préservée dans l’exécution  calcul des états atteignables (vs. le temps de l’horloge)

30 02/04/201430G. Berry, Collège de France Calcul symbolique des états atteignables N R 0  0 R 1  R 0 U N(R 0 ) R 2  R 1 U N(R 1 )... R n+1  R n U N(R n )  R n Calculer les R i en utilisant des BDDs - mais.... BDD(F) explose ! Utiliser chaque R i comme simplifieur pour BDD(F) Puis utiliser R comme optimiseur pour l’implémentation de F (Madre, Coudert, Touati) R  RnR  Rn Vérifier pour tout i que R i rend le circuit combinatoire constructif

31 02/04/2014 31 G. Berry, Collège de France Délai « électrique » UN ou UI ?  d d  d d d d Délai UN d  ℝ + h h’ s sdsd h  s, ∞  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.

32 1.Calcul de la constructivité des circuits 2.Synchroniseurs mésochrones et plésiochrones 3.Ptides : programmation temps-réel distribuée 02/04/2014 32 G. Berry, Collège de France Agenda

33 Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz et Ahmed Hemani, KTH Stockholm Euromicro 2011 02/04/2014 33 Synchroniseurs mésochrones et plésiochrones G. Berry, Collège de France

34 02/04/2014 34 G. Berry, Collège de France Horloges multiples Même fréquence synchrones  même phase mésochrones :  décalage de phase constant plésiochrones :  décalage de phase variable Fréquences différentes harmoniques  rapports rationnels asynchrones  rapports inconnus / variables

35 02/04/201435 G. Berry, Collège de France Echantillonnage par front montant ou descendant

36 02/04/201436 G. Berry, Collège de France Echantillonnage par front montant ou descendant

37 02/04/2014 37 G. Berry, Collège de France Chemin de données clk 0 00 10 11 D

38 02/04/201438G. Berry, Collège de France 0 00 01 11 d délai T/4 strobe resync clk titi t i-1

39 02/04/201439G. Berry, Collège de France titi t i-1 strobe strobed 1 0 data OK strobe strobed 1 1 data OK 0 à t i-1 et 1 à t i  front montant 1 à t i-1 et 1 à t i  front descendant

40 02/04/201440G. Berry, Collège de France titi t i-1 strobe strobed 0 data OK strobe strobed 11 data 1  1 1 plus tard ! 0 OK 0 à t i-1 et 1 à t i  front montant 1 à t i-1 et 1 à t i  front descendant 0

41 02/04/201441G. Berry, Collège de France 0 00 11 01 clk d délai resync 1 titi t i-1 clk strobe

42 02/04/2014 42 G. Berry, Collège de France Horloges multiples Même fréquence synchrones  même phase mésochrones :  décalage de phase constant plésiochrones :  décalage de phase variable Fréquences différentes harmoniques  rapports rationnels asynchrones  rapports inconnus / variables

43 02/04/2014 43 G. Berry, Collège de France 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

44 1.Calcul de la constructivité des circuits 2.Synchroniseurs mésochrones et plésiochrones 3.Ptides : programmation temps-réel distribuée 02/04/2014 44 G. Berry, Collège de France Agenda

45 02/04/2014 45 G. Berry, Collège de France Ptides (E. Lee et. al) : Programming Temporally Integrated Distributed Systems les messages portent des timestamps précis Les acteurs spécifient les calculs

46 02/04/2014 46 G. Berry, Collège de France synchro d’horloge bornée (PTP) la synchronisation donne un sens global aux timestamps messages traités dans l’ordre des timestamps Synchronisation d’horloges

47 02/04/2014 47 G. Berry, Collège de France Synchronisation d’horloges timestamp  temps limite timestamp = date de mesure capteurs  acteurs actuateurs  acteurs actuateurs : timestamps  date de l’action

48 02/04/2014 48 G. Berry, Collège de France Maîtrise des latences 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

49 02/04/2014 49 G. Berry, Collège de France Conséquence : déterminisme ! délai du réseau borné d un événement de timestamp t peut être sorti au temps t + s + d + e – d2 hypothèse: erreur d’horloge bornée e hypothèse : délai des capteurs borné s application: latence d2 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.

50 02/04/201450 G. Berry, Collège de France Implémentation de Ptides

51 02/04/2014 51 G. Berry, Collège de France 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. 283-329, 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, 2011Euromicro Symposium on Digital Systems Design - DSD On the Schedulability of Real-Time Discrete Event Systems E. Matsikoudis, C. Stergiou, E.A. Lee. Proc EMSOFT 2013. 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-2008-72, EECS Department, University of California, Berkeley http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-72.html


Télécharger ppt "Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages"

Présentations similaires


Annonces Google