Edinburgh Research Explorer

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

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

Original languageEnglish
Title of host publicationGROW'09: Proceedings of the 1st International Workshop on GCC Research Opportunities
Number of pages12
Publication statusPublished - 2009


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.

Download statistics

No data available

ID: 18535401