《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第2版鄭偉明湯志忠課后習(xí)題答案以及例題收錄.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)第2版鄭偉明湯志忠課后習(xí)題答案以及例題收錄.doc(141頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(第2版)
鄭偉明 湯志忠 編著
清華大學(xué)出版社
習(xí)題解答
1 目錄
1.1 第一章(P33)
1.7-1.9(透明性概念),1.12-1.18(Amdahl定律),1.19、1.21、1.24(CPI/MIPS)
1.2 第二章(P124)
2.3、2.5、2.6(浮點(diǎn)數(shù)性能),2.13、2.15(指令編碼)
1.3 第三章(P202)
3.3(存儲(chǔ)層次性能),3.5(并行主存系統(tǒng)),3.15-3.15加1題(堆棧模擬),3.19中(3)(4)(6)(8)問(地址映象/替換算法--實(shí)存狀況圖)
1.4 第四章(P250)
4.5(中斷屏蔽字表/中斷過程示意圖),4.8(通道流量計(jì)算/通道時(shí)間圖)
1.5 第五章(P343)
5.9(流水線性能/時(shí)空?qǐng)D),5.15(2種調(diào)度算法)
1.6 第六章(P391)
6.6(向量流水時(shí)間計(jì)算),6.10(Amdahl定律/MFLOPS)
1.7 第七章(P446)
7.3、7.29(互連函數(shù)計(jì)算),7.6-7.14(互連網(wǎng)性質(zhì)),7.4、7.5、7.26(多級(jí)網(wǎng)尋徑算法),7.27(尋徑/選播算法)
1.8 第八章(P498)
8.12(SISD/SIMD算法)
1.9 第九章(P562)
9.18(SISD/多功能部件/SIMD/MIMD算法)
(注:每章可選1-2個(gè)主要知識(shí)點(diǎn),每個(gè)知識(shí)點(diǎn)可只選1題。有下劃線者為推薦的主要知識(shí)點(diǎn)。)
2 例, 習(xí)題
2.1 第一章(P33)
例1.1,p10
假設(shè)將某系統(tǒng)的某一部件的處理速度加快到10倍,但該部件的原處理時(shí)間僅為整個(gè)運(yùn)行時(shí)間的40%,則采用加快措施后能使整個(gè)系統(tǒng)的性能提高多少?
解:由題意可知:Fe=0.4, Se=10,根據(jù)Amdahl定律
例1.2,p10
采用哪種實(shí)現(xiàn)技術(shù)來求浮點(diǎn)數(shù)平方根FPSQR的操作對(duì)系統(tǒng)的性能影響較大。假設(shè)FPSQR操作占整個(gè)測(cè)試程序執(zhí)行時(shí)間的20%。一種實(shí)現(xiàn)方法是采用FPSQR硬件,使FPSQR操作的速度加快到10倍。另一種實(shí)現(xiàn)方法是使所有浮點(diǎn)數(shù)據(jù)指令的速度加快,使FP指令的速度加快到2倍,還假設(shè)FP指令占整個(gè)執(zhí)行時(shí)間的50%。請(qǐng)比較這兩種設(shè)計(jì)方案。
解:分別計(jì)算出這兩種設(shè)計(jì)方案所能得到的加速比:
Fe FPSQR=0.20,Se FPSQR=10
Fe FP=0.50,Se FP=2
例1.3,p11
如果FP操作的比例為25%,F(xiàn)P操作的平均CPI=4.0,其它指令的平均CPI為1.33,F(xiàn)PSQR操作的比例為2%, FPSQR的CPI為20。假設(shè)有兩種設(shè)計(jì)方案,分別把FPSQR操作的CPI和所有FP操作的CPI減為2。試?yán)肅PU性能公式比較這兩種設(shè)計(jì)方案哪一個(gè)更好(只改變CPI而時(shí)鐘頻率和指令條數(shù)保持不變)。
解:
原系統(tǒng)的
CPIFP=4.0, =25%
CPI2=1.33, =1-25%
CPI原
= CPIFP + CPI2
=4.025% + 1.3375%
=2
方案1(使FPSQR操作的CPI為2)系統(tǒng)
CPI=CPI原 - CPIFPSQR原 + CPIFPSQR新
=CPI原 - (CPIFPSQR原 - CPIFPSQR新)
=2-2%(20-2)
=1.64
方案2(提高所有FP指令的處理速度, 使FPSQR操作的CPI為2)
CPI=CPI原 - CPIFP原 + CPIFP新
=CPI原 - (CPIFP原 - CPIFP新)
=2-25% (4-2)
=1.5
我們也可以根據(jù)以下公式計(jì)算出方案2系統(tǒng)(同求CPI原)
CPI= 75%1.33+25%2=1.5
顯然,提高所有FP指令處理速度的方案要比提高FPSQR處理速度的方案要好。
方案2的加速比
=2/1.5
=1.33
例1.4
假設(shè)兩臺(tái)機(jī)器的指令系統(tǒng)中,執(zhí)行條件轉(zhuǎn)移指令需2個(gè)時(shí)鐘周期,而其它指令只需1個(gè)時(shí)鐘周期。
CPUA:采用一條比較指令來設(shè)置相應(yīng)的條件碼,由緊隨其后的一條轉(zhuǎn)移指令對(duì)此條件碼進(jìn)行測(cè)試,以確定是否進(jìn)行轉(zhuǎn)移。顯然實(shí)現(xiàn)一次條件轉(zhuǎn)移要執(zhí)行比較和測(cè)試兩條指令。條件轉(zhuǎn)移指令占總執(zhí)行指令條數(shù)的20%。由于每條轉(zhuǎn)移指令都需要一條比較指令,所以比較指令也將占20%。
CPUB采用比較功能和判別是否實(shí)現(xiàn)轉(zhuǎn)移功能合在一條指令的方法,這樣實(shí)現(xiàn)一條件轉(zhuǎn)移就只需一條指令就可以完成。由于CPUB在轉(zhuǎn)移指令中包含了比較功能,因此它的時(shí)鐘周期就比CPUA要慢25%。
現(xiàn)在要問,采用不同轉(zhuǎn)移指令方案的CPUA和CPUB,那個(gè)工作速度會(huì)更快些?
解:
CPIA=0.22+0.81=1.2
TCPUA=ICA1.2tA
= 1.2 ICAtA
CPUB轉(zhuǎn)移指令占20%80%=25%
CPIB = 0.252+0.751=1.25
由于CPUB中沒有比較指令,因此
ICB = 0.8ICA
CPUB時(shí)鐘周期就比CPUA要慢25%
tB = 1.25tA
TCPUB = ICBCPIBtB
= 0.8 ICA1.251.25tA
= 1.25 ICAtA
TCPUA
TCPUB
所以CPUB比CPUA運(yùn)行得更快些。
例1.A1
計(jì)算Pentium II 450(IPC=2)處理機(jī)的運(yùn)算速度。
解:
由于PentiumII 450處理機(jī)的IPC=2 (或CPI=0.5)
Fz=450MHz,
MIPSPentium II 450=FzIPC=450 MHz2=900(MIPS)
例1.A2
我國最早研制的小型計(jì)算機(jī)DJS-130,定點(diǎn)16位,加法每秒50萬次,但沒有硬件乘法和除法指令,用軟件實(shí)現(xiàn)乘法和除法,速度低100倍左右。求等效速度。
解:定點(diǎn)等效速度為:
即每秒2萬次,由于乘法和除法用軟件實(shí)現(xiàn),等效速度降低了25倍。
例1.A3
假設(shè)在程序中浮點(diǎn)開平方操作FPSQR的比例為2%,它的CPI為100;其他浮點(diǎn)操作FP的比例為23%,它的CPI= 4.0;其余75%指令的CPI=1.33,計(jì)算該處理機(jī)的等效CPI。如果FPSQR操作的CPI也為4.0,重新計(jì)算等效CPI。
解:
等效CPI=1002%+423%+1.3375%
=3.92
等效CPI2=425%+1.3375%
=2.00
1.1
解釋下列術(shù)語
層次結(jié)構(gòu),計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),計(jì)算機(jī)組成,計(jì)算機(jī)實(shí)現(xiàn),透明性,由上而下設(shè)計(jì),由下而上設(shè)計(jì),由中間向兩邊設(shè)計(jì),軟件兼容,向上兼容,固件,系列機(jī),兼容機(jī),模擬,仿真,虛擬機(jī),宿主機(jī),指令流,數(shù)據(jù)流,單指令流單數(shù)據(jù)流,多指令流多數(shù)據(jù)流,Amdahl定律,CPI,MIPS,MFLOPS。
1.2
每一級(jí)為了執(zhí)行一條指令需要下一級(jí)的N條指令解釋,若執(zhí)行第一級(jí)的一條指令需kns,那么執(zhí)行第2級(jí)、第3級(jí)、第4級(jí)的指令需要多少時(shí)間?
第1級(jí) 1條1級(jí)指令 k ns
第2級(jí) 1條2級(jí)指令 N條1級(jí)指令 1Nk ns = Nk ns
第3級(jí) 1條3級(jí)指令 N條2級(jí)指令 1NNk ns = N2k ns
第4級(jí) 1條4級(jí)指令 N條3級(jí)指令 1NNNk ns = N3k ns
1.4
每一級(jí)指令能完成下一級(jí)的M條指令的工作量,且每一級(jí)指令需要下一級(jí)的N條指令解釋,若執(zhí)行第一級(jí)的一條指令需kns,那么執(zhí)行第2級(jí)、第3級(jí)、第4級(jí)的等效程序需要多少時(shí)間?
第1級(jí) 1條1級(jí)指令 k ns
第2級(jí) 等效程序?yàn)?/M條2級(jí)指令 需N/M條1級(jí)指令解釋 N/Mk ns
第3級(jí) 等效程序?yàn)?/M/M條3級(jí)指令 需NN/M/M條1級(jí)指令解釋 N2/M2 ns
第4級(jí) 等效程序?yàn)?/M/M/M條4級(jí)指令 需NNN/M/M/M條1級(jí)指令解釋 N3/M3 ns
1.6
試以實(shí)例說明計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)組成與計(jì)算機(jī)實(shí)現(xiàn)之間的相互關(guān)系與相互影響。
系統(tǒng)結(jié)構(gòu)、組成和實(shí)現(xiàn)是三個(gè)不同的概念,它們各自包含不同的內(nèi)容,但又有緊密的關(guān)系。
以存儲(chǔ)系統(tǒng)為例,主存儲(chǔ)器容量和尋址方式的確定屬計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),主存的速度應(yīng)多高,在邏輯結(jié)構(gòu)上采用什么措施屬計(jì)算機(jī)組成,而主存的物理實(shí)現(xiàn),如存儲(chǔ)器采用什么樣器件,邏輯電路設(shè)計(jì)和微組裝技術(shù)則屬計(jì)算機(jī)實(shí)現(xiàn)。
1.7
什么是透明性概念?對(duì)計(jì)算機(jī)系統(tǒng)結(jié)構(gòu),下列哪些是透明的?哪些是不透明的?
n 存貯器的模m交叉存取;透明(組成)
n 浮點(diǎn)數(shù)據(jù)表示;不透明(系統(tǒng)結(jié)構(gòu))
n I/O系統(tǒng)是采用通道方式還是I/O處理機(jī)方式;不透明
n 數(shù)據(jù)總線寬度;透明(組成)
n 陣列運(yùn)算部件;透明(組成)
n 通道是采用結(jié)合型的還是獨(dú)立型的;透明(組成)
n PDP-11系列中的單總線結(jié)構(gòu);不透明(系統(tǒng)結(jié)構(gòu))
n 訪問方式保護(hù);不透明(系統(tǒng)結(jié)構(gòu))
n 程序性中斷;不透明(系統(tǒng)結(jié)構(gòu))
n 串行、重疊還是流水控制方式;透明(組成)
n 堆棧指令;存貯最小編址單位;不透明(系統(tǒng)結(jié)構(gòu))
n Cache存貯器。透明(組成)
(1)從指定角度來看,不必要了解的知識(shí)稱為透明性概念。
(2)見下表,“√”為透明性概念。
模m交叉,√,
浮點(diǎn)數(shù)據(jù),,P4
通道與I/O處理機(jī),,P4
總線寬度,√,
陣列運(yùn)算部件,,
結(jié)合型與獨(dú)立型通道,√,
單總線,√,
訪問保護(hù),,
中斷,,
指令控制方式,√,
堆棧指令,,
最小編址單位,,
Cache存儲(chǔ)器,√,
1.8
從機(jī)器(匯編)語言程序員看,以下哪些是透明的?
n 指令地址寄存器;指令緩沖器;時(shí)標(biāo)發(fā)生器;條件碼寄存器;乘法器;主存地址寄存器;磁盤外設(shè);先行進(jìn)位鏈;移位器;通用寄存器;中斷字寄存器。
見下表,“√”為透明性概念
指令地址寄存器,,
指令緩沖器,√,
時(shí)標(biāo)發(fā)生器,√,
條件碼寄存器,,
乘法器,√,
主存地址寄存器,√,
磁盤,,
先行進(jìn)位鏈,√,
移位器,√,
通用寄存器 ,,
中斷字寄存器,,
1.9
見下表,“√”表示都透明,“應(yīng)”表示僅對(duì)應(yīng)用程序員透明,“”表示都不透明。
數(shù)據(jù)通路寬度,√,
虛擬存儲(chǔ)器,應(yīng),
Cache存儲(chǔ)器,√,
程序狀態(tài)字,,
“啟動(dòng)I/O”指令,應(yīng),
“執(zhí)行”指令,,
指令緩沖寄存器,√,
1.12
如果某一計(jì)算任務(wù)用向量方式求解比用標(biāo)量方式求解要快20倍,稱可用向量方式求解部分所花費(fèi)時(shí)間占總的時(shí)間的百分比為可向量化百分比。請(qǐng)畫出加速比與可向量化比例兩者關(guān)系的曲線。
解:可向量化百分比為Fe, Se=20,根據(jù)Amdahl定律
將Se代入Amdahl定律得
1.13
在題1.12中,為達(dá)到加速比2, 可向量化的百分比應(yīng)為多少?
=2
則可向量化的百分比Fe=0.526
1.14
在題1.12中,為獲得采用向量方式最大加速比的半值(即10)時(shí),所需可向量化的百分比為多少。
=10
則可向量化的百分比Fe=0.947
1.15
在題1.12中,如果某程序可向量化部分為70%,硬件設(shè)計(jì)組認(rèn)為可以通過加大工程投資,使向量處理速度加倍來進(jìn)一步增加性能;而編譯程序編寫組認(rèn)為只需設(shè)法增加向量工作方式的百分比就同樣可使性能得到相同的提高,問:此時(shí)需使可向量化成分再增加多少百分比就可實(shí)現(xiàn)。你認(rèn)為上述硬、軟件兩種方法中,哪一種方法更好?
(1)用硬件組方法,已知Se=2 X 20 =40,F(xiàn)e=0.7
解出Sn=40/12.7≈3.1496
(2)用軟件組方法,已知Se=20,得到硬件組方法的相同性能Sn=40/12.7
解出Fe=27.3/38≈0.7184
(3)結(jié)論:軟件組方法更好。因?yàn)橛布M需要將Se再提高100%(20→40),而軟件組只需將Fe再提高1.84%(0.7→0.7184)。
1.16
某計(jì)算機(jī)的高速小容量存儲(chǔ)器能存儲(chǔ)2000條指令。假設(shè)10%的指令承擔(dān)了90%的指令訪問且對(duì)這10%的指令的使用是均勻的(即其中每條指令的執(zhí)行時(shí)間相同)。如果要執(zhí)行的某程序共有50 000條指令且已知其中的10%是頻繁使用的,則當(dāng)該計(jì)算機(jī)執(zhí)行該程序時(shí),在高速小容量存儲(chǔ)器中能訪問到的指令會(huì)占多少百分比?
解:
對(duì)該應(yīng)用程序來說,在90%的時(shí)間里,只有50000*10%=5000條指令在運(yùn)行,其他的45000條指令的平均運(yùn)行次數(shù)很少,因此,可以假設(shè)對(duì)它們來說,Cache總是缺失的.
對(duì)頻繁訪問的這10%的指令,假設(shè)它們?cè)L問均勻,這樣,Cache的行為便可以認(rèn)為是均勻覆蓋了這些指令.所以,
10%的指令承擔(dān)了90%的指令訪問, 指令訪問次數(shù)(50000*10%)/90%
命中次數(shù)2000
Cache的命中率為:H=2000/[(50000*10%)/90%]=0.36
1.17
假設(shè)高速緩存Cache 工作速度為主存的5倍,且Cache被訪問命中的概率為90%,則采用Cache后,能使整個(gè)存儲(chǔ)系統(tǒng)獲得多高的加速比?
解:
1.18
設(shè)計(jì)指令存儲(chǔ)器有兩種不同方案:一是采用價(jià)格較貴的高速存儲(chǔ)器芯片,另一是采用價(jià)格便宜的低速存儲(chǔ)芯片。采用后一方案時(shí),用同樣的經(jīng)費(fèi)可使存儲(chǔ)器總線帶寬加倍,從而每隔2個(gè)時(shí)鐘周期就可取出2條指令(每條指令為單字長32位);而采用前一方案時(shí),每個(gè)時(shí)鐘周期存儲(chǔ)器總線僅取出1條單字長指令。由于訪存空間局部性原理,當(dāng)取出2個(gè)指令字時(shí),通常這2個(gè)指令字都要使用,但仍有25%的時(shí)鐘周期中,取出的2個(gè)指令字中僅有1個(gè)指令字是有用的。試問采用這兩種實(shí)現(xiàn)方案所構(gòu)成的存儲(chǔ)器帶寬為多少?
解:
方案一:采用高速緩沖存儲(chǔ)器,使每個(gè)時(shí)鐘周期存儲(chǔ)器總線取出1條指令,則
存儲(chǔ)器帶寬=1字/時(shí)鐘周期=32位/時(shí)鐘周期
方案二:使存儲(chǔ)器總線帶寬加倍,從而每隔2個(gè)時(shí)鐘周期就可取出2條指令(每條指令為單字長32位),但仍有25%的時(shí)鐘周期中,取出的2個(gè)指令字中僅有1個(gè)指令字是有用的,則
1.19
用一臺(tái)40MHz處理機(jī)執(zhí)行標(biāo)準(zhǔn)測(cè)試程序,它含的混合指令數(shù)和相應(yīng)所需的時(shí)鐘周期數(shù)如下:
指令類型 指令數(shù) 時(shí)鐘周期數(shù)
整數(shù)運(yùn)算 45000 1
數(shù)據(jù)傳送 32000 2
浮點(diǎn) 15000 2
控制傳送 8000 2
求有效CPI、MIPS速率和程序的執(zhí)行時(shí)間。
1.20
某工作站采用時(shí)鐘頻率為15MHz、處理速率為10MIPS的處理機(jī)來執(zhí)行一個(gè)已知混合程序。假定每次存儲(chǔ)器存取為1周期延遲、試問:
(a) 此計(jì)算機(jī)的有效CPI是多少?
(b) 假定將處理機(jī)的時(shí)鐘提高到30MHz,但存儲(chǔ)器子系統(tǒng)速率不變。這樣,每次存儲(chǔ)器存取需要兩個(gè)時(shí)鐘周期。如果30%指令每條只需要一次存儲(chǔ)存取,而另外5%每條需要兩次存儲(chǔ)存取,還假定已知混合程序的指令數(shù)不變,并與原工作站兼容,試求改進(jìn)后的處理機(jī)性能。
解:(a) f==15MHz , MIPS=10, 每次存取時(shí)間為2個(gè)時(shí)鐘周期
(b)
30%指令每條只需要一次存儲(chǔ)存取,改進(jìn)前共需1周期,改進(jìn)后共需2周期
而另外5%每條需要兩次存儲(chǔ)存取,改進(jìn)前共需2周期,改進(jìn)后共需4周期
1.21
假設(shè)在一臺(tái)40MHz處理機(jī)上運(yùn)行200000條指令的目標(biāo)代碼,程序主要由四種指令組成。根據(jù)程序跟蹤實(shí)驗(yàn)結(jié)果,已知指令混合比和每種指令所需的指令數(shù)如下:
指令類型 CPI 指令混合比
算術(shù)和邏輯 1 60%
高速緩存命中的加載/存儲(chǔ) 2 18%
轉(zhuǎn)移 4 12%
高速緩存缺失的存儲(chǔ)器訪問 8 10%
(a) 計(jì)算在單處理機(jī)上用上述跟蹤數(shù)據(jù)運(yùn)行程序的平均CPI
(b) 根據(jù)(a)所得CPI,計(jì)算相應(yīng)的MIPS速率。
解:
(1)
(2)
1.24
假定你是一個(gè)計(jì)算機(jī)設(shè)計(jì)者,對(duì)高級(jí)語言結(jié)構(gòu)的使用研究表明,過程調(diào)用是最常用的操作之一。你已設(shè)想了一個(gè)優(yōu)化設(shè)計(jì)方案,它能減少過程調(diào)用和返回所需的取/存指令次數(shù)。為了進(jìn)行驗(yàn)證,對(duì)未加優(yōu)化和已優(yōu)化的方案進(jìn)行實(shí)驗(yàn)測(cè)試,假定所使用的是相同的優(yōu)化編譯器。實(shí)驗(yàn)測(cè)得的結(jié)果如下:
(1)未優(yōu)化的時(shí)鐘周期比優(yōu)化的快5%;
(2)未優(yōu)化方案中的取/存指令數(shù)占總指令數(shù)的30%;
(3)優(yōu)化方案中的取/存指令數(shù)比未優(yōu)化的少1/3,對(duì)于其他指令,兩種方案的動(dòng)態(tài)執(zhí)行數(shù)沒有變化;
(4)所有指令,包括取/存指令,均只需要1個(gè)時(shí)鐘周期。
要求你定量地判斷,哪一種設(shè)計(jì)方案的計(jì)算機(jī)工作速度更快。
解:
記新方案時(shí)鐘周期為Tc,已知CPI = CPIi = 1
原時(shí)間 = CPI IC 0.95Tc = 0.95ICTc
新時(shí)間 = (0.32/3+0.7) IC Tc = 0.9ICTc
二者比較,新時(shí)間較短。
1.A1
某臺(tái)計(jì)算機(jī)只有Load/Store 指令能對(duì)存儲(chǔ)器進(jìn)行讀/寫操作,其它指令只對(duì)寄存器進(jìn)行操作。根據(jù)程序跟蹤實(shí)驗(yàn)結(jié)果,已知每種指令所占的比例及CPI數(shù)如下:
指令類型 指令所占比例 CPI
算邏指令 43% 1
Load指令 21% 2
Store指令 12% 2
轉(zhuǎn)移指令 24% 2
(1) 求上述情況下的平均CPI。
(2) 假設(shè)程序有M條指令組成。算邏運(yùn)算中25%的指令的兩個(gè)操作數(shù)中的一個(gè)已在寄存器中,另一個(gè)必須在算邏指令執(zhí)行前用Load指令從存儲(chǔ)器取到寄存器。因此有人建議增加另一種算邏指令,其特點(diǎn)是一個(gè)操作數(shù)取自寄存器,另一個(gè)操作數(shù)取自存儲(chǔ)器,即寄存器存儲(chǔ)器類型,假設(shè)這種指令的CPI等于2。同時(shí),轉(zhuǎn)移指令的CPI變?yōu)?。求新指令系統(tǒng)的平均CPI。
解:
(1)
CPI舊=(0.431+0.212+0.122+0.242)=1.57
(2)
原算邏指令中的25%變成了寄存器存儲(chǔ)器型指令,所以算邏指令(寄存器寄存器型)少了(0.250.43)M 條,Load指令少了(0.250.43)M 條,而(0.250.43)M 條的新指令為寄存器存儲(chǔ)器型指令。指令總數(shù)少了(0.2543%)M條。
設(shè)執(zhí)行算邏指令(寄存器寄存器型) 、 Load指令、算邏指令(寄存器存儲(chǔ)器型) 、 Store指令和轉(zhuǎn)移指令的周期總數(shù)分別為C1,C2,C3,C4,C5,所以:
C1=(0.43-(0.250.43))M1=0.3225M
C2=(0.21-(0.250.43))M2=0.205M
C3=(0.250.43)M2=0.215M
C4=0.12M2=0.24M
C5=0.243M=0.72M
新指令總數(shù)N=(1-(0.250.43))M=0.892
CPI新=(C1+C2+C3+C4+C5)/ N
=1.7025M/0.8925M
=1.908
1.A2
計(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)比例分別為30%、30%和20%,三個(gè)部件同時(shí)改進(jìn),那么系統(tǒng)
中不可加速部分的執(zhí)行時(shí)間在總執(zhí)行時(shí)間中占的比例是多少?
(3)如果相對(duì)某個(gè)測(cè)試程序三個(gè)部件的可改進(jìn)比例分別為20%,20%和70%,要達(dá)到最好
改進(jìn)效果,僅對(duì)一個(gè)部件改進(jìn)時(shí),要選擇哪個(gè)部件?如果允許改進(jìn)兩個(gè)部件,又如何
選擇?
1.A3
在某個(gè)程序中,簡單指令占80%,復(fù)雜指令占20%,在CISC機(jī)中簡單指令執(zhí)行需4個(gè)機(jī)器周期,復(fù)雜指令執(zhí)行需8個(gè)機(jī)器周期。RISC機(jī)中簡單指令執(zhí)行只需1個(gè)機(jī)器周期,而復(fù)雜指令要通過一串指令來實(shí)現(xiàn)。假定復(fù)雜指令平均需要14條簡單指令,即需要14個(gè)周期,若該程序中需要執(zhí)行的總指令數(shù)為1 000 000,Tc為100ns,那么
(1)RISC機(jī)需執(zhí)行的指令數(shù)為多少?
(2)CISC和RISC機(jī)的CPU時(shí)間分別為多少?
(3)RISC機(jī)對(duì)CISC的加速比為多少?
2.2 第二章(P124)
2.3
忽略P124倒1行 ~ P125第8行文字,以簡化題意)已知2種浮點(diǎn)數(shù),求性能指標(biāo)。
此題關(guān)鍵是分析階碼、尾數(shù)各自的最大值、最小值。
原圖為數(shù)據(jù)在內(nèi)存中的格式,階碼的小數(shù)點(diǎn)在其右端,尾數(shù)的小數(shù)點(diǎn)在其左端,遵守規(guī)格化要求。
由于尾數(shù)均為原碼,原碼的絕對(duì)值與符號(hào)位無關(guān),所以最大正數(shù)與最小負(fù)數(shù)的絕對(duì)值相同,可用“最大絕對(duì)值”回答;最小正數(shù)與最大負(fù)數(shù)的絕對(duì)值相同,可用“最小絕對(duì)值”回答。
第1小問中,階碼全部位數(shù)為8,作無符號(hào)數(shù)看待真值為0~255,作移-127碼看待真值為-127~+128;尾數(shù)(不計(jì)符號(hào)位)有23位小數(shù),另加1位整數(shù)隱藏位,所以尾數(shù)絕對(duì)值為1.0~2.0 – 2-23,有效位數(shù)p=24;
第2小問中,階碼全部位數(shù)為11,作無符號(hào)數(shù)看待真值為0~2047,作移-1023碼看待真值為-1023~+1024;尾數(shù)(不計(jì)符號(hào)位)有52位小數(shù),另加1位整數(shù)隱藏位,所以尾數(shù)絕對(duì)值為1.0~2.0 – 2-52,有效位數(shù)p=53。
最大絕對(duì)值為最大階碼與最大尾數(shù)絕對(duì)值的組合,最小絕對(duì)值為最小階碼與最小尾數(shù)絕對(duì)值的組合。代入相關(guān)公式后得最終結(jié)果如下表。
32位
64位
最大絕對(duì)值
(1-2-24)2129
(1-2-53)21025
最小絕對(duì)值
2-127
2-1023
表數(shù)精度δ
2-24
2-53
表數(shù)效率η
100%
100%
2.5
(1) rm = 2,re = 2,p = 24(隱藏最高位),q = 7。
(2) Nmax = 1.71038,-|N|min = -1.4710-39
δ ≤ 5.9610-8 ≈ 10-7.22,η = 100%
2.6
1位
7位
6位
0
0111111
333333
(1) 0.2 = 0.333333H160
設(shè)階碼為移-63碼(即-26+1,原題未指明)
0.2 = 0.110011001100110011001101B2-2
1位
8位
23位
0
01111101
10011001100110011001101
(其中最高有效位需隱藏)
階碼為移-127碼(即-27+1)
(2) 符號(hào)位不變,(階碼 – 63)4 + 127;尾數(shù)左規(guī),除去最高位;
(3) 符號(hào)位不變,(階碼 – 127)/ 4 + 63;尾數(shù)補(bǔ)最高位,按除法余數(shù)右移若干位,左補(bǔ)0。
2.13
已知10條指令使用頻度,求3種編碼方法的平均碼長與信息冗余量。
(1)此問中的“最優(yōu)Huffman編碼法”實(shí)際是指碼長下限,即信源的平均信息量──熵,代公式得H=2.9566。
(2)Huffman編碼性能如下表;
(3)2/8擴(kuò)展編碼是8/64/512法的變種,第一組2條指令,碼長為2(1位擴(kuò)展標(biāo)志,1位編碼),第二組8條指令,碼長為4(1位擴(kuò)展標(biāo)志,與第一組區(qū)別,加3位編碼),編碼性能如下表;
(4)3/7擴(kuò)展編碼是15/15/15法的變種,第一組3條指令,碼長為2(共有4種組合,其中3種組合分別代表3條指令,留1種組合作為擴(kuò)展前綴標(biāo)志),第二組7條指令,碼長為5(2位固定的前綴擴(kuò)展標(biāo)志,與第一組區(qū)別,加3位編碼,只用其中7種組合),編碼性能如下表。
Huffman編碼
2/8擴(kuò)展編碼
3/7擴(kuò)展編碼
平均碼長L
2.99
3.1
3.2
信息冗余量R
1.10%
4.61%
7.59%
2.14
一臺(tái)模型機(jī)共有7條指令,各指令的使用頻率分別為35%,25%,20%,10%,5%,3%和2%,有8個(gè)通用數(shù)據(jù)寄存器,2個(gè)變址寄存器。
(1)要求操作碼的平均長度最短,請(qǐng)?jiān)O(shè)計(jì)操作碼的編碼,并計(jì)算所設(shè)計(jì)操作碼的平均長度。
(2)設(shè)計(jì)8字長的寄存器-寄存器型指令3條,16位字長的寄存器-存儲(chǔ)器型變址尋址方式指令4條,變址范圍不小于127。請(qǐng)?jiān)O(shè)計(jì)指令格式,并給出各字段的長度和操作碼的編碼。
解:
(1)要使得到的操作碼長度最短,應(yīng)采用Huffman編碼,構(gòu)造Huffman樹如下:
由此可以得到7條指令的編碼分別如下:
這樣,采用Huffman編碼法得到的操作碼的平均長度為:
H = 2(0.35+0.25+0.20) + 30.10 + 4 0.05
+ 5(0.03 + 0.02)
= 1.6+0.3+0.2+0.25
=2.35
(2)
設(shè)計(jì)8位字長的寄存器-寄存器型變址尋址方式指令如下,因?yàn)橹挥?個(gè)通用寄存器,所以寄存器地址需3位,操作碼只有兩位,設(shè)計(jì)格式如下:
三條指令的操作碼分別為00,01,10
設(shè)計(jì)16位字長的寄存器-存儲(chǔ)器型變址尋址方式指令如下:
四條指令的操作碼分別為1100,1101,1110,1111
2.15
某處理機(jī)的指令字長為16位,有雙地址指令、單地址指令和零地址指令三類,并假設(shè)每個(gè)地址字段的長度均為6位。
(1)如果雙地址指令有15條,單地址指令和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。
(2)如果要求三類指令的比例大致為1:9:9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。
解:
(1) 15條/63條/64條
(2) 14條/126條/128條
(1)根據(jù)指令地址的數(shù)量來決定各種指令在指令空間上的分布:
如果我們按照從小到大的順序分配操作碼,這樣,按照指令數(shù)值從小到大的順序,分別為雙地址指令、單地址指令和零地址指令。
其次可以根據(jù)指令的條數(shù)來大致的估計(jì)操作碼的長度:
雙指令15條,需要4位操作碼來區(qū)分,剩下的12位操作碼平均分給單地址和零地址指令,每種指令可以用6位操作碼來區(qū)分,這樣,各指令的條數(shù)為:
雙地址指令15條,操作碼:0000~1110;
單地址指令2^6-1=63條,操作碼:1111 000000~1111 111110;
零地址指令64條,操作碼:1111 111111 000000~1111 111111 111111。
(2)與上面的分析相同,可以得出答案:
雙地址指令14條,操作碼:0000~1101;
單地址指令2^6 x 2-2 = 126條,
1110 000000~1110 111110,
1111 000000~1111 111110;
零地址指令128條
1110 111111 000000~1110 111111 111111,
1111 111111 000000~1111 111111 111111
(2)B
雙地址指令同上,14條,操作碼:0000~1101;
單地址指令64 + 62 = 126條,
64 條單地址指令操作碼1110 000000~1110 111111,
62 條單地址指令操作碼1111 000000~1111 111101;
零地址指令128條
1111 111110 000000~1110 111110 111111,
1111 111111 000000~1111 111111 111111
2.3 第三章(P202)
例3.1
假設(shè)T2=5T1,在命中率H為0.9和0.99兩種情況下,分別計(jì)算存儲(chǔ)系統(tǒng)的訪問效率。
解:
當(dāng)H=0.9時(shí),e1=1/(0.9+5(1-0.9))=0.72
當(dāng)H=0.99時(shí),e2=1/(0.99+5(1-0.99))=0.96
提高存儲(chǔ)系統(tǒng)速度的兩條途徑:
一是提高命中率H
二是兩個(gè)存儲(chǔ)器的速度不要相差太大
其中:第二條有時(shí)做不到(如虛擬存儲(chǔ)器),因此,主要依靠提高命中率
例3.2
在虛擬存儲(chǔ)系統(tǒng)中,兩級(jí)存儲(chǔ)器的速度相差特別懸殊T2=105 T1。如果要使訪問效率e=0.9,問需要有多高的命中率?
解:
0.9H+90000(1-H)=1
89999.1H=89999
計(jì)算得H=0.999998888877777…≈0.999999
例3.3
在一個(gè)Cache存儲(chǔ)系統(tǒng)中,當(dāng)Cache的塊大小為一個(gè)字時(shí),命中率為H=0.8;假設(shè)數(shù)據(jù)的重復(fù)利用率為5,計(jì)算Cache的塊大小為4個(gè)字時(shí),Cache存儲(chǔ)系統(tǒng)的命中率是多少?假設(shè)T2=5T1,分別計(jì)算訪問效率。
解:n=45=20,采用預(yù)取技術(shù)之后,命中率提高到:
Cache的塊大小為一個(gè)字時(shí),H=0.8,訪問效率為:
e1=1/(0.8+5(1-0.8))=0.55…
Cache的塊大小為4個(gè)字時(shí),H=0.99,訪問效率為:
e2=1/(0.99+5(1-0.99))=0.96
例3.4
在一個(gè)虛擬存儲(chǔ)系統(tǒng)中,T2=105 T1,原來的命中率只有0.8,現(xiàn)采用預(yù)取技術(shù),訪問磁盤存儲(chǔ)器的數(shù)據(jù)塊大小為4K字,如果要求訪問效率不低于0.9,計(jì)算數(shù)據(jù)在主存儲(chǔ)器中的重復(fù)利用率至少為多少?
解:假設(shè)數(shù)據(jù)在主存儲(chǔ)器中的重復(fù)利用率為m,根據(jù)前面的給出關(guān)系:
解這個(gè)方程組,得到m=44,即數(shù)據(jù)在主存儲(chǔ)器中的重復(fù)利用率至少為44次。
例3.6
Star-100巨型機(jī)存儲(chǔ)系統(tǒng)采用并行和交叉相結(jié)合的方式工作,有32個(gè)存儲(chǔ)體低位交叉,每次并行讀寫512位,存儲(chǔ)周期為1.28um(磁心存儲(chǔ)器),處理機(jī)字長32位,計(jì)算它的頻帶寬度Bm和峰值速度T。
解:因?yàn)椋簄=32,w=512,Tm=1280ns,
Bm=n w/tm=32512b/1280ns
=12.8Gb/s
=1.6GB/s
=400MW/s
T=2.5ns,
與Tm相比,峰值速度提高512倍。
例3.8
一個(gè)程序共有5個(gè)頁面組成,分別為P1~P5。程序執(zhí)行過程中的頁地址流(即程序執(zhí)行中依次用到的頁面)如下:
P1,P2,P1,P5,P5,P1,P3,P4,P3,P4
假設(shè)分配給這個(gè)程序的主存儲(chǔ)器共有3個(gè)頁面。給出FIFO、LRU和OPT三種頁面替換算法對(duì)這3頁主存的使用情況,包括調(diào)入、替換和命中等。
時(shí)間t
1
2
3
4
5
6
7
8
9
10
實(shí)際
頁地址流
P1
P2
P1
P5
P4
P1
P3
P4
P2
P4
命中次數(shù)
1
1
1
1*
4
4
4*
4*
2
2
先進(jìn)先出算法
2
2
2
2*
1
1
1
1*
4
(FIFO算法)
5
5
5*
3
3
3
3*
調(diào)入
調(diào)入
命中
調(diào)入
替換
替換
替換
命中
替換
替換
2次
1
1
1
1
1
1
1
1*
2
2
最久沒有使用算法
2
2
2*
4
4
4*
4
4
4
(LRU算法)
5
5*
5*
3
3
3*
3*
調(diào)入
調(diào)入
命中
調(diào)入
替換
命中
替換
命中
替換
命中
4次
1
1
1
1
1
1*
3*
3*
3
3
最優(yōu)替換算法
2
2
2
2*
2
2
2
2
2
(OPT算法)
5*
4
4
4
4
4
4
調(diào)入
調(diào)入
命中
調(diào)入
替換
命中
替換
命中
命中
命中
5次
三種頁面替換算法對(duì)同一個(gè)頁地址流的調(diào)度過程
例3.9
一個(gè)循環(huán)程序,依次使用P1,P2,P3,P4四個(gè)頁面,分配給這個(gè)程序的主存頁面數(shù)為3個(gè)。FIFO、LRU和OPT三種頁面替換算法對(duì)主存頁面的調(diào)度情況如下圖所示。在FIFO和LRU算法中,總是發(fā)生下次就要使用的頁面本次被替換出去的情況,這就是“顛簸”現(xiàn)象。
時(shí)間t
1
2
3
4
5
6
7
8
實(shí)際
頁地址流
P1
P2
P3
P4
P1
P2
P3
P4
命中次數(shù)
1
1
1*
4
4
4*
3
3
先進(jìn)先出算法
2
2
2*
1
1
1*
4
(FIFO算法)
3
3
3*
2
2
2*
調(diào)入
調(diào)入
調(diào)入
替換
替換
替換
替換
替換
0次
1
1
1*
4
4
4*
3
3
最久沒有使用算法
2
2
2*
1
1
1*
4
(LRU算法)
3
3
3*
2
2
2*
調(diào)入
調(diào)入
調(diào)入
替換
替換
替換
替換
替換
0次
1
1
1
1
1*
1
1
1
最優(yōu)替換算法
2
2
2
2
2*
3*
3
(OPT算法)
3*
4*
4
4
4
4*
調(diào)入
調(diào)入
調(diào)入
替換
命中
命中
替換
命中
3次
頁面調(diào)度中的顛簸現(xiàn)象
3.1
由三個(gè)訪問速度、存儲(chǔ)容量和每位價(jià)格都不相同的存儲(chǔ)器構(gòu)成一個(gè)存儲(chǔ)體系。其中,M1靠近CPU,回答下列問題:
M1
(T1,S1,C1)
M2
(T2,S2,C2)
M3
(T3,S3,C3)
(1) 寫出這個(gè)三級(jí)存儲(chǔ)體系的等效訪問時(shí)間T,等效存儲(chǔ)容量S和等效每位價(jià)格C的表達(dá)式。
(2)在什么條件下,整個(gè)存儲(chǔ)體系的每位價(jià)格接近于C3?
3.3
直接代公式計(jì)算存儲(chǔ)層次性能指標(biāo)。
(1)74ns,38ns,23.6ns
(2)0.258,0.315,0.424
(3)T256K < T128K < T64K
c256K > c128K > c64K
(4)19.092,11.97,10.0064。答案是256K方案最優(yōu)。
3.5
已知,其中g(shù)=0.1
依題意有
整理得0.9n≥0.2,解出,向下取整,得15;
按另一種題意理解是向上取整,得16,也對(duì)。
3.7
方式1:16個(gè)模塊高位交叉
方式2:16個(gè)模塊并行訪問
方式3:16個(gè)模塊低位交叉
方式4:2路高位交叉8路低位交叉
16個(gè)存儲(chǔ)模塊每8個(gè)組成一個(gè)大的模塊:
方式5:4路高位交叉4路低位交叉
16個(gè)存儲(chǔ)模塊每4個(gè)組成一個(gè)大的模塊:
方式6:4路并行訪問4路低位交叉
(1)這幾種存儲(chǔ)器都能夠并行工作,因此可以提高頻帶寬度。總的來說,并行訪問存儲(chǔ)器的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單、容易,缺點(diǎn)是訪問沖突大;
高位交叉訪問存儲(chǔ)器的優(yōu)點(diǎn)是擴(kuò)充方便,缺點(diǎn)是訪問效率不高;低位交叉訪問存儲(chǔ)器可以用分時(shí)的方法來提高速度,但擴(kuò)充不方便。
(2)各種存儲(chǔ)器的頻帶寬度和他們的工作頻率有關(guān),在不考慮沖突的情況下,如果有足夠多的獨(dú)立控制電路和寄存器,那么,他們的頻帶寬度是相同的。
(3)存儲(chǔ)器的邏輯示意圖略。
注意,并行訪問存儲(chǔ)器和低位交叉訪問存儲(chǔ)器很相象,只不過,并行訪問存儲(chǔ)器使用存儲(chǔ)模塊號(hào)(存儲(chǔ)體號(hào))來對(duì)已經(jīng)輸出的結(jié)果進(jìn)行選擇,而低位交叉訪問存儲(chǔ)器則用來生成對(duì)存儲(chǔ)模塊(存儲(chǔ)體)的片選信號(hào),他通過流水的方式來提高訪問的速度。
3.14
在頁式虛擬存儲(chǔ)器中,一個(gè)程序由P1~P5共5個(gè)虛頁組成。在程序執(zhí)行過程中依次訪問到的頁面如下:
P2 ,P3,P2,P1 ,P5 ,P2 ,P4 ,P5 ,P3 ,P2 ,P5 ,P2
假設(shè)系統(tǒng)分配給這個(gè)程序的主存有3個(gè)頁面,分別采用FIFO、LRU和OPT三種替換算法對(duì)這三頁主存進(jìn)行調(diào)度。
(1) 畫出主存頁面調(diào)入、替換和命中的情況表。
(2) 統(tǒng)計(jì)三種頁面替換算法的頁命中率。
3.15
(1)在分配的主存頁面數(shù)目大于等于5的情況下,這時(shí),除了第一次調(diào)入不命中,以后的訪問均命中,可以達(dá)到最高的頁面命中率:實(shí)際命中的次數(shù)為7次,所以可能達(dá)到的最高頁面命中率為:
(2)由于在頁面數(shù)大于等于5的情況下,肯定可以達(dá)到最高命中率,所以我們來看頁面數(shù)小于5時(shí)能否達(dá)到該命中率:
分配的主存頁面數(shù)等于4時(shí),調(diào)度過程如下:
LFU算法
4
4
4
4
4*
1
1
1
1
1*
1
1
命中7次
5
5
5*
5
5
5
5
5*
5
5
5
3
3
3
3*
3
3*
3
3
3*
3
2
2
2
2*
2
2
2
2
2
調(diào)入
調(diào)入
調(diào)入
調(diào)入
命中
調(diào)入
命中
命中
命中
命中
命中
命中
此時(shí)也可以達(dá)到最高命中率;
分配的主存頁面等于3時(shí),調(diào)度過程如下:
LFU算法
4
4
4*
2
2
2*
3
3*
3
3
3*
3
命中3次
5
5
5*
5
5
5*
2
2
2*
1
1
3
3
3*
1
1
1
1*
5
5
5
調(diào)入
調(diào)入
調(diào)入
調(diào)入
命中
調(diào)入
調(diào)入
調(diào)入
命中
調(diào)入
調(diào)入
命中
此時(shí)不能達(dá)到最高命中率。
所以至少應(yīng)該分配4個(gè)主存頁面。
(3) 我們假設(shè)程序每次只訪問一個(gè)存儲(chǔ)單元,這樣,對(duì)每一個(gè)特定頁面的訪問過程可以描述如下:
因?yàn)榈谝淮慰偸遣幻械?,而平均起來,隨后的1023次總是命中的,然后再次被調(diào)出主存,并再次重復(fù)先前的過程。
所以訪問存儲(chǔ)單元的命中率為:
欲知可能的最高命中率及所需的最少主存頁數(shù),較好的辦法是通過“堆棧模擬法”,求得命中次數(shù)隨主存頁數(shù)變化的函數(shù)關(guān)系。下圖就是“堆棧模擬圖”,其中“√”表示命中。
P=
4
5
3
2
5
1
3
2
3
5
1
3
命中次數(shù)
4
5
3
2
5
1
3
2
3
5
1
3
4
5
3
2
5
1
3
2
3
5
1
4
5
3
2
5
1
1
2
3
5
4
4
3
2
5
5
1
2
2
4
4
4
4
4
4
4
n=1
0
n=2
√
1
n=3
√
√
√
3
n=4
√
√
√
√
√
√
√
7
n=5
√
√
√
√
√
√
√
7
(1)Hmax=7/12≈58.3%
(2)n=4
(3)當(dāng)1次頁面訪問代表連續(xù)1024次該頁內(nèi)存儲(chǔ)單元訪問時(shí),后1023次單元訪問肯定是命中的,而第1次單元訪問的命中情況與這1次頁面訪問的命中情況相同。根據(jù)上圖中最高命中情況,共有7次頁命中(折算為71024次單元命中),5次頁不命中(折算為51023次單元命中,也可寫為51024-5),單元訪問總次數(shù)為121024,故有:
Hcell=(121024-5)/(121024)=12283/12288≈99.96%
3.15A
加1題 一個(gè)二級(jí)存儲(chǔ)層次,采用全相聯(lián)映象和最久沒有使用算法,實(shí)存共5頁,為2道程序分享,頁地址流分別如下
P1 = 1 2 3 4 1 3 2 1
P2 = 1 2 3 4 2 2 3 3
試作2個(gè)實(shí)存分配方案,分別使2道程序滿足
(1)命中率相同;
(2)命中次數(shù)之和最大。
P1 =
1
2
3
4
1
3
2
1
命中次數(shù)N(1)
1
2
3
4
1
3
2
1
1
2
3
4
1
3
2
1
2
3
4
1
3
1
2
2
4
4
n1= 1
0
n1= 2
0
n1= 3
√
√
2
n1= 4
√
√
√
√
4
解:分別為2道程序作“堆棧模擬圖”,其中“√”表示命中。
P2 =
1
2
3
4
2
2
3
3
命中次數(shù)N(2)
1
2
3
4
2
2
3
3
1
2
3
4
4
2
2
1
2
3
3
4
4
1
1
1
1
1
n2= 1
√
√
2
n2= 2
√
√
2
n2= 3
√
√
√
√
4
n2= 4
√
√
√
√
4
6
5 N(1)+N(2)
4
3
2 N(1) N(2)
1
1+4 2+3 3+2 4+1
將兩圖結(jié)果綜合,得到4個(gè)分配方案的命中率情況表如下
n1
1
2
3
4
N(1)
0
0
2
4
n2
4
3
2
1
N(2)
4
4
2
2
N(1)+N(2)
4
4
4
6
結(jié)論如下
(1)命中率相同的方案是n1= 3而n2= 2;
(2)命中次數(shù)之和最大的方案是n1= 4而n2= 1。
3.19
(1)主存共有2個(gè)區(qū),每個(gè)區(qū)2組,每個(gè)組2塊,每塊16個(gè)字節(jié),如果按字節(jié)尋址,那么主存需要7位,如下圖所示:
(2)Cache地址需要6位,如下圖所示:
中(3)(4)(6)(8)問
虛存 實(shí)頁 0 1 2 3
虛組0 0 0 √ √
1 實(shí)存 1 √ √
虛組1 2 0 實(shí)組0 2 √ √
3 1 虛 3 √ √
虛組2 4 2 實(shí)組1 頁 4 √ √
5 3 5 √ √
虛組3 6 6 √ √
7 7 √ √
(a) 虛頁集合與實(shí)頁集合的對(duì)應(yīng)關(guān)系 (b) 對(duì)應(yīng)關(guān)系表(√為有關(guān)系)
(3)
(4)通過作“實(shí)存狀況圖”模擬各虛塊的調(diào)度情況,可獲得Cache的塊地址流序列。
P=
6
2
4
1
4
6
3
0
4
5
7
3
C0
4
4*
4
4
4
4*
4
4*
4*
4*
C1
1
1*
1*
1*
0
0*
5
5
5
C2
6
6*
6*
6*
6*
6
6*
6*
6*
6*
7
7*
C3
2
2
2
2
2*
3
3
3
3
3*
3
入
入
入
入
中
中
替
替
中
替
替
中
C=
2
3
0
1
0
2
3
1
0
1
2
3
此問最容易出錯(cuò)的地方是忽略“組相聯(lián)”地址約束,將虛頁裝錯(cuò)實(shí)組。另外沒有及時(shí)標(biāo)注“*”號(hào)也容易導(dǎo)致淘汰對(duì)象錯(cuò)誤。
(6)H=4/12≈33%
(8)做法同3.15題(3)問,Hcell=(1216-8)/(1216)≈95.8%
2.4 第四章(P250)
4.5
已知中斷服務(wù)次序?yàn)?-2-4-1,。
(1)中斷屏蔽字表如下圖;
D1
D2
D3
D4
D1
0
1
1
1
D2
0
0
1
0
D3
0
0
0
0
D4
0
1
1
0
(2)中斷過程示意圖如右圖。
時(shí)間 中斷請(qǐng)求 主程序 1級(jí) 2級(jí) 3級(jí) 4級(jí)
D1,D2
D3,D4
4.8
(1)f=2105字節(jié)/秒,T=5us
(2)Ts+Td=5us,通道時(shí)間圖如下。作圖時(shí)注意:至少要畫到最慢設(shè)備的第二次請(qǐng)求出現(xiàn),才能確定是否丟失數(shù)據(jù)(因?yàn)轫憫?yīng)優(yōu)先級(jí)低的設(shè)備較易丟失數(shù)據(jù))。
設(shè) 優(yōu)
備 先
號(hào) 級(jí)
D1 1
D2 4
D3 2
D4 3
時(shí)間
(us) 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170
(3)5,160,20,40;
(4)D2丟失第一次請(qǐng)求的數(shù)據(jù);
(5)參見P245。
2.5 第五章(P343)
例5.1
一個(gè)采用先行控制方式的處理機(jī),指令分析器分析一條指令用一個(gè)周期,到主存儲(chǔ)器中取一條指令裝入先行指令緩沖棧平均要用4個(gè)周期。如果這種指令的
鏈接地址:http://m.appdesigncorp.com/p-12810139.html