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

Chaire Algorithmes, machines et langages

Présentations similaires


Présentation au sujet: "Chaire Algorithmes, machines et langages"— Transcription de la présentation:

1 Chaire Algorithmes, machines et langages
L’électricité est constructive : un modèle intuitionniste de la stabilisation électrique des circuits cycliques Gérard Berry Collège de France Chaire Algorithmes, machines et langages Cours 7, 26 mars 2014

2 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

3 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

4 Cycles sains en logiciel (Esterel)
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 26/03/2014

5 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 26/03/2014

6 Partage de ressources  cycles combinatoires
O  if C then F(G(I)) else G(F(I)) F G C I O 1 cycle G. Berry, Collège de France 26/03/2014

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

8 Partage de ressources  cycles combinatoires
C  0  O  if C then F(G(I)) else G(F(I)) 1 F 1 I O 1 G Le cycle ne pose ni problème logique, ni problème électrique ! G. Berry, Collège de France 26/03/2014

9 Ordonnanceur round-robin à jeton
ok req G. Berry, Collège de France 26/03/2014

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

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

12 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 26/03/2014

13 Ordonnanceur round-robin à jeton
ok Cycle incorrect si aucun registre à 1 au départ ! ok req G. Berry, Collège de France 26/03/2014

14 ILD  Instruction Length Decoder
1 4 6 2 3 5 Buffer circulaire 16 octets arrivant aléatoirement Longueur dépendant du premier octet puis des suivants Longueur potentiellement quelconque Design naturellement cyclique et dur à rendre acyclique G. Berry, Collège de France 26/03/2014

15 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

16 Les trois sortes de circuits cycliques
Bons : stabilisation électrique, solution logique unique exemples précédents Mauvais : pas de stabilisation électrique, pas de solution logique unique X  X X  X X Bizarres : solution logique unique, mais stabilisation électrique dépendant des délais des fils et portes X  X  X D E pas de stabilisation électrique en partant de X0 avec D2 et E5 G. Berry, Collège de France 26/03/2014

17 Electricité  Logique constructive ?
Hamlet : ToBe  ToBe or not ToBe ToBe Calcule 1 en logique classique mais pas en logique constructive (sans tiers exclu) ! Peut-on caractériser logiquement les « bons circuits », i.e., ceux qui se stabilisent électriquement à cause de la propagation toute bête des signaux des entrées jusqu’aux sorties ? G. Berry, Collège de France 26/03/2014

18 Notre objectif Etudier de façon vraiment formelle la relation entre une vision « raisonnablement électrique » et une vision logique Modéliser la stabilisation, en faisant l’impasse sur les transitoires et autres phénomènes électriques non pertinents pour le besoin Aller de la théorie aux algorithmes pratiques : détection de correction, construction d’un circuit acyclique équivalent, vérification formelle par rapport à un autre circuit Théorème (Mendler-Shiple-Berry): circuit constructif  sorties électriquement stable vers une valeur unique pour tous délais sorties calculable vers 0 ou 1 en logique constructive sorties 0 ou 1 dans le point fixe en logique ternaire {, 0, 1}  algorithmes pour tester la stabilité électrique G. Berry, Collège de France 26/03/2014

19 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 26/03/2014

20 Intuitionnisme  absence de tiers exclu
Règles dérivables : I ⊢ e  1 I ⊢ e  e  1 I ⊢ e  0 I ⊢ e  e  1 Règle non dérivable – le vrai tiers exclu : I ⊢ e  e  1 Principe intuitionniste : pour prouver e  e’, il faut prouver e ou prouver e’ Fait électrique : l’électricité est intuitionniste, car les électrons ne sont pas au courant du tiers exclu ! G. Berry, Collège de France 26/03/2014

21 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

22 Circuits avec délais Portes logiques : délai nul, groupement possible
notation polynomiale : y1  x, s2  s1xs2  s1xs2 Nœuds explicites pour les délais Au minimum un délai par cycle G. Berry, Collège de France 26/03/2014

23 Histoires « électriques »
1 t u u Histoire : h : ℝ+→ Bn continue à droite (avec B  {0,1}) Intervalle semi-ouvert : t,u , t  u  {  | t    u } souvent noté t,u  Tranche d’histoire : ht,u : la partie de h dans l’intervalle [t,u Tranche d’histoire : h0,∞  h Satisfaction d’un prédicat P par une tranche : ht,u ⊨ P modèle G. Berry, Collège de France 26/03/2014

24 Délai « électrique » UN et stabilité
h  d d h’ t td Délai UN : dℝ+ ht,ub et td  u  h’td,ub Une histoire h est stable à b après un délai d si hd,∞  b Sinon, h est dite instable ou oscillante G. Berry, Collège de France 26/03/2014

25 Circuits UN-constructifs
Définition : un circuit est UN-constructif pour des d’entrées stables et un jeu de délais si toutes ses sorties se stabilisent vers les mêmes valeurs dans toute exécution Définition : un circuit est uniformément UN-constructif pour des entrées stables s’il est UN-constructif pour tout jeu de délais. Définition : un circuit est uniformément UN-constructif s’il est uniformément UN-constructif pour toutes entrées stables G. Berry, Collège de France 26/03/2014

26 Les prédicats UN et le modèle temporel
R  Bn : région  prédicat booléen à n variables booléennes ex. : x y  y z ou encore Ø (vide, faux) (n.b. : symboles  utilisés pour les prédicats) ht,u ⊨ R : si t,u. hR i.e., l’histoire h reste dans la région R entre t et u ht,u ⊨ x dans h, x est stable à 1 entre t et u ht,u ⊨ x dans h, x est stable à 0 entre t et u ht,u ⊨ x y dans h, x est stable à 1 et y stable à 0 ht,u ⊨ x y entre t et u G. Berry, Collège de France 26/03/2014

27 Conjonction, disjonction et délai
ht,u ⊨  ssi ht,u ⊨  et ht,u ⊨  ht,u ⊨  ssi ht,u ⊨  ou ht,u ⊨  ht,u ⊨ d ssi td  u et htd,u ⊨   est constamment satisfait après un délai d dans t,u 1 t td u u ht,u ⊨ x ht,u ⊨ dx G. Berry, Collège de France 26/03/2014

28 La négation constructive
Objectif : représenter la porte not x stable à 1 : ht,u ⊨ x opposé logique : ht,u ⊨ x mais l’opposé logique est satisfait par tout signal instable or nous voulons x stable à 0, i.e. x  x, ce qui est différent! 1 t u ni ht,u) ⊨ x ni ht,u) ⊨ x ht,u ⊨  ssi t’,u’t,u. ht’,u’ ⊨   n’est jamais satisfaite par h sur t,u différent de  n’est pas satisfaite par h ! G. Berry, Collège de France 26/03/2014

29 Implication, équivalence
Implication notée  pour éviter la confusion avec  doit utiliser les sous-intervalles, car x  x Ø ht,u ⊨  si t’,u’t,u. ht’,u’ ⊨   ht’,u’ ⊨  ht,u ⊨  si t’,u’t,u. ht’,u’ ⊨   ht’,u’ ⊨  G. Berry, Collège de France 26/03/2014

30 Résumé des règles de la logique UN
ht,u ⊨ R si t,u. hR ht,u ⊨  si ht,u ⊨  et ht,u ⊨  ht,u ⊨  si ht,u ⊨  ou ht,u ⊨  ht,u ⊨  si t’,u’t,u. ht’,u’ ⊨  ht,u ⊨  si t’,u’t,u. ht’,u’ ⊨   ht’,u’ ⊨  ht,u ⊨  si t’,u’t,u. ht’,u’ ⊨   ht’,u’ ⊨  ht,u ⊨ d si td  u et htd,u ⊨  Notation :  ⊨  ssi h,t,u. ht,u ⊨   ht,u ⊨  G. Berry, Collège de France 26/03/2014

31 Propriétés de la logique UN
La logique exprime bien la stabilité : x stable dans ht,u  ht,u ⊨ x  x noté x Le tiers exclu est faux en général ex. : h[t,u ⊨ x  x si h instable pour x dans [t,u La disjonction est intuitionniste : elle choisit son camp ht,u ⊨   ht,u ⊨  globalement ou ht,u ⊨  globalement G. Berry, Collège de France 26/03/2014

32 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

33 Codage des circuits Principes : coder les circuits par des formules
coder les valeurs d’une entrée par 0x pour 1 et 0x pour 0 coder les portes directement par les opérateurs booléens coder les délais par des « affectations à retard » : y d x défini par x  dy  yx ou équivalent x  dy)x  dy Exemple : z  x y  y  s1 s2   s1 d y  s2 e y z x y s1 d e s2 s1 d s1s2  s2 e s1 s2  : forme normale des délais stabiliser les délais stabilise tous les fils ! G. Berry, Collège de France 26/03/2014

34 C  s1 d1 x  s2 d2 xs1s2
 d2 d1 C  s1 d1 x  s2 d2 xs1s2 circuit C avec x1 : (C,x  C  0x circuit C avec x0 : C,x  C  0x cas général : circuit C avec valeurs d’entrées I : C,I G. Berry, Collège de France 26/03/2014

35 Théorème 1: bonne représentation des circuits
une histoire h est UN-correcte pour C et les entrées I ssi h ⊨ C,I Corollaire : caractérisation UN de la constructivité Un circuit C est constructif pour les délais donnés et une entrée I ssi il existe une unique valeur S des variables d’état et un délai d tels que C,I ⊨ dS G. Berry, Collège de France 26/03/2014

36 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

37 Formules du calcul déductif : ⊢ vs. ⊨
Région temporisée :   dR Région temporisée :   kK k pour K fini ou infini C,I ⊢  Séquents syntaxiques  clauses de Horn  ⊢   sS s d e)  xI1 0x  yI0 0y  kK k ? C,I ⊨  modèle : G. Berry, Collège de France 26/03/2014

38 Calculs  déductions (Curry Howard)
1. C,I ⊢   dR ssi il existe une séquence d0R0, d1R1,..., dnRn dR telle que, pour tout i, di est dans  (i.e., une entrée) ou dérivable des dj, ji par une règle de déduction 2. C,I ⊢   kK k ssi il existe un kK tel que C,I ⊢ k G. Berry, Collège de France 26/03/2014

39 Les règles de déduction
true pour C,I fixé, C,I ⊢ ... implicite partout d1 dR d  e RS eS bool affaiblissement chaîne les transitions y e x  x  ey)x  ey deS dR R  eS chain dS eT maxd,eS∩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 26/03/2014

40 C  s1 d1 x  s2 d2 xs1s2
bool 0x 0xs1s2 chain chain cas x0 i.e. 0x d1s1 d2s2 join max(d1,d2) s1s2 x0  région s1s2 atteinte en temps max(d1,d2) G. Berry, Collège de France 26/03/2014

41 C  s1 d1 x  s2 d2 xs1s2
chain d1s1 bool 0x d1xs1s2 cas x1 i.e. 0x chain chain d1s1 d1d2s2 join max(d1, d1d2) s1s2 x1  région s1s2 atteinte en temps d1d2 G. Berry, Collège de France 26/03/2014

42 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

43 Les théorèmes centraux
Théorème 2 : équivalence de ⊨ et ⊢ pour les circuits  C,I,. C,I ⊨   C,I ⊢  Théorème 3 : Intuitionnisme de ⊨  C,I,. C,I ⊨   . C,I ⊨  Une disjonction, même infinie, ne peut être validée que par un de sens membres (résulte immédiatement du théorème 2 et de la définition de C,I ⊢ ) G. Berry, Collège de France 26/03/2014

44 Le résultat central Corollaire : déterminisme de la stabilisation
Soit s un délai de C et I un vecteur d’entrées. Alors les histoires h de s dans C,I ont deux comportements possibles : tous les h se stabilisent à la même valeur il existe au moins une histoire oscillante  un circuit est constructif ssi ses sorties ne peuvent pas osciller Preuve : soit   1s  1s  2s  2s  3s  3s ... Preuve ::alors  (infini) dit que s se stabilise un jour cas 1 : C,I ⊨ . Alors C,I ⊨ k pour un k par thm.3 (intuitionnisme), par exemple k  ms. Donc h. h ⊨ C,I  h ⊢ ms, tout h devient stable à 1 cas 2 : C,I ⊨ . Alors h. h ⊨ C,I  h ⊨  est impossible, donc h. h ⊨ C,I  h ⊨ , et cet h oscille pour s G. Berry, Collège de France 26/03/2014

45 Pourquoi les circuits cycliques Les trois sortes de cycles
La logique temporelle UN Codage des circuits dans UN Déductions et simulations Les théorèmes Débarrassons-nous du temps ! G. Berry, Collège de France 26/03/2014

46 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 26/03/2014

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

48 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 G. Berry, Collège de France 26/03/2014

49 Conclusion Etude complète de la stabilisation des circuits cycliques dans le modèle de délais UN, en reliant modèle ⊨ et déduction syntaxique ⊢, et en ignorant transitoires, oscillations, métastabilité etc. (qu’on peut aussi étudier) stabilisation électrique  prouvabilité constructive booléenne (avec délais) des sorties (sans délais) A suivre au prochain cours : constructivité pour toutes entrées constructivité des circuits séquentiels (avec registres) algorithmes efficaces de calcul de la constructivité G. Berry, Collège de France 26/03/2014

50 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). Asynchronous Circuits J. Brzozowski et C-J. Seger. Springer-Verlag (1995). G. Berry, Collège de France 26/03/2014


Télécharger ppt "Chaire Algorithmes, machines et langages"

Présentations similaires


Annonces Google