MARS architecture code optimization under pipeline constraints
博士 === 國立臺灣大學 === 電機工程研究所 === 80 === MARS處理機是一種流線化的架構,以加快控制轉換以乃在Lisp語言中串列進出的處 理。MARS的結構中包含有指令擷取單元,整數處理單元,串列處理單元,和記憶/ 快速記憶體控制單元;以及可隨和之浮點運算單元。 指令在MARS處理機或是其他的管線化的處理機上都被分割成串小的管線階,不同的 指令可在不同的管線階上同時地執行。這樣的架構會構成管線危障如果下一個指令 需要上一個指令執...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | zh-TW |
Published: |
1992
|
Online Access: | http://ndltd.ncl.edu.tw/handle/49390125536653154042 |
Summary: | 博士 === 國立臺灣大學 === 電機工程研究所 === 80 === MARS處理機是一種流線化的架構,以加快控制轉換以乃在Lisp語言中串列進出的處
理。MARS的結構中包含有指令擷取單元,整數處理單元,串列處理單元,和記憶/
快速記憶體控制單元;以及可隨和之浮點運算單元。
指令在MARS處理機或是其他的管線化的處理機上都被分割成串小的管線階,不同的
指令可在不同的管線階上同時地執行。這樣的架構會構成管線危障如果下一個指令
需要上一個指令執行的結果。
在類似MARS的流線化的處理機上,管線危障可以被細分成三種:分別是資料、構造
、以及循序危障。構造的危障源於硬體資料的不足夠,資料危障源於執行資料的相
依性,而循序危障則源於對分岐指令的潛在不正確的執行。
針對資料與構造危障重組方面,我們指出一個稱做強式資料相依圖(EDAG)來表示指
令在指述層次和管線層次的相依以及限制的關係。我們採用的是在後指令產生的重
組方式,並且證明在MARS處理機上這個重組是屬於NP完備性的問題。所以我們提出
一個經驗法則的解決法,並且了解這個解決法的複雜及有效程序。
我們檢驗在MARS處理機,如何有效地解決循序危障的問題。並且我們建立了一個模
型來比較以及分析目前所用於解決這些問題的機制。我們發現MARS處理機在快速記
憶體的延遲為10個循環時比R2000 處理機快些38﹪。
整個重組架構減少約80﹪的不動作指令,以及35﹪的效能的增進。使用重組的方式
減少使用硬體約制的花費且達成約略相等的效果,所以我們認為管線危障在編譯時
來去除是比在執行時去除之有效。
|
---|