• DocumentCode
    1835384
  • Title

    Automated synthesis of efficient binary decoders for retargetable software toolkits

  • Author

    Qin, Wei ; Malik, Sharad

  • Author_Institution
    Dept. of Electr. Eng., Princeton Univ., NJ, USA
  • fYear
    2003
  • fDate
    2-6 June 2003
  • Firstpage
    764
  • Lastpage
    769
  • Abstract
    A binary decoder is a common component of software development tools such as instruction set simulators, disassemblers and debuggers. The efficiency of the decoder can have a significant impact on the efficiency of these software tools. Automated synthesis of efficient software tool development frameworks targeting the rapidly growing field of application-specific processor design. This paper describes a decoder synthesis algorithm that translates a simple instruction pattern specification into efficient binary decoders in C under given memory constraints. The algorithm constructs a decision tree with carefully chosen decoding primitives and cost models. As demonstrated through two case studies, the synthesized decoders achieve efficiency comparable to hand-coded decoders with ensured correctness. The algorithm has no limitation on the input instruction patterns and it requires only the least amount of knowledge about the instruction encoding. Therefore it can be used with any machine description scheme containing instruction encoding information.
  • Keywords
    application specific integrated circuits; decision trees; decoding; instruction sets; software tools; application-specific processor design; automated synthesis; binary decoder; cost model; debugger; decision tree; decoder synthesis algorithm; decoding tree; development framework; disassembler; hand-coded decoder; input instruction pattern; instruction encoding; instruction pattern specification; instruction set simulator; machine description scheme; memory constraint; retargetable software toolkit; software development tool; synthesized decoder; Analytical models; Decoding; Encoding; Logic; Memory management; Permission; Process design; Programming; Software debugging; Software tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Design Automation Conference, 2003. Proceedings
  • Print_ISBN
    1-58113-688-9
  • Type

    conf

  • DOI
    10.1109/DAC.2003.1219122
  • Filename
    1219122