DocumentCode :
943103
Title :
Exact and approximate algorithms for the extension of embedded processor instruction sets
Author :
Pozzi, Laura ; Atasu, Kubilay ; Ienne, Paolo
Author_Institution :
Sch. of Comput. & Commun. Sci., Ecole Polytechnique Federate de Lausanne
Volume :
25
Issue :
7
fYear :
2006
fDate :
7/1/2006 12:00:00 AM
Firstpage :
1209
Lastpage :
1229
Abstract :
In embedded computing, cost, power, and performance constraints call for the design of specialized processors, rather than for the use of the existing off-the-shelf solutions. While the design of these application-specific CPUs could be tackled from scratch, a cheaper and more effective option is that of extending the existing processors and toolchains. Extensibility is indeed a feature now offered in real designs, e.g., by processors such as Tensilica Xtensa [T. R. Halfhill, Microprocess Rep., 2003], ARC ARCtangent [T. R. Halfhill, Microprocess Rep., 2000], STMicroelectronics ST200 [P. Faraboschi, G. Brown, J. A. Fisher, G. Desoli, and F. Homewood, Proc. 27th Annu. Int. Symp. Computer Architecture, 2000, p. 203], and MIPS CorExtend [T. R. Halfhill, Microprocess Rep., 2003]. While all these processors provide development environments with simulation capabilities for evaluating efficiently hand-crafted solutions, the tools to identify automatically the best processor configuration for a given application are less common. In particular, solutions to choose specialized instruction-set extensions (ISEs) have been investigated in the past years but are still seldom part of commercial toolchains. This paper provides a formal methodology and a set of algorithms that help address the problem. It proposes exact algorithms to derive optimal ISEs; exact identification of a single ISE is applicable to basic blocks of up to 1500 assembler-like instructions. This paper also introduces approximate methods that can process basic blocks of larger size. Results show that the described algorithms find solutions close to those that a designer would obtain by a detailed study of the application code. Both heuristic and exact algorithms find ISEs able to speed up unextended processors up to 5.0x. State-of-the-art comparisons show that the presented algorithms outperform existing ones by up to 2.6x
Keywords :
application specific integrated circuits; embedded systems; formal specification; instruction sets; microprocessor chips; reduced instruction set computing; application-specific CPU; application-specific microprocessors; approximate algorithm; computer instructions; customizable microprocessors; embedded computing; embedded processor instruction sets; exact algorithm; extensible microprocessors; formal methodology; heuristic algorithms; instruction-set extensions; power constraint; reduced instruction set computing; specialized processors; Algorithm design and analysis; Application software; Assembly; Computational modeling; Computer architecture; Costs; Embedded computing; Heuristic algorithms; Instruction sets; Process design; Application-specific microprocessors; computer instructions; customizable microprocessors; extensible microprocessors; instruction-set extensions; reduced instruction set computing; tightly-coupled coprocessors;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/TCAD.2005.855950
Filename :
1634620
Link To Document :
بازگشت