Exploring the unified design-space of custom-instruction selection and resource sharing

Resource sharing can be applied during data-path synthesis of Instruction-Set Extensions (ISEs) in order to obtain flexibility and area efficiency. The design space of resource sharing solutions can be explored in order to find the trade-offs between area and instruction latency that suit the design goals. On the other hand, area is a proven global constraint that should be considered in the ISE selection process, since maximizing speedup as a unique goal assumes the availability of unlimited resources. Thus, a selection process should be aware of the area requirements of a subset of ISE candidates. However, when resource sharing is used for ISE data-path synthesis, the area and profitability of the subset cannot be known until resource sharing is attempted. This paper proposes a hardware/software partitioning framework in which the selection of ISEs interacts with the resource sharing process in order drive the exploration of the selection design space towards implementation alternatives that are likely to increase the utilization of the given area resources. On the benchmarks analyzed in this paper, our techniques find solutions that under a fixed area constraint, achieve speedups from 8% to 238% higher than previous selection techniques. Furthermore, unlike previous approaches, the proposed framework allows the exploration, at the selection level, of the design space of trade-offs between speedup and area that are available to the designer.

[1]  Paolo Ienne,et al.  Rethinking custom ISE identification: a new processor-agnostic method , 2007, CASES '07.

[2]  Majid Sarrafzadeh,et al.  Area-efficient instruction set synthesis for reconfigurable system-on-chip designs , 2004, Proceedings. 41st Design Automation Conference, 2004..

[3]  Tulika Mitra,et al.  Characterizing embedded applications for instruction-set extensible processors , 2004, Proceedings. 41st Design Automation Conference, 2004..

[4]  Nikil D. Dutt,et al.  ISEGEN: an iterative improvement-based ISE generation technique for fast customization of processors , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Scott Mahlke,et al.  Processor acceleration through automated instruction set customization , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[6]  Wayne Luk,et al.  Optimizing Instruction-set Extensible Processors under Data Bandwidth Constraints , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

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

[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.  Algorithms for the automatic extension of an instruction-set , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

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

[11]  Tao Li,et al.  Efficient Heuristic Algorithm for Rapid Custom-Instruction Selection , 2009, 2009 Eighth IEEE/ACIS International Conference on Computer and Information Science.

[12]  Stamatis Vassiliadis,et al.  Automatic selection of application-specific instruction-set extensions , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[13]  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).

[14]  Krzysztof Kuchcinski,et al.  Automatic Selection of Application-Specific Reconfigurable Processor Extensions , 2008, 2008 Design, Automation and Test in Europe.