IO-Aware Custom Instruction Exploration for Customizing Embedded Processors

This paper describes a methodology for identifying custom instructions for critical code segments of embedded applications, considering the available data bandwidth constraint between custom logic and the base processor. Our approach enables designers to optionally constrain the number of input and output operands for custom instructions to reach the acceptable performance. We describe a design flow to establish the desired performance. We study the effects of input/output constraints and registerfile read/write ports on overall speedup of the system. Our experiments show that, in most cases, the solutions with the highest merit are not identified with relaxed input/output constraints. Results for packet-processing benchmarks covering cryptography, lookup, and classification show speed-up up to 40%.

[1]  Sied Mehdi Fakhraie,et al.  Locality considerations in exploring custom instruction selection algorithms , 2010, 2nd Asia Symposium on Quality Electronic Design (ASQED).

[2]  Paolo Ienne,et al.  Automatic application-specific instruction-set extensions under microarchitectural constraints , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[3]  Sied Mehdi Fakhraie,et al.  Quantitative analysis of packet-processing applications regarding architectural guidelines for network-processing-engine development , 2009, J. Syst. Archit..

[4]  Paolo Faraboschi,et al.  Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools , 2004 .

[5]  T. N. Vijaykumar,et al.  Reducing register ports for higher speed and lower energy , 2002, 35th Annual IEEE/ACM International Symposium on Microarchitecture, 2002. (MICRO-35). Proceedings..

[6]  Randall J. Atkinson,et al.  Security Architecture for the Internet Protocol , 1995, RFC.

[7]  Paolo Bonzini,et al.  Polynomial-time subgraph enumeration for automated instruction set extension , 2007 .

[8]  Tulika Mitra,et al.  Satisfying real-time constraints with custom instructions , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[9]  Paolo Ienne,et al.  Exact and approximate algorithms for the extension of embedded processor instruction sets , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[10]  Trevor N. Mudge,et al.  Reducing register ports using delayed write-back queues and operand pre-fetch , 2003, ICS '03.

[11]  Cesare Alippi,et al.  A DAG-Based Design Approach for Reconfigurable VLIW Processors , 1999, DATE.

[12]  Wayne Luk,et al.  CHIPS: Custom Hardware Instruction Processor Synthesis , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Fred Baker,et al.  Requirements for IP Version 4 Routers , 1995, RFC.

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

[15]  Srivaths Ravi,et al.  A Scalable Application-Specific Processor Synthesis Methodology , 2003, ICCAD 2003.

[16]  Nikil D. Dutt,et al.  ISEGEN: generation of high-quality instruction set extensions by iterative improvement , 2005, Design, Automation and Test in Europe.

[17]  Robert K. Brayton,et al.  HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[18]  Jason Cong,et al.  Instruction set extension with shadow registers for configurable processors , 2005, FPGA '05.

[19]  Tilman Wolf,et al.  PacketBench: a tool for workload characterization of network processing , 2003, 2003 IEEE International Conference on Communications (Cat. No.03CH37441).

[20]  Kingshuk Karuri,et al.  Increasing data-bandwidth to instruction-set extensions through register clustering , 2007, ICCAD 2007.

[21]  Haibin Liu,et al.  Exploiting forwarding to improve data bandwidth of instruction-set extensions , 2006, 2006 43rd ACM/IEEE Design Automation Conference.