Title :
Recurrence-Aware Instruction Set Selection for Extensible Embedded Processors
Author :
Bonzini, Paolo ; Pozzi, Laura
Author_Institution :
Fac. of Inf., Univ. of Lugano, Lugano
Abstract :
Automatic generation of a customized instruction set, starting from an input application code, is a complex problem that has received considerable attention in the past few years. Because of its complexity, only simplified versions of the problem have been solved exactly so far. For example, exact algorithms have been proposed for custom instruction identification but that do not consider recurrence; other methods exist that can indeed handle recurrence, but are limited in how complex an instruction they can identify. However, an exact solution that can handle identification and recurrence simultaneously has been missing. We divide the problem into several parts and concentrate on covering, that is, selecting a set of nonoverlapping and possibly recurrent custom instructions to be implemented and used. We then propose a range of novel algorithms, both exact and approximate, to solve the covering problem in conjunction with the recurrence of candidate extensions. We propose an optimal search technique that uses branch-and-bound to improve an existing solution, in conjunction with a greedy search to help the algorithm out of any local optima, and achieve a tangible improvement over nonrecurrence-aware covering.
Keywords :
instruction sets; microprocessor chips; tree searching; application specific processors; branch-and-bound covering; instruction identification; nonrecurrence-aware covering; recurrence-aware instruction set selection; toolchain automation; Application specific integrated circuits; Automation; Costs; Fabrics; Hardware design languages; Heuristic algorithms; Informatics; Integrated circuit synthesis; Microprocessors; Partitioning algorithms; Application-specific microprocessors; customizable microprocessors; instruction selection; instruction-set extensions; toolchain automation;
Journal_Title :
Very Large Scale Integration (VLSI) Systems, IEEE Transactions on
DOI :
10.1109/TVLSI.2008.2001863