School of Informatics - University of Edinburgh Institute for Computing Systems Architecture - School of Informatics
Institute for Computing
Systems Architecture

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

    Paper - An End-to-End Design Flow for Automated Instruction Set Extension and Complex Instruction Selection based on GCC
  • Type: Paper
  • Authors:
    O.Almer, R.V.Bennett, I.Böhm, A.C.Murray, X.Qu, M.Zuluaga, B.Franke and N.P.Topham.
  • Proc. 1st International Workshop on GCC Research Opportunities (GROW'09), Paphos, Cyprus, 2009.
  • Download as PDF
  • Abstract:

    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.