MARS architecture code optimization under pipeline constraints

博士 === 國立臺灣大學 === 電機工程研究所 === 80 === MARS處理機是一種流線化的架構,以加快控制轉換以乃在Lisp語言中串列進出的處 理。MARS的結構中包含有指令擷取單元,整數處理單元,串列處理單元,和記憶/ 快速記憶體控制單元;以及可隨和之浮點運算單元。 指令在MARS處理機或是其他的管線化的處理機上都被分割成串小的管線階,不同的 指令可在不同的管線階上同時地執行。這樣的架構會構成管線危障如果下一個指令 需要上一個指令執...

Full description

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