An End-to-End Design Flow for Automated Instruction Set Extension and Complex Instruction Selection Based on GCC

O. Almer, R. Bennett, I. Böhm, Alan Murray, X. Qu, M. Zuluaga, B Franke, N.P. Topham

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Extensible processors are application-specific instruction set processors (ASIPs) that allow for customisation through user-defined instruction set extensions (ISE) implemented in an extended micro architecture. Traditional design flows for ISE typically involve a large number of different tools for processing of the target application written in C, ISE identification, generation, optimisation and synthesis of additional functional units. Furthermore, ISE exploitation is typically restricted to the specific application the new instructions have been derived from. This is due to the lack of instruction selection technology that is capable of generating code for complex, multiple-input multiple-output instructions. In this paper we present a complete tool-chain based on GCC for automated instruction set extension, micro-architecture optimisation and complex instruction selection. We demonstrate that our approach is capable of generating highly efficient ISEs, trading o area and performance constraints, and exploit complex custom instruction patterns in an extended GCC platform.
Original languageEnglish
Title of host publicationGROW'09: Proceedings of the 1st International Workshop on GCC Research Opportunities
Pages1-12
Number of pages12
Publication statusPublished - 2009

Fingerprint

Dive into the research topics of 'An End-to-End Design Flow for Automated Instruction Set Extension and Complex Instruction Selection Based on GCC'. Together they form a unique fingerprint.

Cite this