Chaire Algorithmes, machines et langages

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

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 http://www.college-de-france.fr/site/gerard-berry gerard.berry@college-de-france.fr Cours 7, 26 mars 2014

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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