HW/SW co-design of a multi-threaded Java virtual machine

Yun Lung Lee, Yung Chao Chen, Jer-Min Jou, Shiann Rong Kuang

Research output: Contribution to journalArticlepeer-review

1 Citation (Scopus)


In this paper, we have designed and implemented a Multi-Threaded Java Virtual Machine (MTJVM), which is composed of multiple processing elements (PEs), a thread manager, and a memory manager. It can directly execute Java threads concurrently without any software/OS support, and threads will be dynamically dispatched to PEs and run simultaneously toward Thread-Level- Parallelism (TLP). Thread processing mechanisms and instructions, such as real-time scheduling, sleep, wait, yield, and synchronization, are handled by two new global controllers, the thread-manager and the memory-manager. The complete system including the virtual machine itself and its class loader has been designed and synthesized with VHDL and C, respectively. As the experiment results show, the performance and the area of it are scalable with the number of PEs used, and it works at 96.8 MHz with Altera Straix II Family.

Original languageEnglish
Pages (from-to)109-115
Number of pages7
JournalInternational Journal of Electrical Engineering
Issue number2
Publication statusPublished - 2008 Apr 1

All Science Journal Classification (ASJC) codes

  • Electrical and Electronic Engineering


Dive into the research topics of 'HW/SW co-design of a multi-threaded Java virtual machine'. Together they form a unique fingerprint.

Cite this