Tomasulo算法實驗報告_第1頁
Tomasulo算法實驗報告_第2頁
Tomasulo算法實驗報告_第3頁
Tomasulo算法實驗報告_第4頁
Tomasulo算法實驗報告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

高級計算機(jī)系統(tǒng)結(jié)構(gòu)Tomasulo算法實驗報告Tomasulo算法實驗一、實驗?zāi)康模?)加深對指令集并行性及開發(fā)的理解。(2)加深對Tomasulo算法的理解。.(3)掌握Tomulo算法在指令流出、執(zhí)行、寫結(jié)果各階段對浮點操作指令以及l(fā)oad和store指令進(jìn)行什么處理。(4)掌握采用了Tomasulo算法的浮點處理部件的結(jié)構(gòu)。(5)掌握保留站的結(jié)構(gòu)。(6)給定被執(zhí)行代碼片段,對于具體某個時鐘周期,能夠?qū)懗霰A粽?、指令狀態(tài)表以及浮點寄存器狀態(tài)表內(nèi)容的變化情況。二、實驗平臺采用Tomasulo算法模擬器。Tomasulo算法基本思想:記錄和檢測指令相關(guān),操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW沖突的可能性減少到最小;通過寄存器換名來消除WAR沖突和WAW沖突。三、實驗內(nèi)容和步驟實驗一(1)學(xué)會使用Tomasulo算法。假設(shè)浮點功能部件的延遲時間為加減法2個周期,乘法10個時鐘周期,除法40個時鐘周期,load部件2個時鐘周期。對于下面的代碼段,給出當(dāng)指令MUL.D寫結(jié)果時,保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。L.DF6,24(R2)L.DF2,12(R3)MUL.DF0,F2,F4SUB.DF8,F6,F2DIV.DF10,F0,F6ADD.DF6,F8,F2②按步進(jìn)方式執(zhí)行上述代碼,利用模擬器的“小三角按鈕”的對比顯示功能,觀察每一個時鐘周期前后各信息表中內(nèi)容的變化情況。(2)對與上面相同的延遲時間和代碼段。①給出在第3個時鐘周期時,保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。②步進(jìn)5個時鐘周期,給出這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。③再步進(jìn)10個時鐘周期,給出這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。實驗二假設(shè)浮點功能部件的延遲時間為加減法3個時鐘周期,乘法8個時鐘周期,除法40個時鐘周期。對于下面的代碼重復(fù)實驗一中步驟(2)的內(nèi)容。編寫代碼如下:L.DF6,28(R2)ADD.DF2,F4,F8MUL.DF0,F2,F4SUB.DF8,F6,F2DIV.DF12,F0,F6ADD.DF10,F8,F2四、實驗結(jié)果及分析說明:R[X]表示寄存器X的內(nèi)容,M[y]表示存儲器存儲單元y的內(nèi)容:實驗一實驗二實驗一結(jié)果浮點功能部件的延遲時間為加減法2個周期,乘法10個時鐘周期,除法40個時鐘周期,load部件2個時鐘周期,根據(jù)實驗結(jié)果可知程序全部執(zhí)行完需要57個時鐘周期。1)當(dāng)指令MUL.D寫結(jié)果時,保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。根據(jù)實驗結(jié)果得出MUL.D寫結(jié)果時是第16個周期,此時各部件的狀態(tài)如下所示:其指令執(zhí)行狀態(tài)如下:②其保留站內(nèi)容如下:分析:此時SUB.D、ADD.D和MULt1已經(jīng)執(zhí)行完畢,所以Busy狀態(tài)為“no”,而DIV.D還未執(zhí)行完,所以保留站Mult2仍處于忙碌狀態(tài)。③load緩沖器內(nèi)容:分析:此時Loda緩沖器處于閑置狀態(tài),因為只有前兩條指令需要計算地址,而前兩條指令在第5個周期時已經(jīng)執(zhí)行完,所以指導(dǎo)程序運(yùn)行完的所有周期中該部件都是處于閑置狀態(tài)的。④寄存器內(nèi)容:2)第3個時鐘周期時,保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。①指令狀態(tài)②保留站內(nèi)容分析:第3個時鐘周期時MULT.D指令流出,所以保留站的Mult1處于忙碌狀態(tài)。③load緩沖器內(nèi)容:分析:第3個時鐘周期時前兩條去操作數(shù)的指令還為執(zhí)行完,所以load緩沖器的前兩個緩沖器處于忙狀態(tài)。④寄存器3)步進(jìn)5個時鐘周期,給出這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。步進(jìn)5個時鐘周期后,是程序執(zhí)行的第8個周期,此時各部件的狀態(tài)如下:①指令狀態(tài)(此時SUB.D指令恰好執(zhí)行完成)②保留站內(nèi)容分析:第8個周期時L.D和SUB.D三條指令執(zhí)行完畢,其余三條未完成,所以保留站中仍有其他三條的信息。③load緩沖器內(nèi)容:④寄存器內(nèi)容4)再步進(jìn)10個時鐘周期,這時處于執(zhí)行周期的第18個周期,這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容:①指令狀態(tài)分析:第18個周期時只剩下DIV.D指令未執(zhí)行完,并且此時正處于執(zhí)行的等待階段。②保留站分析:此時其余指令全部執(zhí)行完畢,只有DIV.D還未執(zhí)行完,所以只有保留站Mult2仍處于忙碌狀態(tài)。③Load緩沖器④寄存器實驗二結(jié)果浮點功能部件的延遲時間為加減法3個周期,乘法8個時鐘周期,除法40個時鐘周期,load部件2個時鐘周期。根據(jù)實驗結(jié)果可知該程序需要56個周期執(zhí)行完成。(分析與實驗一類似,不再贅述)(1)第3個時鐘周期時,保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。①指令狀態(tài)②保留站③load緩沖器內(nèi)容:④寄存器內(nèi)容(2)步進(jìn)5個時鐘周期,給出這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。①指令狀態(tài):②保留站內(nèi)容:③Load部件內(nèi)容:④寄存器部件內(nèi)容:(3)再步進(jìn)10個時鐘周期,給出這時保留站、load緩沖器以及寄存器狀態(tài)表中的內(nèi)容。①指令狀態(tài):②保留站內(nèi)容:③Load部件內(nèi)容:④寄存器部件內(nèi)容:五、實驗總結(jié)1.對并行性的理解流水線使指令重疊并行執(zhí)行,可以達(dá)到提高性能的目的,如果指令間沒有相關(guān)性,可以并行執(zhí)行,例如程序中前兩個指令的流出和執(zhí)行階段,第二周期時第二條LOAD.D的流出和第一條LOAD.D的執(zhí)行同時進(jìn)行,從而提高了指令執(zhí)行的效率。但是由于程序之間的相互依賴性,使得流水線中指令流的下一條指令不能在指定的時鐘周期執(zhí)行,這就是流水線沖突。因此為了更好的使程序的運(yùn)行按時完成,我們必須采取相應(yīng)的措施解決流水線相關(guān)引起的問題,而Tomasulo算法就是解決該問題的方法之一。2、對Tomasulo算法的理解Tomasulo算法的核心思想是:①記錄和檢測指令相關(guān),操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW沖突的可能性減少到最??;②通過寄存器換名來消除WAR沖突和WAW沖突。使用Tomasulo算法的流水線需3段:(1)流出:從指令隊列的頭部取一條指令。①如果該指令的操作所要求的保留站有空閑的,就把該指令送到該保留站(設(shè)為r)。②如果其操作數(shù)在寄存器中已經(jīng)就緒,就將這些操作數(shù)送入保留站r。③如果其操作數(shù)還沒有就緒,就把將產(chǎn)生該操作數(shù)的保留站的標(biāo)識送入保留站r。一旦被記錄的保留站完成計算,它將直接把數(shù)據(jù)送給保留站r。完成對目標(biāo)寄存器的預(yù)約工作,如果沒有空閑的保留站,指令就不能流出。執(zhí)行①當(dāng)兩個操作數(shù)都就緒后,本保留站就用相應(yīng)的功能部件開始執(zhí)行指令規(guī)定的操作。②load和store指令的執(zhí)行需要兩個步驟:計算有效地址(要等到基地址寄存器就緒);把有效地址放入load或store緩沖器。寫結(jié)果功能部件計算完畢后,就將計算結(jié)果放到CDB上,所有等待該計算結(jié)果的寄存器和保留(包括store緩沖器)都同時從CDB上獲得所需要的數(shù)據(jù)。3、Tomasulo算法的浮點處理部件的結(jié)構(gòu)Tomasulo算法的浮點處理部件包括:保留站(浮點加法器有3個保留站:ADD1,ADD2,ADD3;浮點乘法器有兩個保留站:MULT1,MULT2)、公共數(shù)據(jù)總線CDB、load緩沖器和store緩沖器、浮點寄存器FP、指令隊列、運(yùn)算部件(浮點加法器和浮點乘法器)4、保留站的結(jié)構(gòu)每個保留站有以下6個字段:①Op:要對源操作數(shù)進(jìn)行的操作。②Qj,Qk:將產(chǎn)生源操作數(shù)的保留站號。等于0表示操作數(shù)已經(jīng)就緒且在Vj或Vk中,或者不需要操作數(shù)。③Vj,Vk:源操作數(shù)的值。對于每一個操作數(shù)來說,V或Q字段只有一個有效。對于load來說,Vk字段用于保

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論