Investigating hardware micro-instruction folding in a Java embedded processor

  • Authors:
  • Flavius Gruian;Mark Westmijze

  • Affiliations:
  • Lund University, Sweden;University of Twente, The Netherlands

  • Venue:
  • Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Bytecode folding is an effective technique for speeding up execution in Java virtual machines. This paper investigates a hardware implementation of the aforementioned technique on BlueJEP, a Java embedded processor. Since BlueJEP is a micro-programmed stack machine, we adopt a micro-instruction oriented approach, folding up to four microinstructions (corresponding to up to four bytecodes, on occasion). A variety of processor versions for different subsets of folding patterns are implemented, simulated and synthesized on a Xilinx FPGA. The measurements and results show that, although the number of execution cycles is reduced, the critical path increase leads to a lower performance. Taking into account the device area, we conclude that for our case, adding a second processor may be preferred over hardware folding. In general, we observe that folding efficiency may only be evaluated properly on a real implementation, rather than using theoretical estimates, due to the increased complexity of the hardware.