• DocumentCode
    746327
  • Title

    Variable instruction set architecture and its compiler support

  • Author

    Liu, Jack ; Chow, Fred ; Kong, Timothy ; Roy, Rupan

  • Author_Institution
    Cognigine Corp., Fremont, CA, USA
  • Volume
    52
  • Issue
    7
  • fYear
    2003
  • fDate
    7/1/2003 12:00:00 AM
  • Firstpage
    881
  • Lastpage
    895
  • Abstract
    A variable instruction set processor provides a dictionary that enables the compiler to configure the best instruction set to use for executing the program being compiled. This paper describes Cognigine´s variable instruction set communication architecture (VISC Architecture) and the implementation of a compiler that provides effective compilation and optimization support for this target. The compiler implementation involves the use of an abstract operation representation that enables the code generator to optimize toward the core architecture of the processor without committing to any specific instruction format. It then uses an enumeration approach to instruction scheduling that determines the final forms of the instructions to be generated while still adhering to the irregular constraints imposed by the architecture. The enumeration approach also allows the incorporation of dictionary reuse functionality to provide trade offs between program performance and dictionary budget. Finally, we provide experimental results to show the effectiveness of these compilation techniques in supporting Cognigine´s VISC Architecture.
  • Keywords
    instruction sets; optimising compilers; reconfigurable architectures; scheduling; VISC Architecture; abstract operation representation; code generator; compiler support; dictionary; embedded processor; experimental results; instruction scheduling; optimization; optimizing compiler; program performance; resource modeling; variable instruction set architecture; variable instruction set communication architecture; Application software; Computer aided instruction; Computer architecture; Dictionaries; Hardware; Job shop scheduling; Optimizing compilers; Processor scheduling; Program processors; Runtime;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2003.1214337
  • Filename
    1214337