Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set Customization
Citations Over TimeTop 1% of 2005 papers
Abstract
Application-specific instruction set extensions are an effective way of improving the performance of processors. Critical computation subgraphs can be accelerated by collapsing them into new instructions that are executed on specialized function units. Collapsing the subgraphs simultaneously reduces the length of computation as well as the number of intermediate results stored in the register file. The main problem with this approach is that a new processor must be generated for each application domain. While new instructions can be designed automatically, there is a substantial amount of engineering cost incurred to verify and to implement the final custom processor. In this work, we propose a strategy to transparent customization of the core computation capabilities of the processor without changing its instruction set. A congurable array of function units is added to the baseline processor that enables the acceleration of a wide range of data flow subgraphs. To exploit the array, the microarchitecture performs subgraph identification at run-time, replacing them with new microcode instructions to configure and utilize the array. We compare the effectiveness of replacing subgraphs in the fill unit of a trace cache versus using a translation table during decode, and evaluate the tradeoffs between static and dynamic identification of subgraphs for instruction set customization.
Related Papers
- → An instruction set and microarchitecture for instruction level distributed processing(2002)94 cited
- → LISPARC: Using an architecture description language approach for modelling an adaptive processor microarchitecture(2012)5 cited
- → An instruction set and microarchitecture for instruction level distributed processing(2003)8 cited
- → Application Specific Instruction Set Processor Microarchitecture for UTMS-FDD Cell Search(2005)1 cited
- → Evolving Machine Microprograms: Application to the CODE2 Microarchitecture(2008)