系統(tǒng)結(jié)構(gòu)解答_第1頁
系統(tǒng)結(jié)構(gòu)解答_第2頁
系統(tǒng)結(jié)構(gòu)解答_第3頁
系統(tǒng)結(jié)構(gòu)解答_第4頁
系統(tǒng)結(jié)構(gòu)解答_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章補充1、用一臺40MH處理機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,它含的混合指令數(shù)和相應(yīng)所需的時鐘周期數(shù)如下:指令類型指令數(shù)時鐘周期數(shù)整數(shù)運算450001數(shù)據(jù)傳送320002浮點150002控制傳送80002求有效CPI、MIPS速率和程序的執(zhí)行時間解答nIIC)(CPI. *cpi= i 1i=(45000*1+32000*2+15000*2+8000*2)/(45000+32000+15000+8000)40*106 /(1.55*106)25.81mips=1.55 周期/指令速率 MIPS f /(CPI *106)程序執(zhí)行時間t:(45000*132000*2 15000*28000* 2)* (

2、140* 106203.875* 10 3秒2、假設(shè)在一臺40MH處理機(jī)上運行200,000條指令的目標(biāo)代碼,程序主要由四種指令組成。 根據(jù)程序跟蹤實驗結(jié) 果,已知指令混合比和每種指令所需的指令數(shù)如下:指令類型CPI指令混合比算術(shù)和邏輯160%高速緩存命中的加載/存儲218%轉(zhuǎn)移412%高速存儲缺失的存儲器訪問810%計算在單處理機(jī)上用上述跟蹤數(shù)據(jù)運行程序的平均CPI根據(jù)(a)所得的CPI,計算相應(yīng)的MIPS速率。解答CPI 1*60%2*18% 4*12% 8*10%=2.24MIPSCPI *10640MHZ2.24*10617.863、假定我們利用增加向量處理模塊來提高計算機(jī)的運算速度。

3、計算機(jī)處理向量的速度比其通常的運算要快倍。我們將可用向量處理部分所花費的時間占總時間的百分比稱為可向量化百分比(原) 求出加速比S和可向量化百分比F之間的關(guān)系式。當(dāng)要得到加速比為2時的可向量化百分比F為多少?解答c120S由Amdahl定律可知:(1 F) F / 202019 F ;( 1)由(1)得:1(1 F) (F/20) ;(2)10 F0.53由( 2)得194、某臺計算機(jī)只有Load/Store指令能對存儲器進(jìn)行讀/寫操作,其它指令只對寄存器進(jìn)行操作。根據(jù)程序跟蹤實驗結(jié)果,已知每種指令所占的比例及CPI數(shù)如下指令類型指令所占比例CPI算邏指令43%1Load指令21%2Store

4、指令12%2轉(zhuǎn)移指令24%2(1)求上述情況下的平均CPI o(2)假設(shè)程序有M條指令組成。算邏運算中25%勺指令的兩個操作數(shù)中的一個已在寄存器中,另一個必須在算邏 指令執(zhí)行前用Load指令從存儲器取到寄存器。因此有人建議增加另一種算邏指令,其特點是一個操作數(shù)取自寄 存器,另一個操作數(shù)取自存儲器,即寄存器存儲器類型,假設(shè)這種指令的CPI等于2。同時,轉(zhuǎn)移指令的CPI變?yōu)?。求新指令系統(tǒng)的平均CPIo答CPIra= (0.43 X 1 + 0.21 X 2+ 0.12 X 2+0.24 X 2)=1.572.原算邏指令中的25%變成了寄存器存儲器型指令,所以算邏指令(寄存器寄存器型)少了 (0.

5、25 X 0.43)M條,Load指令少了 (0.25 X 0.43)M條,而(0.25 X 0.43)M條的新指令為寄存器存儲器型指令。指令總數(shù)少了(0.25 X 43%)M條o設(shè)執(zhí)行算邏指令(寄存器 寄存器型)、Load指令、算邏指令(寄存器存儲器型)、Store指令和轉(zhuǎn)移指令的周期總數(shù)分別為C1, C2,C3, C4, C5,所以:C1= (0.43-(0.25X 0.43)M X 仁0.3225MC2=(0.21-(0.25X 0.43)M X 2=0.205MC3=(0.25X 0.43)M X 2=0.215MC4=0.12MX 2=0.24MC5=0.24 X 3M=0.72M新

6、指令總數(shù) N= (1-(0.25 X 0.43) ) M=0.8925MCPI 新=(C1+C2+C3+C4+C5/N=1.7025M/0.8925M=1.908 第一章:習(xí)題1.2如果有一個經(jīng)解釋實現(xiàn)的計算機(jī),可以按功能劃分為4級。每一級為了執(zhí)行一條指令需要下一級的N條指令解釋。若執(zhí)行第一級的一條指令需Kns的時間,那么執(zhí)行第2、3、4級的一條指令各需要用多少時間?解答第二級的每條指令需要N條第一級指令進(jìn)行解釋,所以執(zhí)行一條第二級指令所需要的時間為:Tinstructio n2NTinstructio n1NKnsKNns同理有:Tinstructio n3NTinstructio n 2N

7、 KN ns KN 2 nsTinstructio n4NTinstructio n 3N2KNns KN ns習(xí)題1.11解答需要考慮的問題主要是相同系列計算機(jī)之間的兼容問題,(2)、(5)、(8)是行不通的;而(1)、( 3)、(4)、( 6)、(7)則可以考慮。習(xí)題1.12如果某一計算任務(wù)用向量方式求解比用標(biāo)量方式求解要快20倍,稱可用標(biāo)量方式求解部分所花費時間占總的時間的百分比為可向量化百分比請畫出加速比與可向量化比例兩者之間關(guān)系的曲線.解答設(shè)可向量化比例為Pvector,則加速比的計算公式表示為:Sp20(1PvectorPvector/202019Pvector因此,加速比和可向量

8、化比例圖如下:2018161412Spee108up64201020708090The Relati on shipbetwee n vectorizati on perce ntage and304050vectorizati on_一一60100習(xí)題1.14解答將數(shù)據(jù)代入上面的公式,有:102019Pvector20解之有:PvectorO.947習(xí)題1.16解答對該應(yīng)用程序來說,在9 0%的時間里,只有5 0 0 0 0 *10%= 5 0 0 0條指令在運行,其他的4 5 0 0 0條指令的平均運行次數(shù)很少,因此,我們可以假設(shè)對他們來說,Cache總是缺失的對頻繁訪問的這10%的指令,

9、我們假設(shè)他們訪問均勻,這樣,Cache的行為便可以認(rèn)為是均勻覆蓋了這些指令.所以, Cache的命中率為:Rh it0.9200050000 0.10.36習(xí)題1.17假設(shè)高速緩存Cache工作速度為主存的5倍,且Cache被訪問命中的概率為90%貝U采用Cache后,能 使整個存儲系統(tǒng)獲得多高的加速比Sp?解答我們首先對新的存儲系統(tǒng)的性能做以下的假設(shè):在Cache不命中的情況下,對Cache的訪問不會額外損失時間,即:首先,決定 Cache是否命中所用的時間可以忽略;其次,在從主存向Cache傳輸?shù)耐瑫r,數(shù)據(jù)也被傳輸給使用部件(不需要再從 Cache中讀取)。這樣,新的存儲系統(tǒng)中,平均存取時

10、間分為兩個部分:n ew_ averageTmissRmissThitRhitRmissTCacheRhit其中,R表示各種情況所占的比例。 根據(jù)加速比的計算公式,SpTo ld_ avera geTma inTn ew_ a vera g eTmainRmissTCa ch eRh it3.571 0.1 5 0.9第二章習(xí)題解答 習(xí)題2.2解答情況下:在尾數(shù)采用補碼、小數(shù)表示且p=6,階碼采用移碼、整數(shù)表示且q=6,尾數(shù)基rm為16,階碼基re為2的60.99999994 0.FFFFFF HEXMmax 116最小負(fù)數(shù)為: 浮點零為:(0.100001Nmin 1 通過上面的計算,10

11、40)hex26 1162 1我們可以知道浮點零的范圍如下:0.54 10 781 16630.7237 1076103F)hex表數(shù)精度為:log2 16 1(16) 2 gNzero 0.54210.47 1010 78(0.110 40)hex(16)1693.75%表數(shù)效率為:能表示的規(guī)格化浮點數(shù)個數(shù)為:N N positive N negtive習(xí)題2.3解答15 165對于IEEE754的32位單精度浮點數(shù):N zero(27 1)166(271)果不把正的無窮數(shù)計算在內(nèi),23最小正數(shù)為:N min 2那么最大正數(shù)為:2 1262 149N max(12

12、23)2 2541270.34 1039最大負(fù)數(shù)為:N max2 232 126那么最小負(fù)數(shù)為:0.6 10 70.14 10149440.141044如果不把負(fù)的無窮數(shù)計算在內(nèi),表數(shù)精度為:(2) 2由于尾數(shù)的基數(shù)是2,所以表數(shù)效率為50%。對于IEEE754的64位單精度浮點數(shù):N min(123)?254 1270.34 1039如果不把正的無窮數(shù)計算在內(nèi),那么最大正數(shù)為:2 1022 2N max(12 52)小2046 10233092 0.18 10最小正數(shù)為:N min 210740.510 323最大負(fù)數(shù)為:N max522 1022210740.5 10 323如果不把負(fù)的無

13、窮數(shù)計算在內(nèi),(2) 2 53那么最小負(fù)數(shù)為:15表數(shù)精度為:(2) 20.11 10由于尾數(shù)的基數(shù)是2,所以表數(shù)效率為50%。N min522046 1023(1 1 2 ) 23090.18 10最小正尾數(shù)為:M positive _ min16 60.610 70.000001hex最小尾數(shù)為:Mmin11hex最大負(fù)尾數(shù)為:M negtive _ max166 0.6 1070.000001hex最大階碼為:Emax261633 F HEX最小階碼為: 最大正數(shù)為:E i26min6440 HEXN max(11666) 162 10.9999999416630.7237 1076(0

14、.FFFFFF103F)hex最小正數(shù)為:Npositive _ min(161)2616 21 1665780.54 10(0.1 10 40)hex最大負(fù)數(shù)為:Nnegtive_ max(16 1166)16 20.54 10 78(0.10000110 40 ) HEX最大尾數(shù)為:習(xí)題2.5 一臺計算機(jī)系統(tǒng)要求浮點數(shù)的精度不低于10-7.2,表數(shù)范圍正數(shù)不小于1038,且正、負(fù)數(shù)對稱。尾數(shù)用原碼、純小數(shù)表示,階碼用移碼、整數(shù)表示。設(shè)計這種浮點數(shù)的格式計算(1)所設(shè)計浮點數(shù)格式實際上能夠表示的最大正數(shù)、最大負(fù)數(shù)、表數(shù)精度和表數(shù)效率。解答為了方便和提高精度,我們?nèi)∥矓?shù)和階碼的基都為7.22,

15、即:rm 2 且 re 2p 10 7.2根據(jù)表示數(shù)精度的要求:于是可以取p=24;log 223.9根據(jù)表示數(shù)范圍的要求:(12 p)22q 12q38101.000000063810382qlog 1.00000006log 2log(127.33)6.99log 2因此可以取q=7 數(shù)據(jù)格式可以表示如下:1位1位7位24位符號 階符階碼尾數(shù)能夠表示的最大正數(shù):(1 2-24) 2127,能夠表示的最大負(fù)數(shù):2- 129,表示數(shù)的精度:2-24,表數(shù)效率:50%習(xí)題2.6解答在兩種標(biāo)準(zhǔn)下面,0.2分別表示為:IBM標(biāo)準(zhǔn):(0.333333 10 )hex編碼為:(01000000)bin

16、(333333)HEXIEEE754標(biāo)準(zhǔn):(0.1100110011 00110011001100 10 10)bin編碼為.(00111110110011001100110011001100) bin(3 )略,注意兩種標(biāo)準(zhǔn)表數(shù)的范圍和表數(shù)的精度是不相同的。習(xí)題2.10解答我們可以計算出數(shù)據(jù)的大致數(shù)量:1000條指令訪問的數(shù)據(jù)總數(shù)為 1000*2=2000個;每個數(shù)據(jù)平均訪問8次,所以,不同的數(shù)據(jù)個數(shù)為:2000 8250個對于A處理機(jī),所用的存儲空間的大小為:Mem_ sizeMeminstructio nMemdata1000 322503240000bit對于B處理機(jī),指令字長由32位

17、變?yōu)榱?30位(條數(shù)由256減少到64 ),這樣,所用的存儲空間的大小為:Mem_ sizeMeminstructio nMemdata1000 302503639000bit由此我們可以看岀,由于數(shù)據(jù)的平均訪問次數(shù)要大于指令,所以,通過改進(jìn)數(shù)據(jù)的格式來減少指令的長度,可 以減少總的存儲空間大小。習(xí)題2.14 一臺模型機(jī)共有7條指令,各指令的使用頻率分別為 35% 25% 20% 10% 5% 3嚇口2%有8個通用 數(shù)據(jù)寄存器,2個變址寄存器。要求操作碼的平均長度最短,請設(shè)計操作碼的編碼,并計算所設(shè)計操作碼的平均長度。設(shè)計8字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲器型變址尋址方

18、式指令 4條,變址范圍不小于 ±27。請設(shè)計指令格式,并給岀各字段的長度和操作碼的編碼。解答(1)要使得到的操作碼長度最短,應(yīng)采用Huffman編碼,構(gòu)造Huffman樹如下:0.350.250.200.100.050.030.020.600.050.100 10 10 1由此可以得到7條指令編碼分別如下:指令號岀現(xiàn)的頻率編碼135%00225%01320%10410%11055%111063%1111072%11111這樣,采用Huffman編碼法得到的操作碼的平均長度為:H = 2 X (0.35+0.25+0.20) + 3 X 0.10 + 4 X 0.05 + 5 X (0

19、.03 + 0.02)=1.6+0.3+0.2+0.25=2.35(2) 設(shè)計8位字長的寄存器-寄存器型變址尋址方式指令如下:因為只有8個通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設(shè)計格式如下:233操作碼OP源寄存器R1目的寄存器R2三條指令的操作碼分別為00, 01,10設(shè)計16位字長的寄存器-存儲器型變址尋址方式指令如下:4318操作碼OP|通用寄存器變址寄存器偏移地址四條指令的操作碼分別為 1100, 11011110, 1111習(xí)題2.15某處理機(jī)的指令字長為16位,有雙地址指令、單地址指令和零地址指令三類,并假設(shè)每個地址字段的長度均為6位。如果雙地址指令有15條,單地址指令

20、和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條? 并且為這三類指令分配操作碼。如果要求三類指令的比例大致為1: 9: 9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。解答首先,我們可以根據(jù)指令地址的數(shù)量來決定各種指令在指令空間上的分布:如果我們按照從小到大的順序分配操作碼,這樣,按照指令數(shù)值從小到大的順序,分別為雙地址指令、單地址 指令和零地址指令。其次可以根據(jù)指令的條數(shù)來大致的估計操作碼的長度:雙指令15條,需要4位指令來區(qū)分,剩下的12位指令平均分給單地址和零地址指令,每種指令可以用6位指令來區(qū)分,這樣,各指令的條數(shù)為:雙地址指令15條,地址

21、碼:00001110;單地址指令26-仁63條,地址碼:1111 0000001111 111110 ;零地址指令 64條,地址碼:1111 111111 0000001111 111111 111111。(2) 與上面的分析相同,可以得岀答案:雙地址指令14條,地址碼:00001101 ;單地址指令 26*2-2 = 126 條,1110 0000001110 111110,1111 0000001111 111110 ;零地址指令 128 條 1111 111111 0000001111 111111 111111。c2(2) ta = h1t1 +E(3)口卩叩叩叩叩叩叩叩叩叩口卩rr=

22、5r=20r=100第三章習(xí)題解答習(xí)題3.1設(shè)有一個兩層的存儲器層次結(jié)構(gòu):M1和M2M1的命中率用h表示,并分別令cl和c2為每千字節(jié)的成本,si和s2為存儲器容量,t1和t2為存取時間。在什么條件下,整個存儲器系統(tǒng)的平均成本會接近于c2 ?該層次結(jié)構(gòu)的存儲器有效存取時間ta是多少?令兩層存儲器的速度比r=t2/t1 ,并令E=t1/ta為存儲系統(tǒng)的存取效率。試以 r和命中率h來表示E。試分別畫出r=5、20和100時,E和h的關(guān)系圖。如果r=100,為使E>0.95,要求的命中率h是多少?(5)中的命中率實際上很難達(dá)到,假設(shè)實際的命中率只能達(dá)到0.96?,F(xiàn)在采用一種緩沖技術(shù)來解決這個問

23、題。當(dāng)訪問M1不命中時,把包括被訪問數(shù)據(jù)在內(nèi)的一個數(shù)據(jù)塊都從M2取到M仲,并假設(shè)被取到M1中的每個數(shù)據(jù)平均可以被重復(fù)訪問5次。請設(shè)計緩沖深度(即每次從 M2取到M仲的數(shù)據(jù)塊的大?。=獯穑? )整個存儲系統(tǒng)的平均成本為:S1時,整個存儲器系統(tǒng)的平均成本會接近于不難看出:當(dāng)S1/S2非常小的時候,上式的值約等于 c2。即:s2(1 -h1 ) h2t2因為h2等于1,所以ta = ht1 +(1 -h ) t2t1 1ta ht1(1h)t2h (1 h)r100命命命h(%)94(5)將數(shù)值代入E和h的關(guān)系式可以算得h> 94.0599.95%。通過緩沖的方法,我們需要將命中率從0.96

24、提高到0.9995。假設(shè)對存儲器的訪問次數(shù)為n,緩沖塊的大小為m。那么,緩沖的次數(shù)為0.0005n次;所以通過對M1的命中率來列等式有:0.99950.96n 5 m 0.0005nn解這個方程有:m 15.8所以要達(dá)到(5)中的訪問效率,緩沖的深度應(yīng)該至少是16 (個數(shù)據(jù)單位)。習(xí)題3.3要求完成一個兩層存儲系統(tǒng)的容量設(shè)計。第一層 M是高速緩存,其容量有三種選擇: 64K字節(jié)、128K 字節(jié)和256K字節(jié)。第二層M2是主存儲器,其容量為 4M字節(jié)。分別令cl和c2是每個字節(jié)的成本,t1和t2是M1和M2 的存取時間。假定c仁20c2和t2=10t1,三種容量高速緩存的命中率分別為 0.7,0

25、.9和0.98。在t1=20ns的條件下,三種高速緩存的平均存取時間 ta是多少?(注意:t1是從CP倒M1的時間。t2是從CPI到M2 的時間,不是從M侄UM2的時間)。如果c2=0.2美圓/K字節(jié),試說明整個存儲器層次結(jié)構(gòu)的平均字節(jié)成本。對三種存儲器的設(shè)計作一個比較,并分別按平均成本和平均存取時間指岀它們性能的排列次序。再根據(jù)平均成本和平均存取時間的乘積,選擇最佳設(shè)計。解答(1) ta = ht1 +(1 -h ) t2 = (10 -9h ) t1 ,所以ta1 =( 10 -9*0.7 ) *20 = 74nsta2 =( 10 -9*0.9 ) *20 = 38nsta3 =( 10

26、 -9*0.98 ) *20 = 23.6ns(2)因為平均字節(jié)成本ca為:s 1c 1 c 2C 1 S 1C 2 S 2S 2s 1s 2s 11s 2將各個值代入可得:ca仁0.26美元/K字節(jié),ca2=0.32美元/K字節(jié),ca3=0.43美元/K字節(jié)。(3)按照平均成本來說ca1< ca2< ca3,按照平均存取時間來說ta3< ta2< ta1。如果根據(jù)平均成本和平均存取時間的乘積(ca1*ta1=19.24, ca2*ta2=12.16, ca3*ta3=10.15)來計算的話,則第三種方案是最佳的。習(xí)題3.7解答各種存儲器的地址格式如下: 方式1: 16

27、個模塊高位交叉模塊號模塊的片內(nèi)地址方式2: 16個模塊并行訪問3L模塊的片內(nèi)地址I模塊號方式4: 2路高位交叉8路低位交叉16個存儲模塊每8個組成一個大的模塊:16個存儲模塊每4個組成一個大的模塊:3L總的來說,并行訪問存儲器的優(yōu)點是實現(xiàn)簡單、容易,缺點是訪問沖突大;高位交叉訪問存儲器的優(yōu)點是擴(kuò)充方便,缺點是訪問效率不高; 低位交叉訪問存儲器可以用分時的方法來提高速度,但擴(kuò)充不方便。各種存儲器的頻帶寬度和他們的工作頻率有關(guān),在不考慮沖突的情況下,如果有足夠多的獨立控制電路和寄存 器,那么,他們的頻帶寬度是相同的。存儲器的邏輯示意圖略。注意,并行訪問存儲器和低位交叉訪問存儲器很相象,只不過,并行

28、訪問存儲器使用存儲模塊號(存儲體號) 來對已經(jīng)輸岀的結(jié)果進(jìn)行選擇,而低位交叉訪問存儲器則用來生成對存儲模塊(存儲體)的片選信號,他通過 流水的方式來提高訪問的速度。習(xí)題3.13 個虛擬存儲器按字節(jié)編址, 最多有256個用戶,每個用戶最多要用4096頁,每頁1K字節(jié)。主存容量 16M字節(jié),快表按地址訪問,共32個存儲字,快表地址碼經(jīng)散列變換得到,為減少散列沖突,快表分為兩組,有 兩套獨立的相等比較電路。寫岀多用戶虛地址和主存地址的格式,并標(biāo)岀各字段的長度。散列變換部件的輸入位數(shù)和輸岀位數(shù)各為多少?每個相等比較電路的位數(shù)是多少? 快表每個存儲字的總長度為多少位?為哪幾個字段?各字段的長度為多少位?

29、 畫岀多用戶虛地址經(jīng)快表變換成主存地址的邏輯示意圖。解答虛地址的長度為30位,格式如下:主存的地址需要24位:格式如下由于用戶號和虛頁號共有20位,所以,散列變換的輸入需要 20位,而輸岀的為快表的地址,如果我們假設(shè)快表 是按照字尋址,那么是4位(快表分為兩組,每組16個存儲字)。相等比較電路需要比較多用戶虛頁號,以消除散列沖突,所以,相等比較電路需要20位??毂碇行枰鎯身梼?nèi)容:多用戶虛頁號和實頁號。多用戶虛頁號為20位,實頁號為14位,共有34位。見課本(計算機(jī)系統(tǒng)結(jié)構(gòu)(第二版),鄭緯民、湯志中,清華大學(xué)岀版社)圖 3.29。習(xí)題3.15解答LFU算 法444*222*33*333*3命

30、中3次555*555*222*11333*1111*555調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中調(diào) 入調(diào) 入調(diào) 入命 中調(diào) 入調(diào) 入命 中此時也可以達(dá)到最高命中率;分配的主存頁面等于3時,調(diào)度過程如下:在分配的主存頁面數(shù)目大于等于 5的情況下,這時,除了第一次調(diào)入不命中, 以后的訪問均命中,可以達(dá)到最高 的頁面命中率:實際命中的次數(shù)為7次,所以可能達(dá)到的最高頁面命中率為:LFU算 法44444*11111*11命中7次555*5p555*5553333*33*333*3222*22222調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中調(diào) 入命 中命 中命 中命 中命 中命 中H 0.583312由于在頁面數(shù)大于等于5的

31、情況下,肯定可以達(dá)到最高命中率,所以我們來看頁面數(shù)小于 5時能否達(dá)到該命中率: 分配的主存頁面數(shù)等于4時,調(diào)度過程如下:此時不能達(dá)到最高命中率。所以至少應(yīng)該分配4個主存頁面。我們假設(shè)程序每次只訪問一個存儲單元,這樣,對每一個特定頁面的訪問過程可以描述如下:因為第一次總是不命中的,而平均起來,隨后的1023次總是命中的,然后再次被調(diào)出主存,并再次重復(fù)先前的過程。所以訪問存儲單元的命中率為:102310240.999習(xí)題3.19假設(shè)在一個采用組相聯(lián)映象方式的Cache中,主存有B0 B7共8塊組成,Cache有2組,每組2塊,每塊的大小為16個字節(jié),采用LFU塊替換算法。在一個程序執(zhí)行過程中依次訪

32、問這個Cache的塊地址流如下:B6, B2, B4, B1,B4,B6, B3, B0, B4, B5, B7,B3(1) 寫岀主存地址的格式,并標(biāo)岀各字段的長度。(2) 寫出Cache地址的格式,并標(biāo)出各字段的長度。(3) 畫出主存與Cache之間各個塊的映象對應(yīng)關(guān)系。(4) 如果Cache的各個塊號為C0、C1、C2和C3列出程序執(zhí)行過程中 Cache的塊地址流情況。(5) 如果采用FIFO替換算法,計算Cache的塊命中率。(6) 采用LFU替換算法,計算Cache的塊命中率。(7) 如果改為全相聯(lián)映象方式,再做 (5)和(6),可以得出什么結(jié)論?(8) 如果在程序執(zhí)行過程中,每從主存

33、裝入一塊到Cache,則平均要對這個塊訪問16次。請計算在這種情況下的 Cache命中率。解答主存共有2個區(qū),每個區(qū)2組,每個組2塊,每塊16個字節(jié),如果按字節(jié)尋址,那么主存需要7位,如下圖所示:組號U位)區(qū)號位)I塊號1位)決內(nèi)地址4癥)Cache地址需要6位,如下圖所示:組號(1位)塊號(1位)塊內(nèi)地址(4位)對應(yīng)關(guān)系參見教材圖3.44其中,(BO, B1), (B4, B5)對應(yīng)(CO, C1),而(B2, B3), (B6, B7)對應(yīng)(C2, C3) 對應(yīng)于主存塊地址流:B6, B2, B4, B1, B4, B6, B3, BO, B4, B5, B7, B3一種可能的Cache的

34、塊地址流如下:C2, C3, CO, C1, CO, C2, C3, C1, CO, C1, C2, C3采用FIFO算法的調(diào)度圖如下:FIFO算法B4B4B4B4B1B1:B1B6B6B6B6B6B6B2B2B2B2P B2調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中命 中B4BOBOB5B5B5命中3次B1B1B4B4B4B4B3B3B3B3B3B3B2B2B2B2B7B7調(diào) 入調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中塊命中率為:3HO.2512采用LFU算法的調(diào)度圖如下:LFU算 法B4B4B4B4B1B1B1B6:B6B6B6B6P B6B2B2B2B2P B2調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中命 中B4B4B4

35、B4B4B4命中4次B1BOBOB5B5B5B6B6B6B6B7B7B3B3B3B3B3B3調(diào) 入調(diào) 入命 中調(diào) 入調(diào) 入命 中塊命中率為:4HO.3312改用全相聯(lián)以后, 當(dāng)采用FIFO算法時:FIFO算法B6B6B6B6B6B6B2B2B2B2P B2B4B4B4B4B1B1:B1調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中命 中B3B3B3B3B3B3命中4次B2BOBOBOBOBOB4B4B4B5B5B5B1B1B1B1B7B7調(diào) 入調(diào) 入命 中調(diào) 入調(diào) 入命 中0102030405060708090100塊命中率為:4120.33當(dāng)采用LFU算法時:LFU算 法B6B6B6B6B6B6B2B2B2

36、B2B2B4B4B4B4B1B1B1調(diào) 入調(diào) 入調(diào) 入調(diào) 入命 中中塊命中率為:B6B6B6B5B5B5命中3次B3B3B3B3B7B7B4B4B4B4B4B4B1B0B0B0B0B3調(diào) 入調(diào) 入命 中調(diào) 入調(diào) 入調(diào) 入3H0.2512可以看岀,對不同的算法,全相聯(lián)并不總是能夠提高命中率。我們考慮的是對Cache中存儲單元的命中率,假設(shè)平均訪問次數(shù)16次中包含第一次的訪問,同 3.15題(3)的分析,我們可以得到命中率為:15H0.937516第四章習(xí)題解答習(xí)題4.7 一個字節(jié)多路通道連接有 5臺設(shè)備,它們的數(shù)據(jù)傳輸率如表 4.7所示。表4.7設(shè)備的數(shù)據(jù)傳輸率設(shè)備名稱D1D2D3D4D5數(shù)據(jù)傳

37、輸速率(KB/s)10033.333.32010服務(wù)優(yōu)先級1 (最高)2345計算這個字節(jié)多路通道的實際工作流量。為了使通道能夠正常工作,請設(shè)計通道的最大流量和工作周期。當(dāng)這個字節(jié)多路通道工作在最大流量時,5臺設(shè)備都在0時刻同時向通道發(fā)岀第一次傳送數(shù)據(jù)的請求,并在以后的時間里按照各自的數(shù)據(jù)傳輸速率連續(xù)工作。畫岀通道分時為各臺設(shè)備服務(wù)的時間關(guān)系圖,并計算這個字節(jié)多 路通道處理完各臺設(shè)備的第一次數(shù)據(jù)服務(wù)請求的時刻。解答我們道把數(shù)據(jù)傳輸速率理解為設(shè)備的數(shù)據(jù)產(chǎn)生速率,即設(shè)備對應(yīng)的子通道數(shù)據(jù)傳輸速率,那么,通道的實際流 量等于各子通道的流量之和:196.6KB/S。我們?nèi)×髁可舷逓?00KB/S,則工作

38、周期為5 s。通道分時工作的時間關(guān)系圖如下所示。通道處理完各設(shè)備第一次數(shù)據(jù)服務(wù)請求的時刻分別為:5 s、10 s、20 s、30 s、 90 s。D1D2D3D4D5圖4.75臺設(shè)備向通道請求傳送數(shù)據(jù):道為它們服務(wù)的時間關(guān)系第五章習(xí)題解答習(xí)題5.3假設(shè)一條指令的執(zhí)行過程分為“取指令”、“分析”和“執(zhí)行”三段,每一段的執(zhí)行時間分別為t、2 t和3A t。在下列各種情況下,分別寫出連續(xù)執(zhí)行 n條指令所需要的時間表達(dá)式。 順序執(zhí)行方式。僅“取指令”和“執(zhí)行”重疊。先行控制方式。解答順序執(zhí)行需要的時間如下:T ( t 2 t 3 t) n 6n t取指令和執(zhí)行重疊,即一次重疊執(zhí)行方式,我們假設(shè)第n+1

39、條指令的取指令和第n條指令的執(zhí)行同時結(jié)束,那么所需要的時間為:T t (2 t 3 t) n 5n t t采用先行控制以后:T t 2 t 3 t n 3n t 3 t習(xí)題5.7 一條線性流水線有4個功能段組成,每個功能段的延遲時間都相等,都為t。開始5個厶t,每間隔一個 t向流水線輸入一個任務(wù),然后停頓 2個厶t,如此重復(fù)。求流水線的實際吞吐率、加速比和效率。解答流水線的時空圖如下:A功能段41234567功能段3123456I 7功能段21234567功能段1123 |45674 t2A t3 t4At 5A t6At 1 t8At 9A t10 t11 t12A t 13 t14t 15

40、 t我們可以看出,在(11n+1)A t的時間內(nèi),可以輸出5n個結(jié)果,如果指令的序列足夠長(n®),并且指令間 不存在相關(guān),那么,吞吐率可以認(rèn)為滿足:Tp5n(11n1) t(11 1/n) t 11 t(n加速比為:5n 4 t 20n20S(11n1) t 11n1111/n從上面的時空圖很容易看出,效率為:20石(nTo620n t4 (11 n 1) t習(xí)題5.8用一條5個功能段的浮點加法器流水線計算10F Aii 1。每個功能段的延遲時間均相等,流水線的輸岀端和輸入端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器。要求用盡可能短的時間完成計算,畫岀 流水線時空圖,并計算流水

41、線的實際吞吐率、加速比和效率。解答首先需要考慮的是,10個數(shù)的的和最少需要做幾次加法。我們可以發(fā)現(xiàn),加法的次數(shù)是不能減少的:9次;于是我們要盡可能快的完成任務(wù),就只有考慮如何讓流水線盡可能充滿,這需要消除前后指令之間的相關(guān)。由于加 法滿足交換率和結(jié)合率,我們可以調(diào)整運算次序如以下的指令序列,我們把中間結(jié)果寄存器稱為 R,源操作數(shù)寄存器稱為A,最后結(jié)果寄存器稱為F,并假設(shè)源操作數(shù)已經(jīng)在寄存器中,則指令如下:111213141516171819R1 A1+A2R2 A3+A4R3 A5+A6R4 A7+A8R5 A9+A10R2 R1+R2R7 R3+R4R8 R5+R6F R7+R8這并不是唯一

42、可能的計算方法。假設(shè)功能段的延遲t。時空圖如下,圖中的數(shù)字是指令號:功能段51234567功能段412345678功能段312345678功能段21234561 78功能段1123456789A t 2A t 3 A t 4A t 5A t 6A t 7A t 8A t 9A t 10 A t11 A t 12A t 13A t 14A t15A t整個計算過程需要21 A t,所以吞吐率為:_9321 t 7 t加速比為:9 5 t 4521 t 21效率為:2.1429To9 5 t3Ek Tk5 21 t7習(xí)題5.9 一條線性靜態(tài)多功能流水線由6個功能段組成,加法操作使用其中的1、2、3

43、、6功能段,乘法操作使用其中的1、4、5、6功能段,每個功能段的延遲時間均相等。流水線的輸入端與輸岀端之間有直接數(shù)據(jù)通路,6F (A Bi)而且設(shè)置有足夠的緩沖寄存器。現(xiàn)在用這條流水線計算:i 1,畫岀流水線時空圖,并計算流水線的實際吞吐率、加速比和效率。解答為了取得較高的速度,我們需要一次將乘法作完,設(shè)源操作數(shù)存放在寄存器A、B中,中間結(jié)果存放在寄存器 R中,最后結(jié)果存放在寄存器 F中,則執(zhí)行的指令序列如下所示:11 :12 :13 :14 :15 :16 :17 :18 :I9 :I10 :R1 A1*B1R2 A2*B2R3 A3*B3R4 A4*B4R5 A5*B5R2 A6*B6R7

44、 R1+R2R8 R3+R4RZ R5+R6R10 R7+R8111 :F R9+R10這并不是唯一可能的計算方法。假設(shè)功能段的延遲t。時空圖(不完全)如下,圖中的數(shù)字是指令號:功能段 功能段 功能段 功能段 功能段 功能段” 11 1ip整個計算過程需要22 A t,所以吞吐率為:22 t 2 tc114tS2加速比為:22 tT。114 t1E效率為:k Tk622 t3習(xí)題5.18在下列不同結(jié)構(gòu)的處理機(jī)上運行8 X 8的矩陣乘法C=AX B,計算所需要的最短時間。 只計算乘法指令和加法指令的執(zhí)行時間,不計算取操作數(shù)、數(shù)據(jù)傳送和程序控制等指令的執(zhí)行時間。加法部件和乘法部件的延 遲時間都是3個時鐘周期,另外,加法指令和乘法指令還要經(jīng)過一個“取指令”和“指令譯碼”的時鐘周期,每 個時鐘周期為20ns,C的初始值為“0”。各操作部件的輸岀端有直接數(shù)據(jù)通路連接到有關(guān)操作部件的輸入端,在操作部件的輸岀端設(shè)置有足夠容量的緩沖寄存器。處理機(jī)內(nèi)只有一個通用操作部件,采用順序方式執(zhí)行指令。 單流水線標(biāo)量處理機(jī),有一條兩個功能的靜態(tài)流水線,流水線每個功能段的延遲時間均為一個時鐘周期,加法 操作和乘法操作各經(jīng)過 3個功能段。多操作部件處理機(jī),處理機(jī)內(nèi)有獨立的

溫馨提示

  • 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

提交評論