計(jì)算機(jī)體系結(jié)構(gòu)問答題第4章_第1頁
計(jì)算機(jī)體系結(jié)構(gòu)問答題第4章_第2頁
計(jì)算機(jī)體系結(jié)構(gòu)問答題第4章_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、第4章指令級(jí)并行簡述指令動(dòng)態(tài)調(diào)度的優(yōu)點(diǎn)。(1)能夠處理一些編譯時(shí)情況不明的相關(guān)(比如涉及存儲(chǔ)器訪問的相關(guān)),并簡化 了編譯器。(2)能夠使本來是面向某一流水線優(yōu)化編譯的代碼在其他的流水線(動(dòng)態(tài)調(diào)度)上 也能高效地執(zhí)行。當(dāng)然,動(dòng)態(tài)調(diào)度的這些優(yōu)點(diǎn)是以硬件復(fù)雜性的顯著增加為代價(jià)的。為了支持亂序執(zhí)行,將教材第3章的5段流水線的譯碼(ID)段細(xì)分為哪兩個(gè)段?(1)流出:指令譯碼,并檢查是否存在結(jié)構(gòu)沖突。如果不存在結(jié)構(gòu)沖突,就將指令 流出。(2)讀操作數(shù):等待數(shù)據(jù)沖突消失(如果有的話),然后讀操作數(shù)。論述Tomasulo算法的基本思想。Tomasulo算法的基本思想是只要操作數(shù)有效,就將其取到保留站,避免

2、指令流出時(shí)才 到寄存器中取數(shù)據(jù),這就使得即將執(zhí)行的指令從相應(yīng)的保留站中取得操作數(shù),而不是從寄 存器中。指令的執(zhí)行結(jié)果也是直接送到等待數(shù)據(jù)的其他保留站中去。因而,對(duì)于連續(xù)的寄 存器寫,只有最后一個(gè)才真正更新寄存器中的內(nèi)容。一條指令流出時(shí),存放操作數(shù)的寄存 器名被換成為對(duì)應(yīng)于該寄存器保留站的名稱(編號(hào))。指令流出邏輯和保留站相結(jié)合實(shí)現(xiàn) 寄存器換名,從而完全消除了數(shù)據(jù)寫后寫和先讀后寫相關(guān)這類名相關(guān)。Tomasulo算法采用分布的保留站,具有什么特點(diǎn)?(1)沖突檢測(cè)和指令執(zhí)行控制是分布的。每個(gè)功能部件的保留站中的信息決定了什 么時(shí)候指令可以在該功能部件開始執(zhí)行。(2)計(jì)算結(jié)果通過CDB直接從產(chǎn)生它的保

3、留站傳送到所有需要它的功能部件,而不 用經(jīng)過寄存器。在Tomasulo算法中,進(jìn)入“流出”段的條件是什么?對(duì)于浮點(diǎn)操作來說,要進(jìn)行 哪些動(dòng)作和記錄工作?進(jìn)入“流出”段的條件:有空閑保留站r動(dòng)作和記錄工作:寫出算法或者文字描述均可。要點(diǎn):(1)判斷第一操作數(shù)是否就緒;如果是,就把操作數(shù)讀到保留站,否則就 把寄存器狀態(tài)表中的標(biāo)識(shí)送給保留站。(2)判斷第二操作數(shù)是否就緒;如果是,就把操作數(shù)讀到保留站,否則就 把寄存器狀態(tài)表中的標(biāo)識(shí)送給保留站。(3)把保留站置為忙。(4)把操作碼送保留站。(5)把保留站號(hào)r送到與該指令的結(jié)果寄存器對(duì)應(yīng)的寄存器狀態(tài)表項(xiàng)。動(dòng)態(tài)分支預(yù)測(cè)技術(shù)的目的是什么?預(yù)測(cè)分支是否成功和盡

4、快找到分支目標(biāo)地址(或指令),從而避免控制相關(guān)造成流水 線停頓。采用動(dòng)態(tài)分支預(yù)測(cè)技術(shù),需要解決哪兩個(gè)關(guān)鍵問題?(1)如何記錄分支的歷史信息;(2)如何根據(jù)這些信息來預(yù)測(cè)分支的去向(甚至取 到指令)。BTB表格中的每一項(xiàng)至少有哪兩個(gè)字段?執(zhí)行過的成功分支指令的地址;預(yù)測(cè)的分支目標(biāo)地址。簡述前瞻執(zhí)行的基本思想。對(duì)分支指令的結(jié)果進(jìn)行猜測(cè),并假設(shè)這個(gè)猜測(cè)總是對(duì)的,然后按這個(gè)猜測(cè)結(jié)果繼續(xù)取、 流出和執(zhí)行后續(xù)的指令。只是執(zhí)行指令的結(jié)果不是寫回到寄存器或存儲(chǔ)器,而是放到一個(gè) 稱為ROB的緩沖器中。等到相應(yīng)的指令得到“確認(rèn)”(即確實(shí)是應(yīng)該執(zhí)行的)后,才將結(jié) 果寫入寄存器或存儲(chǔ)器。基于硬件的前瞻執(zhí)行結(jié)合了哪三種

5、思想?(1)動(dòng)態(tài)分支預(yù)測(cè)。用來選擇后續(xù)執(zhí)行的指令。(2)在控制相關(guān)的結(jié)果尚未出來之前,前瞻地執(zhí)行后續(xù)指令。(3)用動(dòng)態(tài)調(diào)度對(duì)基本塊的各種組合進(jìn)行跨基本塊的調(diào)度。ROB中的每一項(xiàng)由哪4個(gè)字段組成?(1)指令類型:指出該指令是分支指令、store指令或寄存器操作指令。(2)目標(biāo)地址:給出指令執(zhí)行結(jié)果應(yīng)寫入的目標(biāo)寄存器號(hào)(如果是load和ALU指令) 或存儲(chǔ)器單元的地址(如果是store指令)。(3)數(shù)據(jù)值字段:用來保存指令前瞻執(zhí)行的結(jié)果,直到指令得到確認(rèn)。(4)就緒字段:指出指令是否已經(jīng)完成執(zhí)行并且數(shù)據(jù)已就緒。超標(biāo)量處理機(jī)與VLIW處理機(jī)相比有什么優(yōu)點(diǎn)?(1)超標(biāo)量結(jié)構(gòu)對(duì)程序員是透明的,因?yàn)樘幚頇C(jī)

6、能自己檢測(cè)下一條指令能否流出, 從而不需要重新排列指令來滿足指令的流出。(2)即使是沒有經(jīng)過編譯器針對(duì)超標(biāo)量結(jié)構(gòu)進(jìn)行調(diào)度優(yōu)化的代碼或是舊的編譯器生 成的代碼也可以運(yùn)行,當(dāng)然運(yùn)行的效果不會(huì)很好。指令多流出處理器受哪些因素的限制?它主要受以下三個(gè)方面的影響:(1)程序所固有的指令級(jí)并行性。(2)硬件實(shí)現(xiàn)上的困難。(3)超標(biāo)量和超長指令字處理器固有的技術(shù)限制。14 .循環(huán)展開和指令調(diào)度時(shí)要注意哪幾個(gè)問題?(1)保證正確性。在循環(huán)展開和調(diào)度過程中尤其要注意兩個(gè)地方的正確性:循環(huán)控 制和操作數(shù)偏移量的修改。(2)注意有效性。只有能夠找到不同循環(huán)體之間的無關(guān)性,才能夠有效地使用循環(huán) 展開。(3)使用不同的寄存器。如果使用相同的寄存器,或者使用較少數(shù)量的寄存器,就可能導(dǎo)致新的沖突。(4)刪除多余的測(cè)試指令和分

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論