• DocumentCode
    2572762
  • Title

    Effective compilation support for Variable Instruction Set Architecture

  • Author

    Liu, Jack ; Kong, Timothy ; Chow, Fred

  • Author_Institution
    Cognigine Corp., Fremont, CA, USA
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    56
  • Lastpage
    67
  • Abstract
    Traditional compilers perform their code generation tasks based on a fixed, pre-determined instruction set. This paper describes the implementation of a compiler that determines the best instruction set to use for a given program and generates efficient code sequence based on it. We first give an overview of the VISC Architecture pioneered at Cognigine that exemplifies a Variable Instruction Set Architecture. We then present three compilation techniques that, when combined, enable us to provide effective compilation and optimization support for such an architecture. The first technique involves the use of an abstract operation representation that enables the code generator to optimize towards the core architecture of the processor without committing to any specific instruction format. The second technique uses an enumeration approach to scheduling that yields near-optimal instruction schedules while still adhering to the irregular constraints imposed by the architecture. We then derive the dictionary and the instruction output based on this schedule. The third technique superimposes dictionary re-use on the enumeration algorithm to provide trade-off between program performance and dictionary budget. This enables us to make maximal use of the dictionary space without exceeding its limit. Finally, we provide measurements to show the effectiveness of these techniques.
  • Keywords
    computer architecture; instruction sets; program compilers; VISC architecture; code generation tasks; code sequence; compilation support; compilers; enumeration approach; optimization support; variable instruction set architecture; Application specific processors; Computer architecture; Dictionaries; Embedded software; Hardware; Instruction sets; Lifting equipment; Processor scheduling; Program processors; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 2002. Proceedings. 2002 International Conference on
  • ISSN
    1089-795X
  • Print_ISBN
    0-7695-1620-3
  • Type

    conf

  • DOI
    10.1109/PACT.2002.1106004
  • Filename
    1106004