STARPro - A new multithreaded direct execution platform for Esterel

Esterel programs have traditionally been compiled to software code for general purpose processors or to hardware netlists. This paper, instead, proposes a reactive processor for the direct execution of Esterel. This intermediate approach offers the same flexibility as software compilation, while at the same time, providing much better code size and execution time. The proposed architecture, called STARPro, is a pipelined, multithreaded, reactive processor that provides native support for the direct execution of Esterel. STARPro manages Esterel threads and their scheduling, and also features a hardware preemption unit to assist the handling of the abort constructs in Esterel. In addition to the proposed architecture, we have also developed a new intermediate format called UCCFG"s"d (unrolled concurrent control-flow graph with surface and depth) to represent the structure of an Esterel program in our compiler. UCCFG"s"d closely resembles the Esterel source, and it has also been designed with Esterel hardware support in mind, allowing a straight forward translation into STARPro assembly instructions. We have compared the performance of STARPro against a recent reactive architecture and found an average of 37% speed-up in worst-case reaction times, and 38% in average-case reaction times.

[1]  Xin Li,et al.  A concurrent reactive Esterel processor based on multi-threading , 2006, SAC.

[2]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[3]  Stephen A. Edwards,et al.  Code Generation in the Columbia Esterel Compiler , 2007, EURASIP J. Embed. Syst..

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

[5]  Xin Li,et al.  Mapping esterel onto a multi-threaded embedded processor , 2006, ASPLOS XII.

[6]  K. Schneider,et al.  A new method for compiling schizophrenic synchronous programs , 2001, CASES '01.

[7]  Thomas M. Conte,et al.  Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems , 2003 .

[8]  Stephen A. Edwards,et al.  An Esterel Virtual Machine for Embedded Systems , 2006 .

[9]  Partha S. Roop,et al.  Compiling Esterel for Distributed Execution , 2006 .

[10]  Dong Hui,et al.  REMIC - design of a reactive embedded microprocessor core , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[11]  Shlomo Nir,et al.  NATO ASI Series , 1995 .

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

[13]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[14]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .

[15]  Robert de Simone,et al.  Optimizations for faster execution of Esterel programs , 2003, First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2003. MEMOCODE '03. Proceedings..

[16]  Michael Harder,et al.  An Esterel processor with full preemption support and its worst case reaction time analysis , 2005, CASES '05.

[17]  Michel Poize,et al.  SAXO-RT: Interpreting Esterel Semantic on a Sequential Execution Structure , 2002, SLAP@ETAPS.