Exploiting Java Bytecode Parallelism by Enhanced POC Folding Model
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.
- 2.Tim Lindholm and Frank Yellin: The JavaTM Virtual Machine Specification, Addison-Wesley, Reading MA (1996)Google Scholar
- 3.Venners, B.: Inside the Java Virtual Machine, McGraw Hill, New York (1998)Google Scholar
- 5.H. McGhan and M. O’Connor,: picoJava: A Direct Execution Engine for Java Bytecode, IEEE Computer, (1998) 22–30Google Scholar
- 6.Sun Microsystems Inc.: picoJava-HTM Microarchitecture Guide, Sun Microsystems, CA USA (1999)Google Scholar
- 7.Sun Microelectronics: microJavaTM-701 Processor,” http://www.sun.com/microelectronics/ microJava-701/
- 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.Lee-Ren Ton, et. al.: Instruction Folding in Java Processor, Proceedings of the International Conference on Parallel and Distributed Systems, (1997)Google Scholar
- 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.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