計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程課后解答_第1頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程課后解答_第2頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程課后解答_第3頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程課后解答_第4頁
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程課后解答_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1.7某臺(tái)主頻為400MHz的計(jì)算機(jī)執(zhí)行標(biāo)準(zhǔn)測(cè)試程序,程序中指令類型、執(zhí)行數(shù)量 和平均時(shí)鐘周期數(shù)如下:指令類型指令執(zhí)行數(shù)量平均時(shí)鐘周期數(shù)整數(shù)450001數(shù)據(jù)傳送750002浮點(diǎn)80004分支15002求該計(jì)算機(jī)的有效CPI、MIPS和程序執(zhí)行時(shí)間 解:nCPI (CPIi ICi/IC) i 1(1) CPI =(45000X1 + 75000X 2+8000X 4+1500X2)/ 129500= 1.776(2) MIPS 速率=f/ CPI =400/1.776 = 225.225MIPS(3)程序執(zhí)行時(shí)間=(45000X 1 + 75000X 2 + 8000X4+ 1500X2)/4

2、00=575s1.9 將計(jì)算機(jī)系統(tǒng)中某一功能的處理速度加快10倍,但該功能的處理時(shí)間僅為整個(gè)系統(tǒng)運(yùn)行時(shí)間的40%,則采用此增強(qiáng)功能方法后,能使整個(gè)系統(tǒng)的性能提 高多少?解:由題可知:可改進(jìn)比例Fe=40% = 0.4部件加速比Se = 10Sn T0 1一- 1 1.5625根據(jù)Tn1 Fe Fe (1 0.4) 0.4/10Se1.10 計(jì)算機(jī)系統(tǒng)中有三個(gè)部件可以改進(jìn),這三個(gè)部件的部件加速比為:部件加速比1=30;部件加速比2=20;部件加速比3=10(1) 如果部件1和部件2的可改進(jìn)比例均為30%,那么當(dāng)部件3的可改進(jìn)比例為多少時(shí),系統(tǒng)加速比才可以達(dá)到 10(2) 如果三個(gè)部件的可改進(jìn)比例

3、分別為 30%、30%和20% ,三個(gè)部件同時(shí)改進(jìn),那么系統(tǒng)中不可加速部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是多少?解:(1)在多個(gè)部件可改進(jìn)情況下,Amdahl定理的擴(kuò)展:ST0 1n Tn1 Fe1 Fe2 Fe3 fe1 fe2 fe3Se1 Se2 Se3已知 S1 = 30, S2= 20, S3= 10, Sn=10, F1 = 0.3, F2 = 0.3,得:得F3=0.36,即部件3的可改進(jìn)比例為36% o(2)設(shè)系統(tǒng)改進(jìn)前的執(zhí)行時(shí)間為T,則3個(gè)部件改進(jìn)前的執(zhí)行時(shí)間為:1 Fe1 Fe2 Fe3 =0.2T(0.3+0.3+0.2) T = 0.8T ,不可改進(jìn)部分的執(zhí)行時(shí)間為3

4、個(gè)部件已知3個(gè)部件改進(jìn)后的加速比分別為 S1 = 30, S2= 20, S3=10,因此 改進(jìn)后的執(zhí)行時(shí)間為:Fe1改進(jìn)后整個(gè)系統(tǒng)的執(zhí)行時(shí)間為:Tn = 1 Fe1 Fe2 Fe3SeiFe2Se2Fe3S3=0.045T+0.2T = 0.245T那么系統(tǒng)中不可改進(jìn)部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是:0.2/0.245=81.6%1.11假設(shè)浮點(diǎn)數(shù)指令FP指令的比例為30%,其中浮點(diǎn)數(shù)平方根FPSQR占全部指令的比例為4%, FP操作的CPI為5, FPSQR操作的CPI為20,其他指令 的平均CPI為1.25。解:CPIn(CPIi ICi/IC) i 1改進(jìn)前: CPI = 5 X

5、 30% + 1.25 X(1 - 30%) = 2.375設(shè)除FPSQR外其余指令的平均CPI 貝U 2.375 = 20 X 4% + (1 - 4%)X ,為X解出 X = 1.640625Zu 1:萬不2:CPI1 = 3 xCPI2 = 3 義4% + 1.64062530% + 1.25 XX (1 - 4%) = 1.695 (1 - 30%) = 1.7752.11解:ADDSHRSTPCILSTOJOMJMPSUB CLA指令頻度Pi操作碼使用哈夫曼編碼操作碼長(zhǎng)度liADD0.4301CLA0.221 02SUB0.131 1 03JMP0.071 1 1 0 05JOM0.

6、061 1 1 0 15STO0.051 1 1 1 05CIL0.021 1 1 1 1 06SHR0.011 1 1 1 1 1 07STP0.011 1 1 1 1 1 179L=Rh =0.43x1+0.22x2+0.13x3+0.07x5+0.06x5+0.05x5+0.02x6+0.01x7+0.01x71 1=2.422.12.解:二地址指令的結(jié)構(gòu)是(4位操作碼OP) , (6位地址碼A1) , (6位地址碼A2)。一地址指令的結(jié)構(gòu)是(10位操作碼OP) , (6位地址碼A)。二地址指令,最多共16條二地址指令。每少一條二地址指令,則多26條一地址指令,所以一地址指令最多有(16

7、-A) *26條3.5在一臺(tái)單流水線多操作部件的處理機(jī)上執(zhí)行下面的程序, 每條指令的取指令、 指令譯碼需要一個(gè)時(shí)鐘周期, MOVE、ADD和MUL操作分別需要2個(gè)、3個(gè)和4個(gè)時(shí)鐘周期,每個(gè)操作都在第一個(gè)時(shí)鐘周期從通用寄存器中讀操作數(shù),在最后一個(gè)時(shí)鐘周期把運(yùn)算結(jié)果寫到通用寄存器中。;R1 (R0);R0 (R2)X(R1);R0 (R2)+(R3)k:MOVE R1, R0k+1 : MUL R0, R2, R1k+2: ADD R0, R2, R3畫出指令執(zhí)行過程的流水線時(shí)空?qǐng)D,并計(jì)算完成這3條指令共需要多少個(gè)時(shí)鐘周期?解:在程序?qū)嶋H執(zhí)行過程中,二種數(shù)據(jù)相關(guān)會(huì)引起流水線停頓。一是“先寫后讀”

8、相關(guān),k指令對(duì)R1的寫在程序執(zhí)行開始后的第四個(gè)時(shí)鐘;k+1指令對(duì)R1的讀 對(duì)指令本身是第三個(gè)時(shí)鐘,但 k+1指令比k指令晚一個(gè)時(shí)鐘進(jìn)入流水線,則在 程序執(zhí)行開始后的第四個(gè)時(shí)鐘要讀 R1。不能在同一時(shí)鐘周期內(nèi)讀寫同一寄存器,因此k+1指令應(yīng)推遲一個(gè)時(shí)鐘進(jìn)入流水線,產(chǎn)生了流水線停頓。二是“寫一寫” 相關(guān),k+1指令對(duì)R0的寫對(duì)指令本身是第六個(gè)時(shí)鐘,而要求該指令進(jìn)入流水線 應(yīng)在程序執(zhí)行開始后的第三個(gè)時(shí)鐘,所以對(duì)R0的寫是在程序執(zhí)行開始后的第八 個(gè)時(shí)鐘。k+2指令對(duì)R0的寫對(duì)指令本身是第五個(gè)時(shí)鐘, 而k+2指令比k+1指令 晚一個(gè)時(shí)鐘進(jìn)入流水線,則在程序執(zhí)行開始后的第四個(gè)時(shí)鐘,所以對(duì) R0的寫是 在程

9、序執(zhí)行開始后的第八個(gè)時(shí)鐘。不能在同一時(shí)鐘周期內(nèi)寫寫同一寄存器,因此k+2指令應(yīng)推遲一個(gè)時(shí)鐘進(jìn)入流水線, 產(chǎn)生了流水線停頓。另外,可分析“先 讀后寫”相關(guān)不會(huì)產(chǎn)生流水線的停頓。該指令流水線由六個(gè)功能段取指、譯碼、取數(shù)、運(yùn)一、運(yùn)二和存數(shù)等組成,則程序指令執(zhí)行過程的流水線時(shí)空?qǐng)D如下圖所示。若3條指令順序流動(dòng),共需要9個(gè)時(shí)鐘周期存數(shù)運(yùn)二運(yùn)一 取數(shù) 譯碼 取指3.6有一指令流水線如下所示入一11U2_U3_44_出50ns 50ns 100ns200ns(1) 求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;(2) 該流水線的 瓶頸”在哪一段?請(qǐng)采取兩種不同的措施消除此瓶頸”。對(duì)于你所給出的兩種新的流

10、水線,連續(xù)輸入10條指令時(shí),其實(shí)際吞吐率和效率各是多少?解:(1)kTkti (n 1) tmaxi 1(50 50 100 200) 9 2002200(ns)TP %k %20(ns1)n ti i 1 kkti (n 1) max( t1,t2,L , tki 1=TPmtii 1k4005TP45.45%411(2)瓶頸在3、4段。變成八級(jí)流水線(細(xì)分)入1 一 1 一 2 一 3_1 _ 3_250ns50ns 50ns50ns4_150ns,出4_4 一50nskTk ti (n 1) tmax i 150 8 9 50850(ns)TP nTk 185(ns1)m ti i 14

11、0010E TP TP58.82%m817重復(fù)設(shè)置部件4-4TP nTk 185(ns1)4_44_34_24_13_23_121時(shí)間850nsE 400 10850 8 1017 58.82%3.7 有一個(gè)流水線由4段組成,其中每當(dāng)流經(jīng)第3段時(shí),總要在該段循環(huán)一 次,然后才能流到第4段。如果每段經(jīng)過一次所需要的時(shí)間都是t,問:(1) 當(dāng)在流水線的輸入端連續(xù)地每 t時(shí)間輸入任務(wù)時(shí),該流水線會(huì)發(fā)生 什么情況?(2) 此流水線的最大吞吐率為多少?如果每 2 t輸入一個(gè)任務(wù),連續(xù)處理 10個(gè)任務(wù)時(shí)的實(shí)際吞吐率和效率是多少?(3) 當(dāng)每段時(shí)間不變時(shí),如何提高該流水線的吞吐率?仍連續(xù)處理 10個(gè) 任務(wù)時(shí)

12、,其吞吐率提高多少?解:(1)會(huì)發(fā)生流水線阻塞情況第1個(gè)任 務(wù)S1S2S3S3S4第2個(gè)任 務(wù)S1S2stallS3S3S4第3個(gè)任 務(wù)S1S2stallstallS3S3S4第4個(gè)任 務(wù)S1S2stallstallstallS3S3S4(2)23 tTpipeline23 tTpE TP 5 t4 5092 54.35%(3)重復(fù)設(shè)置部件段.43_23_12110101033557710時(shí)間1014 tTP nTi 1014 t 57 t5吞吐率提高倍數(shù)=,=1.641023 t3.8 有一條靜態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、 5段,第3段的時(shí)間為24t,其余

13、各段的時(shí)間均為 t,而且流水線的輸出可以 直接返回輸入端或暫存于相應(yīng)的流水寄存器中?,F(xiàn)要在該流水線上計(jì)算4 口、,畫出其時(shí)空?qǐng)D,并計(jì)算其吞吐率、加速比和效率。(Ai Bi )i 1Ai+Bi、解:首先,應(yīng)選擇適合于流水線工作的算法。對(duì)于本題,應(yīng)先計(jì)算A2+B2、A3+B3 和 A4+B4;再計(jì)算(A1+B1) X(A2+B2D(A3+B3)X(A4+B4); 然后求總的結(jié)果。作。其次,畫出完成該計(jì)算的時(shí)空?qǐng)D,如圖所示,圖中陰影部分表示該段在工由圖可見,它在18個(gè)N時(shí)間中,給出了7個(gè)結(jié)果。所以吞吐率為:7 TP - 18 t如果不用流水線,由于一次求積需3At, 一次求和需5At,則產(chǎn)生上述7個(gè)

14、結(jié)果共需(4>5+3X3) At =29At0所以加速比為:29 t S 1.61 18 t該流水線的效率可由陰影區(qū)的面積和 5個(gè)段總時(shí)空區(qū)的面積的比值求得:4 5 3 3E0.3225 183.8有一條動(dòng)態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5 段,第2段的時(shí)間為2N,其余各段時(shí)間均為At,而且流水線的輸出可以直接返4(A Bi) i 1回輸入端或暫存于相應(yīng)的流水寄存器中。若在該流水線上計(jì)算試計(jì)算其吞吐率、加速比和效率。C+ DDB1 B2 B3 B4 B由圖可見,它在18個(gè)N時(shí)間中,給出了 7個(gè)結(jié)果。所以吞吐率為:TP718"!如果不用流水線,由于

15、一次求積需 4At, 一次求和需4At,則產(chǎn)生上述7個(gè) 結(jié)果共需(4M+3X4) At =28At0所以加速比為:28 t18 t1.56該流水線的效率可由陰影區(qū)的面積和 5個(gè)段總時(shí)空區(qū)的面積的比值求得:28 E 0.3115 184.5在CRAY-1機(jī)器上,按照鏈接方式執(zhí)行下述4條向量指令(括號(hào)中給出了相應(yīng) 功能部件的執(zhí)行時(shí)間),如果向量寄存器和功能部件之間的數(shù)據(jù)傳送需要 1拍, 試求此鏈接流水線的通過時(shí)間是多少拍?如果向量長(zhǎng)度為 64,則需多少拍才能 得到全部結(jié)果?V 4存儲(chǔ)器(從存儲(chǔ)器中取數(shù):7拍)V 2 V0+V1 (向量加:3拍)V 3 V2<A3 (按(A3)左移:4拍)V

16、5- V3AV4 (向量邏輯乘:2拍)解:通過時(shí)間就是每條向量指令的第一個(gè)操作數(shù)執(zhí)行完畢需要的時(shí)間,也就是 各功能流水線由空到滿的時(shí)間,在流水線充滿之后,向量中后繼操作數(shù)繼續(xù)以 流水方式執(zhí)行,直到整組向量執(zhí)行完畢。加線 與線 量水 量水 向流 向流T 通過=(1+7+1) +(1+3+1)+(1+4+1)+(1+2+1)=24(拍)T 總共=T 通過+(64-1)=24+63 = 87拍4.6 T通過=(1+7+1) +(1+3+1)+(1+5+1)+(1+2+1)+(1+7+1)=34(拍)T 總共=T 通過+(64-1)=63+34 = 97拍4.7 某機(jī)有16個(gè)向量寄存器,其中V0V5中

17、分別放有向量A、B、C、D、E、F,向量長(zhǎng)度均為8,向量各元素均為浮點(diǎn)數(shù);處理部件采用二個(gè)單功能流水線, 加法功能部件時(shí)間為2拍,乘法功能部件時(shí)間為3拍。用類似Cray 1的鏈接技術(shù), 先計(jì)算(A+B)*C,在流水線不停流的情況下,接著計(jì)算(D+E)*F。解答:(A+B)*C可用以下2條指令完成:V4 A+BV1V0*C流水線流過時(shí)間為(1+2+1) + (1+3+1) = 9拍實(shí)際吞吐率為2*8*29 (8*21)1000 =26.7MFLOPS504.8分段開采LV MULTVSSVV1V2Ra,Rb ,V1,,V2Fs取向量B向量和標(biāo)量相乘 存向量三條指令三個(gè)編隊(duì).(Tstart Tlo

18、op ) mnMVLT200=4x(15+Tstart)+200x3 =660+(4xTstart)Tstart=12+7+12=31T200=660+4x31=784 4.9解:.向量指令序列中浮點(diǎn)運(yùn) 算次數(shù) 時(shí)鐘頻率R nim向量指令序列執(zhí)行所需的時(shí)鐘周期數(shù)Cray Y-MP/8 的峰值性能為:R = (1+1) X 8/(6x10-3 )= 16 = 2667MFLOPS5.8. 假設(shè)有一條長(zhǎng)流水線,僅僅對(duì)條件轉(zhuǎn)移指令使用分支目標(biāo)緩沖。假設(shè)分支 預(yù)測(cè)錯(cuò)誤的開銷為4個(gè)時(shí)鐘周期,緩沖不命中的開銷為 3個(gè)時(shí)鐘周期。假設(shè): 命中率為90%,預(yù)測(cè)精度為90%,分支頻率為15%,沒有分支的基本 CP

19、I 為1。求程序執(zhí)行的CPI o相對(duì)于采用固定的2個(gè)時(shí)鐘周期延遲的分支處理,哪種方法程序執(zhí)行速度 更快?解:(1)程序執(zhí)行的CPI =沒有分支的基本CPI (1) +分支帶來的額外開銷 分支帶來的額外開銷是指在分支指令中,緩沖命中但預(yù)測(cè)錯(cuò)誤帶來的開銷 與緩沖沒有命中帶來的開銷之和。分支帶來的額外開銷=15% * (90%命中X 10%預(yù)測(cè)錯(cuò)誤X 4 + 10%不命中 X 3)= 0.099所以,程序執(zhí)行的CPI = 1 + 0.099 = 1.099(2)采用固定的2個(gè)時(shí)鐘周期延遲的分支處理 CPI = 1 + 15% X2 = 1.3 由(1) (2)可知分支目標(biāo)緩沖方法執(zhí)行速度快。5.9.

20、 假設(shè)分支目標(biāo)緩沖的命中率為 90% ,程序中無條件轉(zhuǎn)移指令的比例為 5% , 沒有無條件轉(zhuǎn)移指令的程序 CPI值為1。假設(shè)分支目標(biāo)緩沖中包含分支目標(biāo) 指令,允許無條件轉(zhuǎn)移指令進(jìn)入分支目標(biāo)緩沖,則程序的CPI值為多少?假設(shè)原來的CPI=1.1解:設(shè)每條無條件轉(zhuǎn)移指令的延遲為 x,則有:1 + 5% Xx=1.100x= 2當(dāng)分支目標(biāo)緩沖命中時(shí),無條件轉(zhuǎn)移指令的延遲為所以 程序的 CPI = 1 + 2X5% X(1 90%) =1.017.8 .假設(shè)對(duì)指令Cache的訪問占全部訪問的75%;而對(duì)數(shù)據(jù)Cache的訪問占全 部訪問的25%o Cache的命中時(shí)間為1個(gè)時(shí)鐘周期,不命中開銷為50個(gè)時(shí)

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

22、體不命中率為:(75% X 0.15%) + (25% X 3.77%) =1.055%;容量為 64KB 的混合 Cache 的不命中率略低一些,只有0.95%。( 2)平均訪存時(shí)間公式可以分為指令訪問和數(shù)據(jù)訪問兩部分:平均訪存時(shí)間=指令所占的百分比X (讀命中時(shí)間+讀不命中率X不命中 開銷)+數(shù)據(jù)所占的百分比X (數(shù)據(jù)命中時(shí)間+數(shù)據(jù)不命中率X不命中開銷)所以,兩種結(jié)構(gòu)的平均訪存時(shí)間分別為:分離Cache的平均訪存時(shí)間=75% X (1 + 0.15% X50) +25% X ( 1 + 3.77% X 50)=(75% X 1.075) + ( 25% X 2.885) = 1.5275因

23、為混合Cache讀數(shù)據(jù)的都要增加1個(gè)時(shí)鐘周期所以?M合Cache的平均訪存時(shí)間=75% X (1 + 0.95% X 50) +25% X ( 1+1 + 0.95% X 50)=(75% X 1.475) + ( 25% X 2.475) = 1.725因此,盡管分離Cache 的實(shí)際不命中率比混合Cache 的高,但其平均訪存時(shí)間反而較低。分離Cache提供了兩個(gè)端口,消除了結(jié)構(gòu)相關(guān)。7.9 假設(shè)在3000次訪存中,第一級(jí) Cache不命中110次,第二級(jí)Cache不命中55次。試問:在這種情況下,該 Cache系統(tǒng)的局部不命中率和全局不命中率各是多少?解:局部不命中率=該級(jí)Cache的不

24、命中次數(shù)/到達(dá)該級(jí)Cache的訪存次數(shù)。局部不命中率L1 = 110/3000 = 0.0367 ,不命中率L2 = 55/110 = 0.50 。全局不命中率L1 = 不命中率L1 = 0.0367 ,全局不命中率 L2 =不命中率L1X不命中率L2 = 0.0367 X 0.50 = 0.0184。7.10 給定以下的假設(shè),試計(jì)算直接映象 Cache和兩路組相聯(lián)Cache的平均訪問 時(shí)間以及CPU的性能。由計(jì)算結(jié)果能得出什么結(jié)論?理想Cache情況下的CPI為2.0,時(shí)鐘周期為2ns,平均每條指令訪存1.2次;兩者Cache容量土勻?yàn)?4KB ,塊大小都是32字節(jié);組相聯(lián)Cache中的多路

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

26、鐘周期)+ (每條指令白訪存次數(shù)*不命中率*不命中開銷* 時(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.36ICCPU.相對(duì)性能比:e 2 y 5.36/5.344=1.003CPUtime 1way直接映象cache的訪問速度比兩路組相聯(lián) cache要快1.04倍,而兩路組相聯(lián)Cache的平均性能比直接映象cache要高1.003倍。因此這里選擇兩路組相聯(lián)7.14假設(shè)一臺(tái)計(jì)算機(jī)具有以下特性:(1) 95%的訪存在 Cache中命中;(2) 塊大小為兩個(gè)字,

27、且不命中時(shí)整個(gè)塊被調(diào)入;(3) CPU發(fā)出訪存請(qǐng)求的速率為109字/s;(4) 25%的訪存為寫訪問;(5) 存儲(chǔ)器的最大流量為109字/s (包括讀和寫);(6) 主存每次只能讀或?qū)懸粋€(gè)字;(7) 在任何時(shí)候,Cache中有30%的塊被修改過;(8) 寫不命中時(shí),Cache采用按寫分配法。現(xiàn)欲給該計(jì)算機(jī)增添一臺(tái)外設(shè),為此首先想知道主存的頻帶已用了多少 試對(duì)于以下兩種情況計(jì)算主存頻帶的平均使用比例。(1) 寫直達(dá)Cache;(2) 寫回法Cacheo解:采用按寫分配(1)寫直達(dá)cache訪問命中,有兩種情況:讀命中,不訪問主存;寫命中,更新cache和主存,訪問主存一次。訪問不命中,有兩種情況

28、:讀不命中,將主存中的塊調(diào)入 cache中,訪問主存兩次;寫不命中,將要寫的塊調(diào)入 cache,訪問主存兩次,再將修改的 數(shù)據(jù)寫入cache和主存,訪問主存一次,共三次。上述分析如下表所示。訪問命中訪問類 型頻率訪存次 數(shù)Y讀95%*75%=71.3%0Y寫95%*25%=23.8%1N讀5%*75%=3.8%2N寫5%*25%=1.3%3一次訪存請(qǐng)求最后真正的平均訪存次數(shù)二(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)=0.35已用帶寬=35.0%(2)寫回法cache訪問命中,有兩種情況:讀命中,不訪問主存;寫命中,不訪問主存。采用寫回法,只有當(dāng)修改的cache

29、塊被換出時(shí),才寫入主存;訪問不命中,有一個(gè)塊將被換出,這也有兩種情況:如果被替換的塊沒有修改過,將主存中的塊調(diào)入cache塊中,訪問主存 兩次;如果被替換的塊修改過,則首先將修改的塊寫入主存,需要訪問主存兩 次;然后將主存中的塊調(diào)入 cache塊中,需要訪問主存兩次,共四次訪問主 存。訪問命中塊為臟頻率訪存次 數(shù)YN95%*70%=66.5%0YY95%*30%=28.5%0NN5%*70%=3.5%2NY5%*30%=1.5%4所以:一次訪存請(qǐng)求最后真正的平均訪存次數(shù) =66.5% *0 + 28.5%*0+3.5%*2+1.5%*4=0.13已用帶寬=13%9.2由 Cube3(X3X2X

30、iX0)= X3X2X1X0Cube3(0110)=1110 即處理器14連接到處理器6 令 Cube3(X3X2XiX0)=0110 X3X2XiX0=1110 Cube3(0110)=1110 即處理器14連接到處理器6 所以處理器14和6雙向互連 (2)由(3)( X3X2X1 X0)=X3XiX0X2(0110)= (0101)即處理器5連接到處理器6令 (X3X2X1X0)= (0110)彳4X3X2X1X0=0011所以處理器5和6連,3和5連(3)由(X3X2X1X0)=X0X2X1X3(0110) = (0110)即處理器6連接到處理器6所以處理器6和6雙向互連(4)由 (X3

31、X2X1X0)=X2X3X1X0(0110)= (1010)即處理器10連接到處理器6 令(X3X2XX0)= (0110)彳4X3X2X1X0=1010所以處理器6和10雙向互連9.9(a)由 Cube2(X4X3X2X1X0)= X3X3X2X1X0Cube2(12)= Cube2(01100)=01000 即處理器 8 連接到處理器 12(b)由(X4X3X2X1X0)=X3X2X1X0X4(8)(01000)(10000) 即處理器16連接到處理器(C)由 PM 2I 3(j 尸j 23 mod 32PM 2I 3(28)=28 23 mod 32 4 即處理器4連接到處理器28(d)

32、Cube0( (X4X3X2X1X0) Cube0(X3X2XiX0X4)=X3X2XiX°X4Cube0( (4) Cube0( (00100)=01001 即處理器 9 連接到處理器 8(e)(Cube0(X4X3X2X1X。)(X,XsXzXiXXsXzXiX4(Cube0( 18)(Cube。(10010) 00111 即處理器 7 連接到處理器 282n個(gè)節(jié)點(diǎn)的直徑為2n-1,從5號(hào)到7號(hào),最短經(jīng)過6步00101 00100 01000 01001 10010 10011 00111(3)循環(huán)移數(shù)網(wǎng)絡(luò)的節(jié)點(diǎn)度d=2n-1,直徑為n/2網(wǎng)絡(luò)直徑是3,節(jié)點(diǎn)度是9,與2號(hào)最遠(yuǎn)的是

33、13,15,21,23號(hào)處理器9.110123456789ABCDEF4組4元32107654BA98FEDC2組8元45670123CDEF89AB1組16元BA98FEDC321076540000 -1011Cube0+ Cube1+ Cube310.6. 一臺(tái)32個(gè)處理器的計(jì)算機(jī),對(duì)遠(yuǎn)程存儲(chǔ)器訪問時(shí)間為400ns。除了通信以外,假設(shè)計(jì)算中的訪問均命中局部存儲(chǔ)器。當(dāng)發(fā)出一個(gè)遠(yuǎn)程請(qǐng)求時(shí),本處理器掛起。處理器時(shí)鐘時(shí)間為 1GHz,如果指令基本的IPC為2(設(shè)所有訪 存均命中Cache),求在沒有遠(yuǎn)程訪問的狀態(tài)下與有 0.2%的指令需要遠(yuǎn)程訪 問的狀態(tài)下,前者比后者快多少?解:沒有遠(yuǎn)程訪問時(shí),機(jī)

34、器的 CPI為1/基本IPC=1/2=0.5有0.2%遠(yuǎn)程訪問的機(jī)器的實(shí)際CPI為CPI =基本CPI +遠(yuǎn)程訪問率X遠(yuǎn)程訪問開銷= 0.5+0.2% X遠(yuǎn)程訪問開銷遠(yuǎn)程訪問開銷為:遠(yuǎn)程訪問時(shí)間/時(shí)鐘周期時(shí)間=400 ns/1 ns= 400個(gè)時(shí)鐘周期CPI =0.5+0.2%X400= 1.3因此在沒有遠(yuǎn)程訪問的情況下的計(jì)算機(jī)速度是有0.2%遠(yuǎn)程訪問的計(jì)算機(jī)速度的 1.3/0.5=2.6 倍。7.11 在偽相聯(lián)中,假設(shè)在直接映象位置沒有發(fā)現(xiàn)匹配,而在另一個(gè)位置才找到數(shù)據(jù)(偽命中)時(shí),不對(duì)這兩個(gè)位置的數(shù)據(jù)進(jìn)行交換。這時(shí)只需要 1個(gè)額外的 周期。假設(shè)不命中開銷為50個(gè)時(shí)鐘周期,2KB直接映象Ca

35、che的不命中率為 9.8%, 2路組相聯(lián)的不命中率為 7.6%; 128KB直接映象Cache的不命中率為 1.0%, 2路組相聯(lián)的不命中率為0.7%。(1) 推導(dǎo)出平均訪存時(shí)間的公式。(2) 禾I用(1)中得到的公式,對(duì)于 2KBCache和128KBCache,計(jì)算偽相聯(lián)的平均訪存時(shí)間。解:不管作了何種改進(jìn),不命中開銷相同。不管是否交換內(nèi)容,在同一 “偽相聯(lián)” 組中的兩塊都是用同一個(gè)索引得到的,因此不命中率相同,即:不命中率 偽相聯(lián)= 不命中率2路。偽相聯(lián)cache的命中時(shí)間等于直接映象cache的命中時(shí)間加上偽相聯(lián)查找過 程中的命中時(shí)間*該命中所需的額外開銷。命中時(shí)間偽相聯(lián)=命中時(shí)間1

36、路+偽命中率偽相聯(lián)X1交換或不交換內(nèi)容,偽相聯(lián)的命中率都是由于在第一次不命中時(shí),將地址取反,再在第二次查找?guī)淼摹R虼?偽命中率偽相聯(lián)=命中率2路一命中率1路=(1不命中率2路)(1 不 命中率1路)=不命中率1路一不命中率2路。交換內(nèi)容需要增加偽相聯(lián) 的額外開銷。平均訪存時(shí)間偽相聯(lián)=命中時(shí)間1路+ (不命中率1路一不命中率2路)X 1 十不命中率2路X不命中開銷1路將題設(shè)中的數(shù)據(jù)帶入計(jì)算,得到:平均訪存時(shí)間 2Kb=1+(0.098-0.076)*1+(0.076 *50 ) =4.822平均訪存時(shí)間 128Kb=1+(0.010-0.007)*1+(0.007 *50 ) =1.353 顯然是128KB的偽相聯(lián)Cache要快一些。7.12 假設(shè)采用理想存儲(chǔ)器系統(tǒng)時(shí)的基本CPI是1.5,主存延遲是40個(gè)時(shí)鐘周期;傳輸速率為4字節(jié)/時(shí)鐘周期,且Cache中50%的塊是修改過的。每個(gè)塊中有32 字節(jié),20%的指令是數(shù)據(jù)傳送指令。并假設(shè)沒有寫緩存,在 TLB不命中的情況 下需要20時(shí)鐘周期,TLB不會(huì)降低Cache命中率。CPU產(chǎn)生指令地址或Cache 不命中時(shí)產(chǎn)生的地址有0.2%沒有在TLB中找到。(1)

溫馨提示

  • 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)論