Exploiting Java Bytecode Parallelism by Enhanced POC Folding Model

  • Lee-Ren Ton
  • Lung-Chung Chang
  • Chung-Ping Chung
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1900)


Instruction-level parallelism of stack codes like Java is severely limited by accessing the operand stack sequentially. To resolve this problem in Java processor design, our earlier works have presented stack operations folding to reduce the number of push/pop operations in between the operand stack and the local variable. In those studies, Java bytecodes are classified into three major POC types. Statistical data indicates that the 4-foldable strategy of the POC folding model can eliminate 86% of push/pop operations. In this research note, we propose an Enhanced POC (EPOC) folding model to eliminate more than 99% of push/pop operations with an instruction buffer size of 8 bytes and the same 4-foldable strategy. The average issued instructions per cycle for a single pipelined architecture is further enhanced from 1.70 to 1.87.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    James Gosling, Bill Joy and Guy Steele: The JavaTM Language Specification, Addison-Wesley, Reading MA (1996)MATHGoogle Scholar
  2. 2.
    Tim Lindholm and Frank Yellin: The JavaTM Virtual Machine Specification, Addison-Wesley, Reading MA (1996)Google Scholar
  3. 3.
    Venners, B.: Inside the Java Virtual Machine, McGraw Hill, New York (1998)Google Scholar
  4. 4.
    M. O’Connor and M. Tremblay: picoJava-I: The Java Virtual Machine in Hardware, IEEE Micro, Vol. 17, No. 2, (1997) 45–53CrossRefGoogle Scholar
  5. 5.
    H. McGhan and M. O’Connor,: picoJava: A Direct Execution Engine for Java Bytecode, IEEE Computer, (1998) 22–30Google Scholar
  6. 6.
    Sun Microsystems Inc.: picoJava-HTM Microarchitecture Guide, Sun Microsystems, CA USA (1999)Google Scholar
  7. 7.
    Sun Microelectronics: microJavaTM-701 Processor,” http://www.sun.com/microelectronics/ microJava-701/
  8. 8.
    Han-Min Tseng, et. al.: Performance Enhancement by Folding Strategies of a Java Processor, Proceedings of International Conference on Computer Systems Technology for Industrial Applications-Internet and Multimedia, (1997)Google Scholar
  9. 9.
    Lee-Ren Ton, et. al.: Instruction Folding in Java Processor, Proceedings of the International Conference on Parallel and Distributed Systems, (1997)Google Scholar
  10. 10.
    N. Vijaykrishnan, N. Ranganathan and R. Gadekarla: Object-Oriented Architectural Support for a Java Processor, Proceedings of the ECOOP’98, Lecture Notes in Computer Science, Springer Verlag, (1998)Google Scholar
  11. 11.
    L. C. Chang, L. R. Ton, M. F. Kao and C. P. Chung,: Stack Operations Folding in Java Processors, IEE Proceedings on Computer and Digital Techniques, Vol. 145, No. 5, (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Lee-Ren Ton
    • 1
  • Lung-Chung Chang
    • 2
  • Chung-Ping Chung
    • 1
  1. 1.Department of Computer Science and Information EngineeringNational Chiao Tung UniversityHsinchuTaiwan 30056, ROC
  2. 2.Computer & Communications Research LaboratoriesIndustrial Technology Research InstituteHsinchuTaiwan 31041, ROC

Personalised recommendations