Instruction Set Optimization for Application Specific Processors

Max Ferger, Michael Hübner

10th International Symposium on Applied Reconfigurable Computing, April 2014, Portugal


Abstract

Tools and services are available that modify the hardware description, compilers, and tools to build application specific instruction- set architectures (ASIPs). This work introduces an automatic approach in identifying ”hot” code id- ioms: find and count recurring tuples of assembly instructions (N-grams) in a simulator trace. Our analysis gives a short list of frequent combina- tions of instructions, even across control-flow boundaries. These candi- dates are most promising to optimize. On the example of an implementation of the Smith-Waterman-Algorithm for String-Alignment in C, running on a PD RISC by Synopsys Processor Designer, the hot part of the assembly code is identified and manually replaced by an intrinsic function of the same behavior. Results include the growth in logic of the processor, speed-up of the program, and re- duction in energy consumption, due to the first round of applying the proposed technique.

Tags: adaptive, processor