An Esterel processor with full preemption support and its worst case reaction time analysis

The concurrent synchronous language Esterel allows programmers to treat reactive systems in an abstract, concise manner. An Esterel program is typically first translated into other, non-synchronous high-level languages, such as VHDL or C, and then compiled further into hardware or software. Another approach that has been proposed recently is the direct execution of Esterel-like instructions with a customized processor, which promises the flexibility of a software solution with an efficiency close to a hardware implementation. However, the instruction sets and implementations of the processor architectures proposed so far still have some limitations regarding their completeness, efficiency, and adherence to the original Esterel semantics. This paper presents a novel reactive processor architecture, the Kiel Esterel Processor, which addresses these shortcomings. In particular, it provides a complete, semantically accurate implementation of the Esterel preemption primitives, most of which can be expressed directly with a single machine instruction.One advantage of the reactive processors--in addition to their high execution speed compared to traditional software implementations--is that control-flow is preserved while compiling Esterel into machine code, and that the execution platform has a very predictable timing behavior. This paper presents a precise and very efficient Worst Case Reaction Time (WCRT) analysis, which is geared towards the Kiel Esterel Processor, but which could be adapted to other reactive processors as well.

[1]  Zoran A. Salcic,et al.  Towards direct execution of esterel programs on reactive processors , 2004, EMSOFT '04.

[2]  Alan Burns,et al.  Predicting computation time for advanced processor architectures , 2000, Proceedings 12th Euromicro Conference on Real-Time Systems. Euromicro RTS 2000.

[3]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[4]  Klaus Schneider,et al.  Exact Low-Level Runtime Analysis of Synchronous Programs for Formal Verification of Real-Time Systems , 2003, FDL.

[5]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[6]  Gérard Berry,et al.  Esterel on hardware , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[7]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[8]  Zoran A. Salcic,et al.  A new reactive processor with architectural support for control dominated embedded systems , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[9]  Xin Li,et al.  The Kiel Esterel Processor - A Semi-Custom, Configurable Reactive Processor , 2004, SYNCHRON.

[10]  Klaus Schneider,et al.  Exact high level WCET analysis of synchronous programs by symbolic state space exploration , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[11]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[12]  Partha S. Roop,et al.  Direct Execution of Esterel Using Reactive Microprocessors , 2005 .

[13]  Stephen A. Edwards,et al.  An Esterel compiler for large control-dominated systems , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Sharad Malik,et al.  Static timing analysis of embedded software , 1997, DAC.