1 / 27

Optimized State Encoding for Esterel Programs

Optimized State Encoding for Esterel Programs. Dumitru POTOP-BUTUCARU. Overview. State of an Esterel program The optimizing property Applications:. Register removal State re-encoding using the optimizing information. State of an Esterel program. Esterel statements:.

truman
Download Presentation

Optimized State Encoding for Esterel Programs

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. Optimized State Encoding for Esterel Programs Dumitru POTOP-BUTUCARU

  2. Overview • State of an Esterel program • The optimizing property • Applications: • Register removal • State re-encoding using the optimizing information

  3. State of an Esterel program • Esterel statements: • p¦¦q , p;q, loop p end • emit S, present S then p else q end • signal S in p end • trap T in p end , exit T • suspend p when S end • pause • derived statements: await S, abort p when S, sustain S , every S do p end

  4. State of an Esterel program • Esterel program execution • Esterel = synchronous language • Program execution = sequence of synchronous execution instants (clock ticks) • Execution instant = instantaneous mapping: (current state, input signals) (next instant state,output signals)

  5. State of an Esterel program • Global state and state of a statement • Program state = state of the pause statements in the program • State of a sub-statement = state of the pause sub-statements of the given statement • The state of a composed statement is the union of the states of its direct sub-statements

  6. State of an Esterel program • Selection and selection tree • Selected statement = statement that has at least one active pause sub-statement • The selection status of composed statement is the OR of the selection statuses of its direct sub-statements • Selection tree = the tree defined by the pause statements and the OR gates corresponding to the composed statements

  7. # ¦¦ State of an Esterel program • Selection nodes • pause nodes • exclusive selection nodes • parallel selection nodes p;q present S then p else q end p q p¦¦q p q

  8. # State of an Esterel program • Example loop present I then pause;emit O1 else pause;emit O2 end present end loop pause pause

  9. ¦¦ # State of an Esterel program • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel loop sustain await pause pause

  10. ¦¦ # The optimizing property • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel loop sustain await pause pause

  11. ¦¦ # The optimizing property • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel = loop sustain await pause pause

  12. ¦¦ # The optimizing property • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel = loop sustain await pause pause

  13. ¦¦ # The optimizing property • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel = = loop sustain await pause pause

  14. ¦¦ # The optimizing property • Example trap TERMINATE in loop pause; emit O1; pause; emit O2 end loop ¦¦ sustain RUNNING ¦¦ await TERMINATE_SIGNAL; exit TERMINATE end trap parallel = = = loop sustain await pause pause

  15. The optimizing property • If a parallel statement branch cannot terminate then the selection status of the branch is equal, at each instant, with the selection status of the entire parallel statement

  16. The optimizing property • Non-termination criteria • The static analysis of the Esterel program that is done at compile time • Cheap method (the information comes for free)

  17. The optimizing property • Some statistics:

  18. ¦¦ # Applications • Register removal parallel parallel status = loop status = sustain status = await status = = = loop sustain await pause pause

  19. ¦¦ # Applications • Register removal parallel parallel status = loop status = sustain status = await status = = = loop sustain await pause pause

  20. # Applications • Register removal parallel status = loop status = sustain status = await status await parallel loop sustain pause pause

  21. Applications • Register removal

  22. Applications • State re-encoding • Exclusive selection nodes become switches that choose the selected son # 0 01 10 11 1 2 # 3 0 1 4 5

  23. # # Applications • State re-encoding • The selection tree encoding is given by the encoding of all the # # ¦¦ ¦¦ = =

  24. # Applications • State re-encoding • The selection tree encoding is given by the encoding of all the sub-trees # 0 ¦¦ 2 1 = 3 4 5 6

  25. # Applications • State re-encoding • The selection tree encoding is given by the encoding of all the sub-trees # 0 ¦¦ 2 1 = 4 5 6

  26. Applications • State re-encoding • The selection tree encoding is given by the encoding of all the sub-trees 3

  27. Applications • State re-encoding

More Related