• DocumentCode
    1565873
  • Title

    DISE: a programmable macro engine for customizing applications

  • Author

    Corliss, Marc L. ; Lewis, E. Christopher ; Roth, Amir

  • Author_Institution
    Dept. of Comput. & Inf. Sci., Pennsylvania Univ., Philadelphia, PA, USA
  • fYear
    2003
  • Firstpage
    362
  • Lastpage
    373
  • Abstract
    Dynamic instruction stream editing (DISE) is a cooperative software-hardware scheme for efficiently adding customization functionality $e.g, safety/security checking, profiling, dynamic code decompression, and dynamic optimization - to an application. In DISE, application customization functions (ACFs) are formulated as rules for macro-expanding certain instructions into parameterized instruction sequences. The processor executes the rules on the fetched instructions, feeding the execution engine an instruction stream that contains ACF code. Dynamic instruction macro-expansion is widely used in many of today´s processors to convert a complex ISA to an easier-to-execute, finer-grained internal form. DISE coopts this technology and adds a programming interface to it. DISE unifies the implementation of a large class of ACFs that would otherwise require either special-purpose hardware widgets or static binary rewriting. We show DISE implementations of two ACFs - memory fault isolation and dynamic code decompression - and their composition. Simulation shows that DISE ACFs have better performance than their software counterparts, and more flexibility (which sometimes translates into performance) than hardware implementations.
  • Keywords
    application program interfaces; instruction sets; macros; microprocessor chips; optimising compilers; ACF; DISE; ISA; application customization function; dynamic code decompression; dynamic instruction stream editing; dynamic optimization; macro-expansion; memory fault isolation; programmable macro engine; safety checking; software-hardware scheme; static binary rewriting; Application software; Communication system control; Computer architecture; Control systems; Decoding; Engines; Hardware; Information science; Pattern matching; Production;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2003. Proceedings. 30th Annual International Symposium on
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-1945-8
  • Type

    conf

  • DOI
    10.1109/ISCA.2003.1207014
  • Filename
    1207014