© The Institution of Engineering and Technology
Extensible processors are increasingly becoming popular as they allow for incorporating custom instructions to meet design constraints. Identifying custom instructions is a time-consuming process particularly when large applications are considered. In this study, efficient techniques for identifying custom instruction candidates are proposed. New pruning criteria are introduced and combined with the latest work cited in the literature to accelerate the identification process. The proposed techniques have been shown to be capable of enumerating all valid patterns corresponding to given micro-architectural constraints with reduced search space. Experimental results show that, the proposed algorithm is capable of reducing the runtime by up to 50% for the case of single-output constraint, and by up to 44% for the case of multiple-output constraint. In addition, an approximation algorithm is also proposed to select the valid pattern that provides for maximum gain in execution of applications. In particular, the proposed algorithm focuses on the promising candidates, instead of enumerating all valid patterns as was the case in previous algorithms. It has been shown to be capable of obtaining the optimal valid pattern for most cases of I/O constraints and the runtime has been reduced by up to 90% for some I/O constraints.
References
-
-
1)
-
SMIC Technology: Available at: http://www.smics.com/website/enVersion/Technology/.
-
2)
-
Lam, S.K., Krishnan, B.N., Srikanthan, T.: `Efficient management of custom instructions for runtime reconfigurable instruction set processors', IEEE Int. Conf. on Field Programmable Technology, 2006, p. 261–264.
-
3)
-
X. Chen ,
D.L. Maskell ,
Y. Sun
.
Fast identification of custom instructions for extensible processors.
IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst.
,
2 ,
359 -
368
-
4)
-
Bonzini, P., Pozzi, L.: `Polynomial-time subgraph enumeration for automated instruction set extension', Proc. Conf. Date, 2007, p. 1331–1336.
-
5)
-
Atasu, K., Dimond, R.G., Mencer, O., Luk, W., Ozturan, C., Diindar, G.: `Optimizing instruction-set extensible processors under data bandwidth constraints', Design, Automation Test in Europe Conf. & Exhibition, 2007, p. 1–6.
-
6)
-
T.E. Gonzalez
.
Xtensa: a configurable and extensible processor.
IEEE Micro
,
2 ,
60 -
70
-
7)
-
Pozzi, L., Ienne, P.: `Exploiting pipelining to relax register-file port constraints of instruction-set extensions', Proc. Int. Conf. on Compilers, Architectures, and Synthesis for Embedded Systems, September 2005, San Francisco, CA, p. 2–10.
-
8)
-
Clark, N., Hormati, A., Mahlke, S., Yehia, S.: `Scalable subgraph mapping for acyclic computation accelerators', Proc. Int. Conf. on Compilers, Architecture, and Synthesis for Embedded Systems, 2006, p. 147–157.
-
9)
-
Sun, F., Ravi, S., Raghunathan, A., Jha, N.K.: `Synthesis of custom processors based on extensible platforms', ICCAD, November 2002.
-
10)
-
Clark, N., Zhong, H., Mahlke, S.: `Processor acceleration through automated instruction set customization', Proc. 36th Annual Int. Symp. Microarchitecture, December 2003, San Diego, CA, p. 129–140.
-
11)
-
Biswas, P., Choudhary, V., Atasu, K., Pozzi, L., Ienne, P., Dutt, N.: `Introduction of local memory elements in instruction set extensions', Proc. 41st Design Automation Conf., June 2004, p. 729–734.
-
12)
-
H. Choi ,
J.-S. Kim ,
C.-W. Yoon
.
Synthesis of application specific instructions for embedded DSP software.
IEEE Trans. Comput.
,
6 ,
603 -
614
-
13)
-
Goodwin, D., Petkov, D.: `Automatic generation of application specific processors', Proc. Int. Conf. Compilers, Architectures, and Synthesis Embedded Systems, October 2003, San Jose, CA, p. 137–147.
-
14)
-
Cong, J., Fan, Y., Han, G., Jagannathan, A., Reinman, G., Zhang, Z.: `Instruction set extension with shadow registers for configurable processors', Proc. ACM 13th Int. Symp. Field-Programmable Gate Arrays, February 2005, p. 99–106.
-
15)
-
Guthaus, M.R., Ringenberg, J.S., Ernst, D., Austin, T.M., Mudge, T., Brown, R.B.: `MiBench: a free, commercially representative embedded benchmark suite', Proc. Fourth IEEE Int. Workshop Workload Characterization, 2001, p. 3–14.
-
16)
-
Altera: ‘Nios embedded processor system development’, http://www.altera.com/.
-
17)
-
Verma, A.K., Brisk, P., Ienne, P.: `Quasi-optimal, and pipelined instruction-set extensions', Proc. Asia and South Pacific Design Automation Conf., January 2008, Seoul, Korea.
-
18)
-
Atasu, K., Pozzi, L., Ienne, P.: `Automatic application specific instruction-set extensions under microarchitectural constraints', Proc. 40th Design Automation Conf., June 2003, Anaheim, CA, p. 256–261.
-
19)
-
Verma, A.K., Brisk, P., Ienne, P.: `Rethinking custom ISE identification: a new processor agnostic method', Proc. Int. Conf. on Compilers, Architectures, and Synthesis for Embedded Systems, September 2007, Salzburg, p. 125–134.
-
20)
-
L. Pozzi ,
K. Atasu ,
P. Ienne
.
Exact and approximate algorithms for the extension of embedded processor instruction sets.
IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst.
,
7 ,
1209 -
1229
-
21)
-
M.D. Smith ,
G. Holloway
.
(2000)
An introduction to machine SUIF and its portable libraries for analysis and optimization.
-
22)
-
Biswas, P., Banerjee, S., Dutt, N., Pozzi, L., Ienne, P.: `ISEGEN: generation of high-quality instruction set extensions by iterative improvement', Proc. Design Automation and Test European Conf., March 2005, p. 1246–1251.
-
23)
-
IBM Microelectronics Division: ‘IBM powerPC 405TM core’, http://www.01.ibm.com/chips/techlib/techlib.nsf/techdocs/.
-
24)
-
Halfhill, T.R.: `ARC cores encourages “plug-ins”', Microprocessor, 19 June 2000.
-
25)
-
Kavvadias, N., Nikolaidis, S.: `A flexible instruction generation framework for extending embedded processors', Proc. 13th IEEE Mediterranean Electrotechnical Conf., 2006, p. 125–128.
-
26)
-
Razdan, R., Smith, M.D.: `A high-performance microarchitecture with hardware programmable functional units', Proc. 27th Int. Symp. Microarchitecture, November 1994, San Jose, CA, USA, p. 172–180.
-
27)
-
Kastrup, B., Bink, A., Hoogerbrugge, J.: `ConCISe: a compiler-driven CPLD-based instruction set accelerator', Proc. Seventh IEEE Symp. Field-Programmable Custom Computing Machines, April 1999, p. 92–101.
-
28)
-
P. Ienne ,
R. Leupers
.
(2006)
Customizable embedded processors-design technologies and applications.
-
29)
-
Yu, P., Mitra, T.: `Scalable custom instructions identification for instruction-set extensible processors', Proc. Int. Conf. Compilers, Architectures, and Synthesis Embedded Systems, September 2004, p. 69–78.
-
30)
-
Ye, Z.A., Moshovos, A., Hauck, S., Banerjee, P.: `CHIMAERA: a high-performance architecture with a tightly-coupled reconfigurable functional unit', Proc. 27th Annual Int. Symp. Computer Architecture, June 2000, p. 225–235.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-cds.2010.0073
Related content
content/journals/10.1049/iet-cds.2010.0073
pub_keyword,iet_inspecKeyword,pub_concept
6
6