Title :
Exhaustive Enumeration of Legal Custom Instructions for Extensible Processors
Author :
Pothineni, Nagaraju ; Kumar, Anshul ; Paul, Kolin
Author_Institution :
Indian Inst. of Technol., New Delhi
Abstract :
Today´s customizable processors allow the to augment the base processor with custom accelerators. By choosing appropriate set of accelerators, designer can significantly enhance the performance and power of an application. Due to the large number of accelerator choices and their complex trade-offs among reuse, gain and area, manually deciding the optimal combination of accelerators is quite cumbersome and time consuming. This calls for CAD tools that select optimal combination of accelerators by thoroughly searching the entire design space. The term pattern is commonly used to represent the computation performed by a custom accelerator. In this paper, we propose an algorithm for rapidly enumerating all the legal patterns taking into account several constraints posed by a typical micro-architecture. The proposed algorithm achieves significant reduction in run-time by a) enumerating the patterns in the increasing order of sizes and b) relating the characteristics of a (k + 1) node pattern with the characteristics of its k node subgraphs. Also, in scenarios where I/O is not a bottleneck, designer can optionally relax the I/O constraint and our algorithm efficiently enumerates all legal I/O unbound legal patterns. The experimental evidence indicate an order of two run-time speedup over state of the art techniques.
Keywords :
graph theory; logic CAD; microprocessor chips; CAD tools; accelerators; k node subgraphs; legal custom instructions; microarchitecture; processor design; Application software; Computer science; Design automation; Design engineering; Law; Legal factors; Power engineering and energy; Process design; Runtime; Very large scale integration;
Conference_Titel :
VLSI Design, 2008. VLSID 2008. 21st International Conference on
Conference_Location :
Hyderabad
Print_ISBN :
0-7695-3083-4
DOI :
10.1109/VLSI.2008.93