Title: Java處理器的指令折疊分析
Instruction Folding Analysis in Java Processor
Authors: 曾漢民
Tseng, Han-Min
鍾崇斌
Chung-Ping Chung
資訊科學與工程研究所
Keywords: 指令折疊;堆疊機器;Java 處理器;Instruction folding;Stack Machine;Java Processor
Issue Date: 1996
Abstract: 堆疊機器的效率主要被資料相依性限制住。昇揚公司在設計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