計算機體系結構復習題_第1頁
計算機體系結構復習題_第2頁
計算機體系結構復習題_第3頁
計算機體系結構復習題_第4頁
計算機體系結構復習題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上1.7 將計算機系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理時間僅為整個系統(tǒng)運行時間的40%,則采用此增強功能方法后,能使整個系統(tǒng)的性能提高多少?解 由題可知: 可改進比例 = 40% = 0.4 部件加速比 = 10根據Amdahl定律可知:采用此增強功能方法后,能使整個系統(tǒng)的性能提高到原來的1.5625倍。1.8 計算機系統(tǒng)中有三個部件可以改進,這三個部件的部件加速比為:部件加速比1=30; 部件加速比2=20; 部件加速比3=10(1) 如果部件1和部件2的可改進比例均為30%,那么當部件3的可改進比例為多少時,系統(tǒng)加速比才可以達到10?(2) 如果三個部

2、件的可改進比例分別為30%、30%和20%,三個部件同時改進,那么系統(tǒng)中不可加速部分的執(zhí)行時間在總執(zhí)行時間中占的比例是多少?解:(1)在多個部件可改進情況下,Amdahl定理的擴展:已知S130,S220,S310,Sn10,F(xiàn)10.3,F(xiàn)20.3,得:得F30.36,即部件3的可改進比例為36%。(2)設系統(tǒng)改進前的執(zhí)行時間為T,則3個部件改進前的執(zhí)行時間為:(0.3+0.3+0.2)T = 0.8T,不可改進部分的執(zhí)行時間為0.2T。已知3個部件改進后的加速比分別為S130,S220,S310,因此3個部件改進后的執(zhí)行時間為: 改進后整個系統(tǒng)的執(zhí)行時間為:Tn = 0.045T+0.2T

3、= 0.245T那么系統(tǒng)中不可改進部分的執(zhí)行時間在總執(zhí)行時間中占的比例是:3.4 設一條指令的執(zhí)行過程分成取指令、分析指令和執(zhí)行指令三個階段,每個階段所需的時間分別為t、t和2t 。分別求出下列各種情況下,連續(xù)執(zhí)行N條指令所需的時間。(1)順序執(zhí)行方式;(2)只有“取指令”與“執(zhí)行指令”重疊;(3)“取指令”、“分析指令”與“執(zhí)行指令”重疊。解:(1)每條指令的執(zhí)行時間為:tt2t4t連續(xù)執(zhí)行N條指令所需的時間為:4Nt(2)連續(xù)執(zhí)行N條指令所需的時間為:4t3(N-1)t(3N1)t(3)連續(xù)執(zhí)行N條指令所需的時間為:4t2(N-1)t(2N2)t4.2 簡述Tomasulo算法的基本思想。

4、答:核心思想是: 記錄和檢測指令相關,操作數(shù)一旦就緒就立即執(zhí)行,把發(fā)生RAW沖突的可能性減小到最少; 通過寄存器換名來消除WAR沖突和WAW沖突。寄存器換名是通過保留站來實現(xiàn),它保存等待流出和正在流出指令所需要的操作數(shù)?;舅枷耄褐灰僮鲾?shù)有效,就將其取到保留站,避免指令流出時才到寄存器中取數(shù)據,這就使得即將執(zhí)行的指令從相應的保留站中取得操作數(shù),而不是從寄存器中。指令的執(zhí)行結果也是直接送到等待數(shù)據的其它保留站中去。因而,對于連續(xù)的寄存器寫,只有最后一個才真正更新寄存器中的內容。一條指令流出時,存放操作數(shù)的寄存器名被換成為對應于該寄存器保留站的名稱(編號)。3.13有一個流水線由4段組成,其中每

5、當流經第3段時,總要在該段循環(huán)一次,然后才能流到第4段。如果每段經過一次所需要的時間都是,問:(1) 當在流水線的輸入端連續(xù)地每時間輸入任務時,該流水線會發(fā)生什么情況?(2) 此流水線的最大吞吐率為多少?如果每輸入一個任務,連續(xù)處理10個任務時的實際吞吐率和效率是多少?(3) 當每段時間不變時,如何提高該流水線的吞吐率?仍連續(xù)處理10個任務時,其吞吐率提高多少?解:(1)會發(fā)生流水線阻塞情況。第1個任務S1S2S3S3S4第2個任務S1S2stallS3S3S4第3個任務S1stallS2stallS3S3S4第4個任務S1stallS2stallS3S3S4(2)(3)重復設置部件吞吐率提高

6、倍數(shù)1.643.17 假設各種分支指令數(shù)占所有指令數(shù)的百分比如下:條件分支20%(其中的60%是分支成功的)跳轉和調用5%現(xiàn)有一條段數(shù)為4的流水線,無條件分支在第二個時鐘周期結束時就被解析出來,而條件分支要到第三個時鐘周期結束時才能夠被解析出來。第一個流水段是完全獨立于指令類型的,即所有類型的指令都必須經過第一個流水段的處理。請問在沒有任何控制相關的情況下,該流水線相對于存在上述控制相關情況下的加速比是多少?解:沒有控制相關時流水線的平均CPI1存在控制相關時:由于無條件分支在第二個時鐘周期結束時就被解析出來,而條件分支要到第3個時鐘周期結束時才能被解析出來。所以:(1)若使用排空流水線的策略

7、,則對于條件分支,有兩個額外的stall,對無條件分支,有一個額外的stall:CPI = 1+20%*2+5%*1 = 1.45 加速比S=CPI/1 = 1.45(2) 若使用預測分支成功策略,則對于不成功的條件分支,有兩個額外的stall,對無條件分支和成功的條件分支,有一個額外的stall 1:CPI = 1+20%*(60%*1+40%*2) +5%*1 = 1.33 加速比S=CPI/1 = 1.33(3)若使用預測分支失敗策略,則對于成功的條件分支,有兩個額外的stall;對無條件分支,有一個額外的stall;對不成功的條件分支,其目標地址已經由PC 值給出,不必等待,所以無延遲

8、:CPI = 1+20%*(60%*2 + 40%*0) +5%*1 = 1.29 加速比S=CPI/1 = 1.294.4 假設有一條長流水線,僅僅對條件轉移指令使用分支目標緩沖。假設分支預測錯誤的開銷為4個時鐘周期,緩沖不命中的開銷為3個時鐘周期。假設:命中率為90%,預測精度為90%,分支頻率為15%,沒有分支的基本CPI為1。(1) 求程序執(zhí)行的CPI。(2) 相對于采用固定的2個時鐘周期延遲的分支處理,哪種方法程序執(zhí)行速度更快?解:(1)程序執(zhí)行的CPI = 沒有分支的基本CPI(1) + 分支帶來的額外開銷分支帶來的額外開銷是指在分支指令中,緩沖命中但預測錯誤帶來的開銷與緩沖沒有命

9、中帶來的開銷之和。分支帶來的額外開銷= 15% * (90%命中×10%預測錯誤×4 + 10沒命中×3)= 0.099所以,程序執(zhí)行的CPI 1 0.099 = 1.099(2)采用固定的2 個時鐘周期延遲的分支處理CPI = 1 + 15%×2 = 1.3由(1)(2)可知分支目標緩沖方法執(zhí)行速度快。4.9 設指令流水線由取指令、分析指令和執(zhí)行指令3個部件構成,每個部件經過的時間為t,連續(xù)流入12條指令。分別畫出標量流水處理機以及ILP均為4的超標量處理機、超長指令字處理機、超流水處理機的時空圖,并分別計算它們相對于標量流水處理機的加速比。解:標量流

10、水處理機的時空圖:執(zhí)行完12條指令需T114t。超標量流水處理機與超長指令字處理機的時空圖:超標量流水處理機中,每一個時鐘周期同時啟動4條指令。執(zhí)行完12條指令需T25t,相對于標量流水處理機的加速比為:超長指令字處理機中,每4條指令組成一條長指令,共形成3條長指令。執(zhí)行完12條指令需T35t,相對于標量流水處理機的加速比為:超流水處理機的時空圖:超流水處理機中,每1/4個時鐘周期啟動一條指令。執(zhí)行完12條指令需T45.75t,相對于標量流水處理機的加速比為: 4、(10分)假定我們有一臺計算機,如果所有的cache訪問都命中的話,它的CPI是2.0。唯一的數(shù)據訪問指令是store和

11、load,它們占指令總數(shù)的40,不命中損失是25個時鐘周期,不命中率是2。如果所有的指令訪問cache都命中的話,那么機器的速度是存在cache不命中時的多少倍?首先計算所有cache訪問都命中時計算機的性能:    CPU執(zhí)行時間(CPU時鐘周期內存停機周期)×時鐘周期時長           (IC×CPI0)×時鐘周期時長       

12、60;    IC×2.0×時鐘周期時長    現(xiàn)在計算考慮cache不命中在內的真實計算機性能,我們先計算內存停機周期:    內存停機周期IC×每條指令訪問內存的次數(shù)×不命中率×不命中損失           IC×(10.4)×0.02×25    &#

13、160;      IC×0.7    其中(10.4)代表每條指令訪問一次內存,而占指令總數(shù)40%的store和load訪問兩次內存,所以平均每條指令訪問訪問(1+0.4)次內存。這樣總的性能是:    CPU執(zhí)行時間=(IC×2.0IC×0.7)×時鐘周期時長           = IC×2.

14、7×時鐘周期時長    性能提高的比是執(zhí)行時間之比的倒數(shù):    cache不命中考慮在內的CPU執(zhí)行時間/cache訪問全部命中的CPU執(zhí)行時間為:    2.7×IC×時鐘周期時長/2.0×IC×時鐘周期時長1.35    cache訪問全部命中時的速度是有cache不命中時機器速度的1.35倍。   5、(10分)假設某臺機器訪問存儲器都是cache命

15、中,那么它的CPI等于2。還假設只有Load和Store指令才能訪問存儲器數(shù)據,這兩種指令的數(shù)目占整個程序的40%。如果訪問存儲器時出現(xiàn)cache缺失,則一次缺失需要花費25個時鐘周期。問這臺機器在所有指令都cache命中情況比有2%缺失情況快幾倍?根據題意,在程序的執(zhí)行過程中平均每條指令需要一次取指令和0.4次訪問數(shù)據。因此,在有2% cache缺失時,由于cache缺失帶來的額外開銷為: 這臺機器在所有指令都cache命中時,CPU執(zhí)行時間為:    而在有2%缺失情況時,CPU執(zhí)行時間為:    所

16、以這臺機器在所有指令都cache命中情況比有2%缺失情況快 1、(12分)在一臺單流水線處理機上執(zhí)行下面的程序。每條指令都要經過“取指令”、“譯碼”、“執(zhí)行”和“寫結果”4個流水段,每個流水段的延遲時間都是5ns。執(zhí)行部件的輸出端有直接數(shù)據通路與它的輸入端相連接,執(zhí)行部件產生的條件碼也直接送入控制器。K1: MOVE R1, #4 ;R1向量長度4K2:LOOP:MOVE R2, A(R1) ;R2A向量的一個元素K3: ADD R0, R2 ;R0(R0)(R2)K4: DNE R1, LOOP ;R1(R1)1,若(R1)0轉向LOOPK5: MOVE SUN,R0 ;SUN(R0),保存

17、結果(1)列出指令之間的所有數(shù)據相關,包括讀寫、寫讀和寫寫數(shù)據相關。(2)采用預測轉移不成功的靜態(tài)分支預測技術,畫出指令流水線的時空圖(可用指令序號表示),并計算流水線的吞吐率、加速比和效率。(3)采用預測轉移成功的靜態(tài)分支預測技術,計算指令流水線的吞吐率、加速比和效率。1、解:(1)指令K1與指令K2之間關于R1的寫讀數(shù)據相關(第1次循環(huán))指令K1與指令K4之間關于R1的寫讀數(shù)據相關(第1次循環(huán))指令K1與指令K4之間關于R1的寫寫數(shù)據相關(第1次循環(huán))指令K2與指令K3之間關于R2的寫讀數(shù)據相關(每次循環(huán)內)指令K2與指令K4之間關于R1的讀寫數(shù)據相關(第次循環(huán)內)指令K3與指令K5之間關

18、于R0的寫讀數(shù)據相關(最后一次循環(huán))另外,相鄰循環(huán)體之間的數(shù)據相關還有:指令K4與下一循環(huán)的指令K2之間關于R1的寫讀數(shù)據相關指令K3與下一循環(huán)的指令K2之間關于R2的讀寫數(shù)據相關指令K2與下一循環(huán)的指令K2之間關于R2的寫寫數(shù)據相關指令K3與下一循環(huán)的指令K3之間關于R0的寫讀數(shù)據相關指令K3與下一循環(huán)的指令K3之間關于R0的讀寫數(shù)據相關指令K3與下一循環(huán)的指令K3之間關于R0的寫寫數(shù)據相關指令K4與下一循環(huán)的指令K4之間關于R1的寫讀數(shù)據相關指令K4與下一循環(huán)的指令K4之間關于R1的讀寫數(shù)據相關指令K4與下一循環(huán)的指令K4之間關于R1的寫寫數(shù)據相關(2)采用預測轉移不成功的靜態(tài)分支預測技術

19、1234567891011121314151617181920212223寫結果K1K2K3K4K2K3K4K2K3K4K2K3K4K5執(zhí)行K1K2K3K4K2K3K4K2K3K4K2K3K4K5譯碼K1K2K3K4K2K3K4K2K3K4K2K3K4K5取指令K1K2K3K4K2K3K4K2K3K4K2K3K4K5 (3)采用預測轉移成功的靜態(tài)分支預測技術12345678910111213141516171819寫結果K1K2K3K4K2K3K4K2K3K4K2K3K4K5執(zhí)行K1K2K3K4K2K3K4K2K3K4K2K3K4K5譯碼K1K2K3K4K2K3K4K2K3K4K2K3K4K5

20、取指令K1K2K3K4K2K3K4K2K3K4K2K3K4K5 4、(12分)某RISC處理機的工作主頻為500MHz,有一個Cache和一個主存儲器,Cache的存取周期為2ns,主存儲器的存取周期為20ns,Cache的命中率為99%,有20%的LOAD/STORE指令,并假設處理機速度的瓶頸完全在存儲系統(tǒng)。(1)求理想情況(Cache的命中率為100%)下的CPI。(2)計算該RISC處理機的實際MIPS速率。(3)如果處理機的工作主頻提高到1GHz,計算實際CPI和MIPS速率。4、解答:(1)CPI=(2ns+2ns´20%)´500MHz=1.2(2)MIPS=

21、1/(2ns´99%+20ns´1%+2ns´20%´99%+20ns´20%´1%) =1/2.616ns=382.3(3)CPI=(2ns´99%+20ns´1%+2ns´20%´99%+20ns´20%´1%)´1GHz =2.616ns´1GHz=2.616MIPS=1/2.616ns=382.35.10 假設對指令Cache的訪問占全部訪問的75%;而對數(shù)據Cache的訪問占全部訪問的25%。Cache的命中時間為1個時鐘周期,失效開銷為50 個

22、時鐘周期,在混合Cache中一次load或store操作訪問Cache的命中時間都要增加一個時鐘周期,32KB的指令Cache的失效率為0.39%,32KB的數(shù)據Cache的失效率為4.82%,64KB的混合Cache的失效率為1.35%。又假設采用寫直達策略,且有一個寫緩沖器,并且忽略寫緩沖器引起的等待。試問指令Cache和數(shù)據Cache容量均為32KB的分離Cache和容量為64KB的混合Cache相比,哪種Cache的失效率更低?兩種情況下平均訪存時間各是多少?解:(1)根據題意,約75%的訪存為取指令。因此,分離Cache的總體失效率為:(75%×0.15%)(25%

23、5;3.77%)1.055%; 容量為128KB的混合Cache的失效率略低一些,只有0.95%。 (2)平均訪存時間公式可以分為指令訪問和數(shù)據訪問兩部分: 平均訪存時間指令所占的百分比×(讀命中時間讀失效率×失效開銷) 數(shù)據所占的百分比×(數(shù)據命中時間數(shù)據失效率×失效開銷) 所以,兩種結構的平均訪存時間分別為: 分離Cache的平均訪存時間75%×(10.15%×50)25%×(13.77%×50)(75%×1.075)(25%×2.885)1.5275 混合Cache的平均訪存時間75%&#

24、215;(10.95%×50)25%×(110.95%×50)(75%×1.475)(25%×2.475)1.725因此,盡管分離Cache的實際失效率比混合Cache的高,但其平均訪存時間反而較低。分離Cache提供了兩個端口,消除了結構相關。5.11 給定以下的假設,試計算直接映象Cache和兩路組相聯(lián)Cache的平均訪問時間以及CPU的性能。由計算結果能得出什么結論?(1) 理想Cache情況下的CPI為2.0,時鐘周期為2ns,平均每條指令訪存1.2次;(2) 兩者Cache容量均為64KB,塊大小都是32字節(jié);(3) 組相聯(lián)Cache

25、中的多路選擇器使CPU的時鐘周期增加了10;(4) 這兩種Cache的失效開銷都是80ns;(5) 命中時間為1個時鐘周期;(6) 64KB直接映象Cache的失效率為1.4,64KB兩路組相聯(lián)Cache的失效率為1.0。解: 平均訪問時間命中時間失效率×失效開銷平均訪問時間1-路=2.0+1.4% *80=3.12ns平均訪問時間2-路=2.0*(1+10%)+1.0% *80=3.0ns兩路組相聯(lián)的平均訪問時間比較低CPUtime=(CPU執(zhí)行+存儲等待周期)*時鐘周期CPU time=IC(CPI執(zhí)行+總失效次數(shù)/指令總數(shù)*失效開銷) *時鐘周期=IC(CPI執(zhí)行*時鐘周期)+

26、(每條指令的訪存次數(shù)*失效率*失效開銷*時鐘周期)CPU time 1-way=IC(2.0*2+1.2*0.014*80)5.344ICCPU time 2-way=IC(2.2*2+1.2*0.01*80)5.36IC相對性能比:5.36/5.344=1.003直接映象cache的訪問速度比兩路組相聯(lián)cache要快1.04倍,而兩路組相聯(lián)Cache的平均性能比直接映象cache要高1.003倍。因此這里選擇兩路組相聯(lián)。123-13-24-14-24-34-41. 3.12 有一指令流水線如下所示(1) 求連續(xù)輸入10條指令,該流水線的實際吞吐率和效率;(2) 該流水線的“瓶頸”在哪一段?請

27、采取兩種不同的措施消除此“瓶頸”。對于你所給出的兩種新的流水線,連續(xù)輸入10條指令時,其實際吞吐率和效率各是多少?解:(1)(2)瓶頸在3、4段。n 變成八級流水線(細分)n 重復設置五、有5個中斷源D1、D2、D3、D4、和D5,它們的中斷優(yōu)先級從高到低分別是1級、2級、3級、4級和5級,這些中斷源的中斷優(yōu)先級、正常情況下的中斷屏蔽碼和改變后的中斷屏蔽碼見表45所示。每個中斷源有5位中斷屏蔽碼,“O”表示該中斷開放,“1”表示該中斷被屏蔽。表45 5個中斷源的中斷優(yōu)先級和屏蔽碼中斷源名稱中斷優(yōu)先級正常中斷屏蔽碼改變后的中斷屏蔽碼D1D2D3D4D5D1D2D3D4D5D11111111000

28、0D220111111000D330011111100D440001111011D5500001111111. 當使用正常的中斷屏蔽碼時,處理機響應各中斷源的中斷服務請求的順序是什么?實際的中斷處理次序是什么?2. 當使用改變后的中斷屏蔽碼時,處理機響應各中斷源的中斷服務請求的 順序是什么?實際的中斷處理次序是什么?1) 處理機響應各中斷源的中斷服務請求的順序是D1,D2,D3,D4,D5,實際的中斷處理次序是D1,D2,D3,D4,D52)處理機響應各中斷源的中斷服務請求的順序是D1,D2,D3,D4,D5 實際的中斷處理次序是D4,D5,D3,D2,D1例1.3  如果FP操作的

29、比例為25%,F(xiàn)P操作的平均CPI=4.0,其它指令的平均CPI為1.33,F(xiàn)PSQR操作的比例為2%, FPSQR的CPI為20。假設有兩種設計方案,公別把FPSQR操作的CPI和所有FP操作的CPI減為2。試利用CPU性能公式比較這兩種設計方案哪一個更好(只改變CPI而時鐘頻率和指令條數(shù)保持不變)。解:原系統(tǒng)的CPI=25%×4+75%×1.33=2 方案1(使FPSQR操作的CPI為2)系統(tǒng) CPI=CPI原-2%×(20-2)=2-2%×18=1.64方案2(提高所有FP指令的處理速度)系統(tǒng) CPI=CPI原-25%×(4-2)=2-25%×2=1.5我們也可以根據以下公式計算出方案2系統(tǒng)的CPI CPI= 75%×1.33+25%×2=1.5提高所有FP指令處理速度的方案要比提高FPSQR處理速度的方案要好。方案2的加速比=2/1.5= 1.33例1.1  假設將某系統(tǒng)的某一部件的處理速度加快到10倍但該部件的原處理時間僅為整個運行時間的40%,則采用加快措施后能使整個系統(tǒng)的性能提高多少?解:由題意可知:Fe=0.4, Se=10,根據Amdahl定律作5.4 在一臺單流水線多操作部件的處

溫馨提示

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

評論

0/150

提交評論