INSIDE: INstruction Selection/Identification & Design Exploration for extensible processors

This paper presents the INSIDE system that rapidly searchesthe design space for extensible processors, given area and performance constraints of an embedded application, while minimizing the design turn-around-time. Our system consists ofa) a methodology to determine which code segments are mostsuited for implementation as a set of extensible instructions,b) a heuristic algorithm to select pre-configured extensibleprocessors as well as extensible instructions (library), and c)an estimation tool which rapidly estimates the performance ofan application on a generated extensible processor. By selecting the right combination of a processor core plus extensible instructions, we achieve a performance increase on average of 2.03x (up to 7x) compared to the base processor core at aminimum hardware overhead of 25% on average.

[1]  B. Ramakrishna Rau,et al.  PICO: Automatically Designing Custom Computers , 2002, Computer.

[2]  Majid Sarrafzadeh,et al.  Instruction generation and regularity extraction for reconfigurable processors , 2002, CASES '02.

[3]  Yoshinori Takeuchi,et al.  A performance maximization algorithm to design ASIPs under the constraint of chip area including RAM and ROM sizes , 1998, Proceedings of 1998 Asia and South Pacific Design Automation Conference.

[4]  Ricardo E. Gonzalez,et al.  Xtensa: A Configurable and Extensible Processor , 2000, IEEE Micro.

[5]  Masaharu Imai,et al.  An ASIP instruction set optimization algorithm with functional module sharing constraint , 1993, ICCAD.

[6]  Majid Sarrafzadeh,et al.  Instruction generation for hybrid reconfigurable systems , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[7]  Srivaths Ravi,et al.  Synthesis of custom processors based on extensible platforms , 2002, ICCAD 2002.

[8]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[9]  Kiyoung Choi,et al.  Efficient instruction encoding for automatic instruction set design of configurable ASIPs , 2002, ICCAD 2002.

[10]  Masaharu Imai,et al.  A new HW/SW partitioning algorithm for synthesizing the highest performance pipelined ASIPs with multiple identical FUs , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[11]  Yoshinori Takeuchi,et al.  Design space exploration for DSP applications using the ASIP development system PEAS-III , 2002, 2002 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[12]  A. Alomary,et al.  An ASIP instruction set optimization algorithm with functional module sharing constraint , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[13]  Kyu Ho Park,et al.  MetaCore: an application specific DSP development system , 1998, DAC.

[14]  Jörg Henkel,et al.  Rapid Configuration & Instruction Selection for an ASIP: A Case Study , 2003, Embedded Software for SoC.

[15]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[16]  Michael Gschwind,et al.  Instruction set selection for ASIP design , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[17]  Sharad Malik,et al.  Processor evaluation in an embedded systems design environment , 2000, VLSI Design 2000. Wireless and Digital Imaging in the Millennium. Proceedings of 13th International Conference on VLSI Design.

[18]  Peter Marwedel,et al.  Evaluating register file size in ASIP design , 2001, CODES '01.

[19]  Twan Basten,et al.  Practical instruction set design and compiler retargetability using static resource models , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.