透過您的圖書館登入
IP:3.12.107.29
  • 學位論文

多執行緒Java處理器設計

Design of the Multithreading Architecture for a Java Processor

指導教授 : 蔡淳仁

摘要


在此篇論文中,我們提出了兩種多執行緒的Java執行環境,包括單一核心以硬體切換不同執行緒的 Temporal Multithreading (TMT),以及多核心並行的 Simultaneous Multithreading(SMT)。首先在單一Java核心TMT架構方面,因為Java本身就是一種多執行緒的程式語言,而每個執行緒都擁有自己的執行資訊與運算堆疊。若是利用多組硬體堆疊來維護所有執行緒的狀態,對於嵌入式系統設計的成本過大。因此,在我們的設計中提出了兼具效能與成本的解決方案,將各執行緒所運作的堆疊資料在DDR-SDRAM中存有備份,並在Java處理器中利用兩組運算堆疊,當處理器在執行時使用其一的堆疊運算,並將另一堆疊準備好提供接續的執行緒可順利執行。對於執行緒的管理完全是由Java處理器核心負責。實驗顯示,所提供的架構在多執行緒環境下支援執行緒的切換是較有效率的。而第二種SMT則是多處理核心的執行環境,利用在系統中加入多組Java處理核心,使得執行緒的運作可以並行執行。並且由於在執行時的各處理器上的Heap資料可能會不一致,因此我們設計了一個處理資料一致性的機制來確保執行的正確性。結果顯示,在多核心的架構下使得執行緒平行執行確實可以提高執行效率。而我們所提出的Java處理器架構也在Xilinx ML-605 FPGA平台上實作驗證。

並列摘要


無資料

參考文獻


[27]Cheng-Che Chen, Ying-Tien Huang, Chen-Hung Yang, “Java Virtual Machine on CCL Java Coprocessor, ” CCL Technical Journal, no. 103, , pp56-67, Mar 2003.
[1]B. R. Montague, “JN: OS for an Embedded Java Network Computer,” IEEE Micro, 17, 3, pp. 54-60,1997.
[2]J.M. O'Connor and M. Tremblay, “picoJava-I: the Java virtual machine in hardware,” Micro, IEEE, vol. 17, no. 2, pp. 45-53, Mar./Apr. 1997.
[4]C.-M. Chung and S.-D, Kim, “A dualthreaded Java processor for Java multithreading,” In Proc. IEEE on Parallel and Dist. Sys, pp. 693-700, 1998.
[5]J. Kreuzinger, et al, “Real-time event-handling and scheduling on a multithreaded Java microcontroller. Microprocessors and Microsystems,” , 27.1: pp.19-31, 2003.

延伸閱讀


國際替代計量