• DocumentCode
    2800742
  • Title

    New decompilation techniques for binary-level co-processor generation

  • Author

    Stiff, G. ; Vahid, Frank

  • Author_Institution
    Dept. of Comput. Sci. & Eng., California Univ., Riverside, CA, USA
  • fYear
    2005
  • fDate
    6-10 Nov. 2005
  • Firstpage
    547
  • Lastpage
    554
  • Abstract
    Existing ASIPs (application-specific instruction-set processors) and compiler-based co-processor synthesis approaches meet the increasing performance requirements of embedded applications while consuming less power than high-performance gigahertz microprocessors. However, existing approaches place restrictions on software languages and compilers. Binary-level co-processor generation has previously been proposed as a complementary approach to reduce impact on tool restrictions, supporting all languages and compilers, at the cost of some decrease in performance. In a binary-level approach, decompilation recovers much of the high-level information, like loops and arrays, needed for effective synthesis, and in many cases yields hardware similar to that of a compiler-based approach. However, previous binary-level approaches have not considered the effects of software compiler optimizations on the resulting hardware. In this paper, we introduce two new decompilation techniques, strength promotion and loop rerolling, and show that they are necessary to synthesize an efficient custom hardware coprocessor from a binary in the presence of software compiler optimizations. In addition, unlike previous approaches, we show the robustness of binary-level co-processor generation by achieving order of magnitude speedups for binaries generated for three different instruction sets, MIPS, ARM, and MicroBlaze, using two different levels of compiler optimizations.
  • Keywords
    application specific integrated circuits; integrated circuit design; logic design; microprocessor chips; ARM; MIPS; MicroBlaze; application-specific instruction-set processor; binary-level approach; binary-level co-processor generation; compiler-based co-processor synthesis; decompilation technique; high-level information; high-performance gigahertz microprocessors; loop rerolling; software compiler optimization; software language; tool restrictions; Application software; Application specific processors; Coprocessors; Costs; Fabrics; Field programmable gate arrays; Hardware; Microprocessors; Optimizing compilers; Software performance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer-Aided Design, 2005. ICCAD-2005. IEEE/ACM International Conference on
  • Print_ISBN
    0-7803-9254-X
  • Type

    conf

  • DOI
    10.1109/ICCAD.2005.1560127
  • Filename
    1560127