• DocumentCode
    2194881
  • Title

    Allowing for ILP in an embedded Java processor

  • Author

    Radhakrishnan, Ramesh ; Talla, Deependra ; John, Lizy Kurian

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Texas Univ., Austin, TX, USA
  • fYear
    2000
  • fDate
    14-14 June 2000
  • Firstpage
    294
  • Lastpage
    305
  • Abstract
    Java processors are ideal for embedded and network computing applications such as Internet TV´s, set-top boxes, smart phones, and other consumer electronics applications. In this paper we investigate cost-effective microarchitectural techniques to exploit parallelism in Java bytecode streams. Firstly, we propose the use of a fill unit that stores decoded bytecodes into a decoded bytecode cache. This mechanism improves the fetch and decode bandwidth of Java processors by 2 to 3 times. These additional hardware units can also be used to perform optimizations such as instruction folding. This is particularly significant because experiments with the Verilog model of Sun Microsystems picoJava-II core demonstrates that instruction folding lies in the critical path. Moving folding logic from the critical path of the processor to the fill unit allows to improve the clock frequency by 25%. Out-of-order ILP exploitation is not investigated due to the prohibitive cost, but in-order dual-issue with a 64-entry decoded bytecode cache is seen to result in 10% to 14% improvement in execution cycles. Another contribution of the paper is a stack disambiguation technique that allows elimination of false dependencies between different types of stack: accesses. Stack disambiguation further exposes parallelism and a dual in-order issue microengine with a 64-entry bytecode cache yields an additional 10% reduction in cycles, leading to an aggregate reduction of 17% to 24% in execution cycles.
  • Keywords
    Internet; Java; program compilers; program processors; Java bytecode; Sun Microsystems picoJava-II; Verilog model; decoded bytecodes; embedded Java processor; instruction folding; instruction level processors; microarchitectural techniques; network computing; smart phones;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2000. Proceedings of the 27th International Symposium on
  • Conference_Location
    Vancouver, BC, Canada
  • ISSN
    1063-6897
  • Print_ISBN
    1-58113-232-8
  • Type

    conf

  • Filename
    854399