Design of an optimal folding mechanism for Java processors

Lee Ren Ton*, Lung Chung Chang, Jyh-Jiun Shann, Chung-Ping Chung

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

5 Scopus citations


Java has become the most important language in the Internet area, but its execution performance is severely limited by the true data dependency inherited from the stack architecture defined by the Sun's Java Virtual Machine (JVM). To enhance the performance of the JVM, a stack operations folding mechanism for the picoJava-II processor was proposed by Sun Microsystems to fold 42.3% stack push/pop instructions. A systematic folding algorithm - Producer, Operator, and Consumer (POC) folding model was proposed in the earlier research to eliminate up to 82.9% of stack push/pop instructions. The remaining push and pop instructions cannot be folded due to the sequential checking characteristic of the POC folding model. A new folding algorithm - enhanced POC (EPOC) folding model is proposed in this paper to further fold the remaining push and pop instructions. In the EPOC folding model, stack push/pop instructions are folded with the proposed Stack Reorder Buffer (SROB) architecture. With a small SROB size of 584 bits, almost all of the stack push/pop instructions can be folded with the precise exception handling capability. Statistical data shows that 98.8% of the stack push/pop instructions can be folded, and the average execution performance speedup of a 4-foldable processor with a 7-byte instruction buffer is 1.74 as compared to a traditional single-pipelined stack machine without folding.

Original languageEnglish
Pages (from-to)341-352
Number of pages12
JournalMicroprocessors and Microsystems
Issue number8
StatePublished - 10 Nov 2002


  • EPOC folding model
  • Java processor
  • Java Virtual Machine
  • POC folding model
  • Stack operations folding

Fingerprint Dive into the research topics of 'Design of an optimal folding mechanism for Java processors'. Together they form a unique fingerprint.

Cite this