Allowing for ILP in an embedded Java']Java processor

被引:0
|
作者
Radhakrishnan, R [1 ]
Talla, D [1 ]
John, LK [1 ]
机构
[1] Univ Texas, Dept Elect & Comp Engn, Lab Comp Architecture, Austin, TX 78712 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 pi 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.
引用
收藏
页码:294 / 305
页数:12
相关论文
共 50 条
  • [31] Instruction folding in Java']Java processor
    Ton, LR
    Chang, LC
    Rao, MF
    Tseng, HM
    Shang, SS
    Ma, RL
    Wang, DC
    Chung, CP
    1997 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1997, : 138 - 143
  • [32] JAIP-MP: A Four-Core Java']Java Application Processor for Embedded Systems
    Tsai, Chun-Jen
    Wu, Tsung-Han
    Su, Hung-Cheng
    Chen, Cheng-Yang
    VLSI-SOC: DESIGN FOR RELIABILITY, SECURITY, AND LOW POWER, 2016, 483 : 170 - 192
  • [33] Java']Java for embedded systems
    Mulchandani, D
    IEEE INTERNET COMPUTING, 1998, 2 (03) : 30 - 39
  • [34] Supporting object accesses in a Java']Java processor
    Vijaykrishnan, N
    Ranganathan, N
    IEE PROCEEDINGS-COMPUTERS AND DIGITAL TECHNIQUES, 2000, 147 (06): : 435 - 443
  • [35] An instruction folding solution for a Java']Java processor
    Tan Yiyu
    Yau Chihang
    Fong, Anthony S.
    Yang Xiaojian
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2009, 24 (03): : 133 - 143
  • [36] LavaCORE™ -: Configurable Java']Java™ processor core
    Bose, B
    Tuna, ME
    Nagy, JM
    2002 IEEE AEROSPACE CONFERENCE PROCEEDINGS, VOLS 1-7, 2002, : 1953 - 1959
  • [37] An instruction folding solution to a Java']Java processor
    Tan Yiyu
    Fong, Anthony S.
    Yang Xiaojian
    NETWORK AND PARALLEL COMPUTING, PROCEEDINGS, 2007, 4672 : 415 - +
  • [38] Asynchronous Java']Java accelerator for embedded Java']Java virtual machine
    Liang, Z
    Plosila, J
    Sere, K
    PROCEEDINGS OF THE IEEE 6TH CIRCUITS AND SYSTEMS SYMPOSIUM ON EMERGING TECHNOLOGIES: FRONTIERS OF MOBILE AND WIRELESS COMMUNICATION, VOLS 1 AND 2, 2004, : 253 - 256
  • [39] An Extensive Hardware/Software Co-design on a Descriptor-Based Embedded Java']Java Processor
    Yau, C. H.
    Tan, Y. Y.
    Fong, A. S.
    Mok, P. L.
    PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE FOR YOUNG COMPUTER SCIENTISTS, VOLS 1-5, 2008, : 142 - 147
  • [40] Active memory processor: A hardware garbage collector for real-time Java']Java embedded devices
    Srisa-an, W
    Lo, CTD
    Chang, JEM
    IEEE TRANSACTIONS ON MOBILE COMPUTING, 2003, 2 (02) : 89 - 101