標題: | 多執行緒Java處理器設計 Design of the Multithreading Architecture for a Java Processor |
作者: | 蘇宏成 Su, Hung-Cheng 蔡淳仁 資訊科學與工程研究所 |
關鍵字: | Java處理器;多執行緒;多核心;Java Processor;Multi-threading;Multi-core;Temporal Multithreading |
公開日期: | 2012 |
摘要: | 在此篇論文中,我們提出了兩種多執行緒的Java執行環境,包括單一核心以硬體切換不同執行緒的 Temporal Multithreading (TMT),以及多核心並行的 Simultaneous Multithreading(SMT)。首先在單一Java核心TMT架構方面,因為Java本身就是一種多執行緒的程式語言,而每個執行緒都擁有自己的執行資訊與運算堆疊。若是利用多組硬體堆疊來維護所有執行緒的狀態,對於嵌入式系統設計的成本過大。因此,在我們的設計中提出了兼具效能與成本的解決方案,將各執行緒所運作的堆疊資料在DDR-SDRAM中存有備份,並在Java處理器中利用兩組運算堆疊,當處理器在執行時使用其一的堆疊運算,並將另一堆疊準備好提供接續的執行緒可順利執行。對於執行緒的管理完全是由Java處理器核心負責。實驗顯示,所提供的架構在多執行緒環境下支援執行緒的切換是較有效率的。而第二種SMT則是多處理核心的執行環境,利用在系統中加入多組Java處理核心,使得執行緒的運作可以並行執行。並且由於在執行時的各處理器上的Heap資料可能會不一致,因此我們設計了一個處理資料一致性的機制來確保執行的正確性。結果顯示,在多核心的架構下使得執行緒平行執行確實可以提高執行效率。而我們所提出的Java處理器架構也在Xilinx ML-605 FPGA平台上實作驗證。 |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT070056120 http://hdl.handle.net/11536/73219 |
Appears in Collections: | Thesis |
Files in This Item:
If it is a zip file, please download the file and unzip it, then open index.html in a browser to view the full text content.