DocumentCode
871290
Title
Custom-instruction synthesis for extensible-processor platforms
Author
Sun, Fei ; Ravi, Srivaths ; Raghunathan, Anand ; Jha, Niraj K.
Author_Institution
Dept. of Electr. Eng., Princeton Univ., NJ, USA
Volume
23
Issue
2
fYear
2004
Firstpage
216
Lastpage
228
Abstract
Efficiency and flexibility are critical, but often conflicting, design goals in embedded system design. The recent emergence of extensible processors promises a favorable tradeoff between efficiency and flexibility, while keeping design turnaround times short. Current extensible processor design flows automate several tedious tasks, but typically require designers to manually select the parts of the program that are to be implemented as custom instructions. In this work, we describe an automatic methodology to select custom instructions to augment an extensible processor, in order to maximize its efficiency for a given application program. We demonstrate that the number of custom instruction candidates grows rapidly with program size, leading to a large design space, and that the quality (speedup) of custom instructions varies significantly across this space, motivating the need for the proposed flow. Our methodology features cost functions to guide the custom instruction selection process, as well as static and dynamic pruning techniques to eliminate inferior parts of the design space from consideration. Furthermore, we employ a two-stage process, wherein a limited number of promising instruction candidates are first short-listed using efficient selection criteria, and then evaluated in more detail through cycle-accurate instruction set simulation and synthesis of the corresponding hardware, to identify the custom instruction combinations that result in the highest program speedup or maximize speedup under a given area constraint. We have evaluated the proposed techniques using a state-of-the-art extensible processor platform, in the context of a commercial design flow. Experiments with several benchmark programs indicate that custom processors synthesized using automatic custom instruction selection can result in large improvements in performance (up to 5.4×, an average of 3.4×), energy (up to 4.5×, an average of 3.2×), and energy-delay products (up to 24.2×, an average of 12.6×), while speeding up the design process significantly.
Keywords
benchmark testing; circuit CAD; embedded systems; instruction sets; system-on-chip; virtual machines; application-specific instruction set processors; application-specific programmable processors; automatic methodology; benchmark programs; commercial design flow; cost functions; custom instruction; custom-instruction synthesis; design efficiency; design flexibility; dynamic pruning; embedded system design; energy-delay products; extensible processor; instruction selection; program speedup; static pruning; turnaround times; Application specific processors; Cost function; Digital signal processing; Embedded software; Embedded system; Hardware; Process design; Sun; System-on-a-chip; Timing;
fLanguage
English
Journal_Title
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher
ieee
ISSN
0278-0070
Type
jour
DOI
10.1109/TCAD.2003.822133
Filename
1262459
Link To Document