A framework for automatic custom instruction identification on multi-issue ASIPs

Custom Instruction Identification is an important part in the design of efficient Application-Specific Processors (ASIPs). It consists of profiling of a given application to find patterns of basic operations that are frequently executed. Operations of such patterns can be implemented together as a single custom instruction to speedup the execution of the application. Because of the problem's high complexity, several methods have been proposed for specific single-issue (RISC) processors and architectures, limiting the shape and size of custom instructions that can actually be identified and, possibly, implemented. In this paper, we propose and discuss an efficient custom instruction set identification method and corresponding automatic tool for multi-issue VLIW ASIPs, which search for the common operation patterns of the most frequently executed basic blocks of a given application, with different sizes and shapes. The speedup results for the custom instructions identified by our tool are provided for a set of benchmark applications. The speedup is up to 68%, with only a few custom instructions used.

[1]  Peter Willett,et al.  Maximum common subgraph isomorphism algorithms for the matching of chemical structures , 2002, J. Comput. Aided Mol. Des..

[2]  Yihe Sun,et al.  Automatic identification of customized instruction based on multiple attribute decision-making for multi-issue architectures , 2011 .

[3]  James Cheng,et al.  Fast algorithms for maximal clique enumeration with limited memory , 2012, KDD.

[4]  S. Szabó,et al.  Parallel algorithms for finding cliques in a graph , 2011 .

[5]  Patric R. J. Östergård,et al.  A fast algorithm for the maximum clique problem , 2002, Discret. Appl. Math..

[6]  Nagiza F. Samatova,et al.  A scalable, parallel algorithm for maximal clique enumeration , 2009, J. Parallel Distributed Comput..

[7]  Wei-keng Liao,et al.  Fast Algorithms for the Maximum Clique Problem on Massive Sparse Graphs , 2012, WAW.

[8]  Cid C. de Souza,et al.  Efficient datapath merging for partially reconfigurable architectures , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Koen Bertels,et al.  The Instruction-Set Extension Problem: A Survey , 2008, ARC.

[10]  Nigel P. Topham,et al.  Exploring the unified design-space of custom-instruction selection and resource sharing , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[11]  Ryan A. Rossi,et al.  A Fast Parallel Maximum Clique Algorithm for Large Sparse Graphs and Temporal Strong Components , 2013, ArXiv.

[12]  Ina Koch,et al.  Enumerating all connected maximal common subgraphs in two graphs , 2001, Theor. Comput. Sci..

[13]  Nadia Nedjah,et al.  Modern Architectures for Embedded Reconfigurable Systems - a Survey , 2009, J. Circuits Syst. Comput..

[14]  Paolo Bonzini,et al.  A Retargetable Framework for Automated Discovery of Custom Instructions , 2007, 2007 IEEE International Conf. on Application-specific Systems, Architectures and Processors (ASAP).

[15]  Nigel P. Topham,et al.  Design-Space Exploration of Resource-Sharing Solutions for Custom Instruction Set Extensions , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[17]  H. Corporaal,et al.  Designing domain-specific processors , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[18]  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.

[19]  Zhiyuan Chen,et al.  Instruction Set Extension Exploration in Multiple-Issue Architecture , 2008, 2008 Design, Automation and Test in Europe.