Static Resource Models for Code-size Efficient Embedded Processors Static Resource Models for Code-size Efficient Embedded Processors / Static Resource Models for Code-size Efficient Embedded Processors

Abstract

Due to an increasing need for flexibility, embedded systems embody more and more programmable processors as their core components. Because of silicon area and power considerations, the corresponding instruction sets are often highly encoded to minimize code size for given performance requirements. This has hampered the development of robust optimizing compilers because the resulting irregular instruction set architectures are far from convenient compiler targets. Among others, they introduce an interdependence between the tasks of instruction selection and scheduling. This so-called phase coupling is so strong that, in practice, instruction selection rather than scheduling is responsible for the quality of the schedule, which tends to disappoint. This lack of efficient compilation tools has also severely hampered the design space exploration of code-size efficient instruction sets, and correspondingly, their tuning to the application domain. In this paper, we present an approach that reduces the need for explicit instruction selection by transferring constraints implied by the instruction set to static resource constraints. All resulting schedules are then guaranteed to correspond to a valid implementation with given instructions. We also demonstrate the suitability of this model to enable instruction set design (-space exploration) with a simple, well-understood and proven method long used in High-Level Synthesis (HLS) of ASICs. Experimental results show the efficacy of our approach.

21 Figures and Tables

Cite this paper

@inproceedings{Zhao2002StaticRM, title={Static Resource Models for Code-size Efficient Embedded Processors Static Resource Models for Code-size Efficient Embedded Processors / Static Resource Models for Code-size Efficient Embedded Processors}, author={Qin Zhao and Bart Mesman and Twan Basten}, year={2002} }