標題: Java處理器的指令折疊分析
Instruction Folding Analysis in Java Processor
作者: 曾漢民
Tseng, Han-Min
鍾崇斌
Chung-Ping Chung
資訊科學與工程研究所
關鍵字: 指令折疊;堆疊機器;Java 處理器;Instruction folding;Stack Machine;Java Processor
公開日期: 1996
摘要: 堆疊機器的效率主要被資料相依性限制住。昇揚公司在設計picoJava 堆疊處理器時,利用了一項技巧--堆疊指令的折疊法則--去增進效率,其 技巧可以刪除最多達60%的堆疊指令。在本論文中,我們研究如何將多個 指令折疊成一個,並套用於我們設計的Java處理器中。我們提出了三個指 令折疊的策略,分別是:將二個指令、三個指令、四個指令折成一個指令 。這三個指令折疊的策略,平均而言可消除56%、71%、以及73%的堆疊指 令。若是以執行時間而言,應用這三個策略於一般的堆疊處理器中,分別 可得到 1.19、1.25、以及1.26倍的加速。我們的模擬程式顯示出,若要 設計出低成本高效率的Java處理器,我們建議採用第二個指令折疊的策略 (將三個指令折疊成一個);解碼器的寬度至少要六個位元組;並採用積 極的解碼方法。 The performance of a stack machine is limited mainly by the true data dependency.A performance enhancement mechanism - Stack Operations Folding - was used inSun Microelectronics' PicoJava design [1] and it can reduce up to 60% of all stack operations. In this thesis, we use the Java bytecode language as the target machine language, and study its instruction folding on a proposed machine model. Three foldingstrategies was simulated and evaluated. Statistical data show that our third folding strategy eliminates 73% (on average) of all stack operations, and each strategy has an overall program speedup of 1.19, 1.25 and 1.26, respectively, as compared to a traditional stack machine. It seems to have the best cost/performance effectiveness of a Java stack machine if six bytes decoder width and a shifting instruction fetch buffer are used [2]. And the second folding strategy -- the 3-foldable strategy -- is recommended.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT850392054
http://hdl.handle.net/11536/61806
Appears in Collections:Thesis