1 / 56

L a compilation matérielle et logicielle d’Esterel v5 /v7

L a compilation matérielle et logicielle d’Esterel v5 /v7. Gérard Berry Chaire Algorithmes, machines et langages. Collège de France Cours 6, 21 mai 2013. Agenda. Clock-gating et weak suspend Optimisation des circuits générés Génération de logiciels efficaces

binah
Download Presentation

L a compilation matérielle et logicielle d’Esterel v5 /v7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. La compilation matérielle et logicielle d’Esterel v5 /v7 Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours 6, 21 mai 2013

  2. Agenda • Clock-gating et weak suspend • Optimisation des circuits générés • Génération de logiciels efficaces • Conclusion et remerciements G. Berry, Collège de France

  3. Agenda • Clock-gating et weak suspend • Optimisation des circuits générés • Génération de logiciels efficaces • Conclusion et remerciements G. Berry, Collège de France

  4. Rappel : suspension logicielle (^Z) Alternative : règles directes pour G. Berry, Collège de France

  5. Klaus Schneider : suspension faible clock-gating dans les circuits : La logique combinatoire calcule, mais l’état ne change pas weak suspend p when [immediate] s s Le clock-gating n’est plus seulement une optimisation électrique, il reçoit une vraie sémantique ! G. Berry, Collège de France

  6. Impémentation logique ou électrique s 1 s 0 logique de contrôle FPGA, logiciel vérification formelle masquage d’horloge (clockgating) ASIC Option du compilateur esterelv7 G. Berry, Collège de France

  7. Design Specification Capture Design FunctionalSpec Architecture Verification Requirements Editor Project Structure Debugging & Simulation Editor ArchitectureDiagram DesignVerification ProjectManagement Simulator IDE DesignVerifier Formal Verification ModelReporter Automatic Documentation IDE SequentialEquivalenceChecker Player DUT Sequential Equivalence check  Executable Specification Exporter Code & TestbenchGenerators Optimized for synthesis DFT-ready SystemC & RTL flow integration .sc RTL Synthesis SystemC .vhd G. Berry, Collège de France

  8. G. Berry, Collège de France

  9. I absent état de départ exécuté état d’arrivée G. Berry, Collège de France

  10. I présent conservé non activé G. Berry, Collège de France

  11. I absent état de départ exécuté état d’arrivée G. Berry, Collège de France

  12. Iprésent conservé exécuté non activé G. Berry, Collège de France

  13. Agenda • Clock-gating et weak suspend • Optimisation des circuits générés • Génération de logiciels efficaces • Conclusion et remerciements G. Berry, Collège de France

  14. Un tronc et quatre branches de compilation foo.strl bar.strl foo.eis bar.eis langage noyau all.eil optim circuit abstrait all.ein Verilog VHDL vérifieur formel sur Prover SL C / C++ SystemC rapide C / C++ SystemC (équationnel) Traçabilité complète pour debugging G. Berry, Collège de France

  15. loop abort { await A || await B }; emit O ; halt whenR; end loop optimisé Le circuit d’ABRO – bon compromis logique / registres loop { await A || await B }; emit O each R G. Berry, Collège de France

  16. Optimisation • Construction du circuit • bon compromis logique / registres, mais un peu gras • Optimisation de la logique combinatoire • chemin critique pour implémentation matérielle • taillepour simulation logicielle • Remplacement de registres par de la logique • pas trop, juste le gras ! Simplification par relations statiques Simplification par l’espace des états atteignables Implémentation : SIS (Berkeley) + TiGeR G. Berry, Collège de France

  17. Optimisation du contrôle Logique combinatoire registres Optimiser la logique  compromis taille / profondeur Théorie et pratique très élaborées, industrie G. Berry, Collège de France

  18. Optimisation par réduction des entrées prédicat restreignant les entrées Logique combinatoire Logique combinatoire registres G. Berry, Collège de France

  19. Réduction des entrées combinatoires V Logique combinatoire Logique combinatoire // relations d’entrées relation S => HS ; relation UL # UR # LL # LR ; G. Berry, Collège de France

  20. Réduction par états atteignables Logique combinatoire Logique combinatoire RSS états atteignables registres G. Berry, Collège de France

  21. Calculer les états atteignables • Calcul explicite • construire un par un les états atteignables avec toutes • leurs transitions: rapidement explosif ! • Calcul implicite (symbolique) • construire des prédicats Booléens représentant les • espaces d’états atteignables • représenter ces prédicats par des BDDs • Binary DecisionDiagrams : NP-complet, mais • fonctionne bien en pratique quand le contrôle est dominant Billon (Bull), Bryant (Carnegie-Mellon), Madre / Coudert / Touati(DEC), Somenzi (Boulder), The Art of Computer Programming, D.Knuth vol. 4a G. Berry, Collège de France

  22. A B B C C C C D D D D D D D D Arbre de Shannon (AB)  (CD) G. Berry, Collège de France

  23. A B B C C C C D D D D D D D D Suppression des feuilles identiques (AB)  (CD) G. Berry, Collège de France

  24. A B B C C C C D D D D Suppression des feuilles identiques (AB)  (CD) G. Berry, Collège de France

  25. A B B C C C C D D D D Suppression des feuilles identiques (AB)  (CD) G. Berry, Collège de France

  26. A B B C C D D D D Suppression des feuilles identiques (AB)  (CD) G. Berry, Collège de France

  27. Partage de sous-arbres identiques (AB)  (CD) A B B C C D D D D G. Berry, Collège de France

  28. A B B C D D Partage de sous-arbres identiques (AB)  (CD) G. Berry, Collège de France

  29. A B B C D D BDD  Binary Decision Diagram (AB)  (CD) G. Berry, Collège de France

  30. Opérations directes sur BDDs égalité : temps 1, car comparaison de pointeurs , ,  :quadratique dans la taille des BDDs  :linéaire, ou temps 1 (variante des BDD) cofacteurs f[xi0)]  f(x1,x2,,xi-1,0, xi+1, yn), f[xi1] linéaires f(x)  y. P(x,y) : équivalent à P(x,0)P(x,1), quadratique f(x)  y. P(x,y) : équivalent à P(x,0)P(x,1), quadratique Mais combiner ces opérations peut être exponentiel! exemple: f(x)  y1 y2  yn. P(x,y1,y2,,yn) G. Berry, Collège de France

  31. Ordre des variables : gare à l’exponentielle! (AB)  (CD) A<B<C<D A<C<B<D Heuristiques statiques / dynamiques A A C C B B C B B B B D D D D D D G. Berry, Collège de France

  32. Calcul symbolique des états atteignables C A chaque étape, utiliser Ricomme simplificateur malin pour N (Coudert, Madre) G. Berry, Collège de France

  33. ORSS  sur-approximmation du RSS || || ; ; (p; q; (r||s||t)) || (u; v) p q r s t u v G. Berry, Collège de France

  34. ORSS  sur-approximmation du RSS    incompatible (p; q; (r||s||t)) || (u; v) p  ORSS(p) pq (pq) pqr(pqr  1)  ORSS (pq(rst))  (uv) p q r s t u v p.RSS(p) ORSS(p) G. Berry, Collège de France

  35. Suppression des registres redondants Définition: r redondant s’il peut être remplacé par une fonction des autres registres r0 redondant ssi f(r1,r2,,rn) t.q. (r0,r1,r2,,rn)RSS  r0 f(r1,r2,,rn) r0peut être remplacé par toute logique calculant f Théorème: r0 redondant ssi RSS[r01]RSS[r00]0 Alorson peut remplacer r0parf RSS[r01] ou par f RSS[r00] Calcul seulement quadratique ! faire ou ne pas faire selon la taille des cofacteurs G. Berry, Collège de France

  36. Multiplexage de registres ; (p||q||r) ; (s||t ||u) || || G. Berry, Collège de France

  37. Multiplexage de registres ; || || démultiplexeur pas toujours une bonne idée, à cause du coût en logique G. Berry, Collège de France

  38. heuristiques d’optimisation séquentielle Exemple d’algorithme : calculer ORSS; simplifier la logique par ORSS;  itérer jusqu’à point fixe  calculer étape de RSS  simplifier la logique par le résultat pour l’étape suivante  itérer  enlever les registres inutiles et simplifier la logique, si avantageux multiplexer les registres et simplifier la logique, si avantageux Alternance de suppression de registres et de simplification logique, à conduire avec grand soin G. Berry, Collège de France

  39. optimisation en vitesse (circuit matériel, FPGA) WRISTWATCH nodes=97latches=12 lits=366levels=3 optimisation en surface (logiciel équationnel) WRISTWATCH nodes=98 latches=11 lits=195levels= 15 L’optimisation séquentielle en pratique initial WRISTWATCH nodes=462latches=35 lits=990levels=29 Pour éviter l’explosion en taille, optimiser module par module (optimisation compositionnelle) G. Berry, Collège de France

  40. Agenda • Clock-gating et weak suspend • Optimisation des circuits générés • Génération de logiciels efficaces • Conclusion et remerciements G. Berry, Collège de France

  41. Logiciel équationnel : coûteux! Une inefficacité fondamentale en logiciel : on calcule toutes les équations, coût linéaire intboot1, r10, r20 ; void React () { intsel, res ; selr1 | r2 ; res  sel& !s X r1 & res // r1_K0 Y r2& res // r2_K0 Fin  sel & (r2 | s) boot  0; r1boot; r2 r1 & res } // boot abort pause; // r1 emit X; pause; // r2 emit Y; when s; emit Fin; G. Berry, Collège de France

  42. Compilation logicielle efficace • Stephen Edwards : sublinéaire • Synopsys compiler (2000) • Columbia compiler (2001) • D. Potop • compilation efficace pour Esterel v5, GRC Graph Code (2002) • E. Closse, D. Weil et. al. • compilateur Saxo-RT, France Télécom (2000) • G. Berry, M. Perreaut • compilation efficace dans Esterel v7 (Edwards / Potop) • Klaus Schneider (Quartz, Averest) • ParthaRoop (microprocesseur spécifique) • ... G. Berry, Collège de France

  43. Logiciel impératif efficace Codage sublinéaire de l’état du programme utilisation systématique de if-then-else et switch intsc0; // switch count void React () { XY0; switch (sc) case 0 : sc1; break ; case 1 : if (s) { Fin1; sc3; } else { X1; sc2; } break; case 2 : if (!s) Y1; Fin1; sc3; break; }} // sc0 abort pause; // sc1 emit X; pause; // sc2 emit Y; when s; emit Fin; // sc3 G. Berry, Collège de France

  44. Implémentation logicielle sublinéaire || || ; ; (p; q; (r||s||t)) || (u; v) sc1 1 3 2 sc2 1 2 p q r s t u v   G. Berry, Collège de France

  45. Implémentation logicielle sublinéaire || || ; ; (p; q; (r||s||t)) || (u; v) sc1 1 3 2 sc12|sc21 sc2 1 2 p q r s t u v   G. Berry, Collège de France

  46. Implémentation logicielle sublinéaire || || ; ; ; (p; q; (r;s)||t)) || (u; v) sc1 1 3 2 sc13|sc21|sc32 sc2 1 2 sc3 p q t u v   1 2 r s G. Berry, Collège de France

  47. input I, S; output O, Q; signalR, A in every S do await I; weak abort sustain R when immediate A; emit O || loop pause; pause; present R then emit A end end loop || loop present R then pause; emit Q else pause end end loop end every end signal GRC  Graph Code G. Berry, Collège de France

  48. input I, S; output O, Q; signalR, A in every S do await I; weak abort sustain R when immediate A; emit O || loop pause; pause; present R then emit A end end loop || loop present R then pause; emit Q else pause end end loop end every end signal switch de séquences et pauses G. Berry, Collège de France

  49. émissions,réceptions et dépendances de signaux input I, S; output O, Q; signalR, A in every S do await I; weak abort sustain R when immediate A; emit O || loop pause; pause; present R then emit A end end loop || loop present R then pause; emit Q else pause end end loop end every end signal G. Berry, Collège de France

  50. input I, S; output O, Q; signalR, A in every S do await I; weak abort sustain R when immediate A; emit O || loop pause; pause; present R then emit A end end loop || loop present R then pause; emit Q else pause end end loop end every end signal Forks, Joins, et codes de retour G. Berry, Collège de France

More Related