Title :
Isomorphism-Aware Identification of Custom Instructions With I/O Serialization
Author :
Ahn, Junwhan ; Choi, Kiyoung
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., Seoul, South Korea
Abstract :
Extensible processors have been widely used to achieve the conflicting demands for performance improvement, low power consumption, and flexibility. As extensible processors have become more popular, several algorithms have been proposed for automatically identifying instruction-set extensions in order to reduce the effort of manual design and verification. However, most of them focus on finding large and complex instructions that are used only once, rather than repeatedly used ones. Moreover, some other approaches that consider recurrence are limited to finding small instructions. This paper proposes a novel algorithm that considers the instruction reusability as well as input/output (I/O) serialization. In order to overcome the high complexity of the problem, we develop a canonical-form construction algorithm for fast isomorphism detection on directed acyclic graphs and an incremental template generation algorithm that identifies the best custom instruction in terms of a user-defined fitness function. Moreover, our algorithm serializes I/O operations so that the numbers of inputs and outputs of custom instructions are not limited by the microarchitecture. This paper also proposes an algorithm for multiple custom instructions utilizing a well-known iterative selection algorithm. Last, it presents a hybrid algorithm composed of our algorithm and the previous algorithm that does not consider reusability. Experimental results show that our isomorphism-aware algorithm achieves significant improvement over previous approaches in terms of algorithm runtime, as well as performance gain obtained by custom instructions.
Keywords :
application specific integrated circuits; directed graphs; instruction sets; iterative methods; microprocessor chips; application specific instruction set processors; custom instructions; directed acyclic graphs; extensible processors; incremental template generation algorithm; input-output serialization; instruction reusability; instruction set extensions; isomorphism aware identification; isomorphism detection; iterative selection algorithm; low power consumption; performance gain; performance improvement; user defined fitness function; Algorithm design and analysis; Clustering algorithms; Heuristic algorithms; Program processors; Registers; Application-specific instruction-set processors (ASIPs); extensible processors; input/output (I/O) serialization; instruction-set extension; isomorphism detection; iterative selection;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2012.2214033