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 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/ 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/ G. Berry, Collège de France Agenda

4 02/04/ 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 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/ 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/ 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/ 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/ 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/ 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

12 02/04/ G. Berry, Collège de France Partage de ressources  cycles combinatoires F G 1 O 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ 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/ G. Berry, Collège de France Ordonnanceur round-robin à jeton Cycle combinatoire ! ok req ok

27 02/04/ 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/ G. Berry, Collège de France ok req ok Le registre à 1 change à chaque cycle, le point de coupure avec

29 02/04/ 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/ 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/ 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 /04/ Synchroniseurs mésochrones et plésiochrones G. Berry, Collège de France

34 02/04/ 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/ G. Berry, Collège de France Echantillonnage par front montant ou descendant

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

37 02/04/ G. Berry, Collège de France Chemin de données clk D

38 02/04/201438G. Berry, Collège de France 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 clk d délai resync 1 titi t i-1 clk strobe

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

45 02/04/ 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/ 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/ 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/ 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/ 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/ G. Berry, Collège de France Implémentation de Ptides

51 02/04/ 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 , 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 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


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