標題: Java處理機的超純量處理與指令折疊之研究
Study of Superscalar Processing and Instruction Folding in Java Processors
作者: 高敏富
Min-Fu Kao
鍾崇斌
Chung-Ping Chung
資訊科學與工程研究所
關鍵字: 爪哇處理機;指令層次平行度;指令折疊;超純量處理;POCI模型;具指令折疊能力的依序超純量處理;Java Processor;ILP (Instruction-Level-Parallelism);Instruction Folding;Superscalar Processing;POCI (Producer/Operator/Consumer/Identity) Model;ISIF (In-order Superscalar processing with Instruction Folding)
公開日期: 1998
摘要: 在本篇論文中,我們介紹了一種組合方案來加以開發Java處理機中指令層次平行度 (ILP, Instruction-Level-Parallelism);此方案被稱為具指令折疊能力的依序超純量處理 (ISIF, In-order Superscalar processing with Instruction Folding)。它採用指令折疊技術以整批方式同時執行具有真實相依性的指令群(被稱為可折疊指令群),然後再使用依序超純量處理技術以平行方式並行執行無相依性的可折疊指令群或個別指令。此外,我們亦提出一種新方法來輔助指令間相依性的檢查;此方法被稱為POCI模型 (Producer/Operator/Consumer/Identity Model)。它使用類似數學運算的方式來加以確認兩兩連續的指令配對是否具有真實相依性。再者,本篇論文也探討了採用ISIF概念來設計Java處理機時應注意的設計議題,且提出採用軌跡驅動模擬 (trace-driven simulation) 方法的實驗結果。實驗結果說明了ISIF比單純的指令折疊可穫取額外的平行度。另外,我們也確認了這個事實:指令折疊與依序超純量處理是提昇Java處理機中平行度的兩種主要的技術,而分歧預測僅是輔助的技術。
In this thesis we introduce a combined approach to exploiting instruction-level-parallelism in Java processors. The approach, called ISIF (In-order Superscalar processing with Instruction Folding), employs instruction folding to execute the sequences of instructions with true dependence (called foldable groups) in bundle, and then in-order superscalar processing to execute foldable groups or individual instructions with no dependence in parallel. Moreover, we propose a new method to assist in checking dependence among instructions. The method, called POCI (Producer/Operator/Consumer/Identity) model, uses mathematics-like operations to identify whether each pair of consecutive instructions is true dependent or not. The thesis examines various issues in designing such a Java processor using the ISIF concept, and presents results of experiments using trace-driven simulation of Java benchmarks. The experiments show that ISIF achieves additional parallelism over pure instruction folding for conventional Java processors. The results confirm that both instruction folding and in-order superscalar processing are two primary techniques to improve parallelism in Java processors; branch prediction, however, is just an auxiliary technique.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT870392010
http://hdl.handle.net/11536/64031
顯示於類別:畢業論文