計算機(jī)體系結(jié)構(gòu)計算題示例答案_第1頁
計算機(jī)體系結(jié)構(gòu)計算題示例答案_第2頁
計算機(jī)體系結(jié)構(gòu)計算題示例答案_第3頁
計算機(jī)體系結(jié)構(gòu)計算題示例答案_第4頁
計算機(jī)體系結(jié)構(gòu)計算題示例答案_第5頁
已閱讀5頁,還剩130頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機(jī)系統(tǒng)結(jié)構(gòu)作業(yè)題解第1章作1.2如有一個經(jīng)解釋實現(xiàn)的計算機(jī),可以按功能劃分成4級。每一級為了執(zhí)行一條指令需要下一級的N條指令解釋。若執(zhí)行第一級的一條指令需K(ns)時間,那么執(zhí)行第2、3、4級的一條指令各需要用多少時間(ns)?解:∵第二級的一條指令需第1級的N條指令解釋∴第二級的一條指令執(zhí)行時間為NKns;第三級的一條指令執(zhí)行時間為N2Kns;第四級的一條指令執(zhí)行時間為N3Kns。本題有兩個問題應(yīng)特別注意:第一個問題是“上

一級”與“下一級”的關(guān)系,即哪是上一級,哪是下一級?在圖1.1中第3級是第2級的“上一級”,第1級又是第2級的“下一級”。第二個問題是該計算機(jī)是一個“經(jīng)解釋實現(xiàn)的計算機(jī)”,上一級的程序在下一級上實現(xiàn)不是經(jīng)翻譯完成,只能是解釋。N條指令解釋N2條指令解釋

N3條指令解釋第4級第3級第2級第1級一條指令上級下級作1.3有一個計算機(jī)系統(tǒng)可按功能劃分成4級,各級的指令都不相同,每一級的指令都比其下一圾的指令在效能上強(qiáng)M倍,即第i級的一條指令能完成第i-1級的M條指令的計算量?,F(xiàn)若需第i級的N條指令解釋第i+1級的一條指令,而有一段第1級的程序需要運行Ks,問在第2、3和4級上的一段等效程序各需要運行多長時間

(s)?解:第2級上的一段等效程序運行時間為:第3級上的一段等效程序運行時間為:第4級上的一段等效程序運行時間為:作1.7從機(jī)器(匯編)語言程序員看,哪些對應(yīng)用程序員透明?指令地址寄存器,指令緩沖器,時標(biāo)發(fā)生器,條件碼寄存器,乘法器,主存地址寄存器,磁盤外設(shè),先行進(jìn)位鏈,移位器,通用寄存器,中斷字寄存器。答:對機(jī)器語言程序員透明,指的是這些器件是機(jī)器語言程序員不可修改、不可控制。因此指令緩沖器,時標(biāo)發(fā)生器,乘法器,先行進(jìn)位鏈,移位器。作1.6什么是透明性概念?對計算機(jī)系統(tǒng)結(jié)構(gòu),下列哪些是透明的?哪些是不透明的?存貯器的模m交叉存取;浮點數(shù)據(jù)表示;I/O系統(tǒng)是采用通道方式還是外圍處理機(jī)方式;數(shù)據(jù)總線寬度;字符行運算指令;陣列運算部件;通道是采用結(jié)合型的還是獨立型的;PDP一1l系列中的單總線結(jié)構(gòu);訪問方式保護(hù);程序性中斷;串行、重疊還是流水控制方式;堆棧指令;存貯囂最小編址單位;

Cache存貯器。分析:有關(guān)系統(tǒng)結(jié)構(gòu)屬性所包括的內(nèi)容,對系統(tǒng)結(jié)構(gòu)都不透明。對于計算機(jī)系統(tǒng)結(jié)構(gòu)透明的是:存儲器的模m交叉存取、數(shù)據(jù)總線寬度、陣列運算部件、通道是采用結(jié)合型還是獨立型、PDP-11系列的單總線結(jié)構(gòu)、串行、重疊還是流水控制方式、Cache存儲器。對于計算機(jī)系統(tǒng)結(jié)構(gòu)不透明的是:浮點數(shù)據(jù)表示、I/O系統(tǒng)是采用通道方式還是外圍處理機(jī)方式、字符型運算指令、訪問方式保護(hù)、程序性中斷、堆棧指令、存儲器最小編址單位。例1.1假設(shè)將某系統(tǒng)的某一部件的處理速度加快到10倍,但該部件的原處理時間僅為整個運行時間的40%,則采用加快措施后能使整個系統(tǒng)的性能提高多少?解:由題意可知fe=0.4,re=10,根據(jù)Amdahl定律作1.13假設(shè)高速緩存Cache工作速度為主存的5倍,且Cache被訪問命中的概率為90%,則采用Cache后,能使整個存儲系統(tǒng)獲得多高的加速比?解:fe=0.9

,re=5作1.11

某工作站采用時鐘頻率為15MHz、處理速率為10MIPS的處理機(jī)來執(zhí)行一個巳知混合程序。假定每次存儲器存取為1周期延遲、試問:此計算機(jī)的有效CPI是多少?假定將處理機(jī)的時鐘提高到30MHz,但存儲器子系統(tǒng)速率不變。這樣,每次存儲器存取需要兩個時鐘周期。如果30%指令每條只需要一次存儲存取,而另外5%每條需要兩次存儲存取,還假定已知混合程序的指令數(shù)不變,并與原工作站兼容,試求改進(jìn)后的處理機(jī)性能。解(1)(2)依題意可知:30%的指令需要一次存儲存取,則這些指令在處理器提高時鐘頻率之后需要增加1個時鐘周期;另外5%的指令需要增加2個時鐘周期。改進(jìn)后性能提高情況可用CPU時間之比表示:作1.15

假定利用增加向量模塊來提高計算機(jī)的運算速度。計算機(jī)處理向量的速度比其通常的運算要快20倍,將可用向量處理部分所花費的時間占總時間的百分比稱為可向量化百分比。求出加速比S和向量化百分比之間的關(guān)系式。 當(dāng)要得到加速比為2時的可向量化百分比F為多少? 為了獲得在向量模式所得到的最大加速比的一半,可向量化百分比F為多少?(2)

由(1)式有由Amdahl定律知192

F

10

0.531(1

F

)

(F

/

20)(1)20120"19*

F

(1"F)

?

(F

/

20)解(1):

S

(3)

由題意可知1910

F

18

0.951(1

F

)

(

F

/

20)1p(1

fe1

fe2

)

fe1

/

re1

fe1

/

re1S

題1.1

某計算機(jī)系統(tǒng)同時采用兩種措施改進(jìn)性能,使得兩個功能部件的性能分別提高到原來的re1倍和re2

,這兩個部件在運行時使用的時間比例分別為fe1和fe2

。試分析系統(tǒng)性能提高的總體加速比。解:例1.2

用一臺4OMHz處理機(jī)執(zhí)行標(biāo)準(zhǔn)測試程序,它含的混合指令數(shù)和相應(yīng)所需的時鐘周期數(shù)如下:指令類型指令條數(shù)時鐘周期數(shù)整數(shù)運算450001數(shù)據(jù)傳送320002浮點運算150002控制傳送80002求有效CPI、MIPS速率和程序的執(zhí)行時間。解:依題意可知IN=105條,n=4題1.2設(shè)有兩臺機(jī)器A和B,對條件轉(zhuǎn)移采用不同的方法。CPUA采用比較指令和條件轉(zhuǎn)移指令處理方法,若條件轉(zhuǎn)移指令占總執(zhí)行指令數(shù)的20%,比較指令也占20%。CPUB采用比較和條件轉(zhuǎn)移指令合一的方法,占執(zhí)行指令數(shù)的20%。若規(guī)定兩臺機(jī)器執(zhí)行條件轉(zhuǎn)移指令需2T,其它指令需1T。CPUB的條件轉(zhuǎn)移指令比CPUA慢25%,現(xiàn)比較CPUA合和CPUB哪個工作速度更快?解:CPIA=0.2×2+0.8×1=1.2CPUA時間=ICA×CPIA×TA=1.2TA×ICAICA是CPUA的指令條數(shù),由于CPUB無比較指令,因此ICB=0.8ICA,若ICA=100,則ICB=80

,而CPUB的條件轉(zhuǎn)移指令仍是20條,所以占比例為20/80=0.25=25%CPIB=0.25×2+0.75×1=1.25又因為CPUB的TB比CPUA的TA慢25%,所以TB=1.25TACPUB=ICB×CPIB×TB=0.8ICA×1.25×1.25TA=1.25TA×ICA可見,CPUA時間<CPUB時間,CPUA比CPUB工作速度快。上例中,TB只比TA

慢10%,則哪個CPU更快些?解:TB=1.1TACPUB時間=0.8ICA×1.25×1.1TA=1.1TA×ICA因此CPUB時間<CPUA時間,則CPUB更快些。題1.3

某向量計算機(jī)系統(tǒng)中,標(biāo)量指令的平均CPI是1,向量運算指令的平均CPI是64,系統(tǒng)加快向量部件的速度后使向量運算速度提高到原來的2倍,某一測試程序執(zhí)行時的向量運算指令數(shù)量占全部指令數(shù)的10%,問計算機(jī)系統(tǒng)11

1.110.12

640.9

p(1

fe

)

(

fe

/

re

)S

運行這個測試程序的整體性能比原來提高多少?相同機(jī)器,只需要比較CPI即可,指令條數(shù)/T相同解:作1.12假設(shè)在一臺40MHz處理機(jī)上運行200000條指令的目標(biāo)代碼,程序主要由四種指令組成。根據(jù)程序跟蹤實驗結(jié)果,已知指令混合比和每種指令所需的指令數(shù)如下:指令類型CPI指令混合百分比算術(shù)和邏輯運算160%Cache命中的加載/存儲218%轉(zhuǎn)移412%Cache失效時訪問主存810%(1)計算在單處理機(jī)上用上述蹤數(shù)據(jù)運行程序的平均CPI。(2)根據(jù)(1)所得CPI,計算相應(yīng)的MIPS速率。解:依題意可知IN=2×105條,n=4,第2章題2.1一種浮點數(shù)有1位符號位,階碼為7位移碼,尾數(shù)8位與符號位一起采用原碼的規(guī)格化表示,基數(shù)為2,該浮點數(shù)可表示的最大數(shù)為

,最大數(shù)與最接近它的數(shù)據(jù)(次最大數(shù))的差值為

,可表示的最小數(shù)為

,最小數(shù)與最接近它的正數(shù)(次最小數(shù))的差值為

。(1

2

8

)263解:最大數(shù)2

1

2

64

2

652

8

263

255最小正數(shù)最大數(shù)與次大數(shù)的差值最小正數(shù)與次小正數(shù)的差值(2

1

2

8

)2

64解:階碼為7位移碼表示,1位符號位,尾數(shù)8位,原碼規(guī)格化表示,基數(shù)為2,其格式為:浮點數(shù)N尾數(shù)基值rm

=2(二進(jìn)制)階碼的基值re

=2,尾數(shù)長度p=8(不包括符號位),階碼長度q=6(不包括符號位),規(guī)格化表示的正數(shù)的范圍:15

0階碼6位qp尾數(shù)8位尾階符符可表示的最小正浮點數(shù)為可表示的最大正浮點數(shù)為qm

m(1

r

p

)

r(2

1)

(1

2

8

)2632m1

r

p

1

2

8

(0.11111111)最大尾數(shù)為最大階碼為最小階碼為

2

q

2

6

642q

1

26

1

63最小尾數(shù)為mr

1

2

1

1/

2qm

mr

1

r

2

2

1

2

64規(guī)格化表示的正數(shù)的范圍:2

p

2q

1/

2

213可表示的正階、正尾規(guī)格化數(shù)的個數(shù)為可表示的最大負(fù)浮點數(shù)為qm

m

(1

r

p

)

r(2

1)

(1

2

8

)2632m

r

1

1/

2

(0.1)最大尾數(shù)為最大階碼為最小階碼為

2

q

2

6

642q

1

26

1

63最小尾數(shù)(原碼)為m

(1

r

1

)

(1

2

8

)qm

m可表示的最小負(fù)浮點數(shù)為

r

1

r

2

2

1

2

64

2

65規(guī)格化表示的負(fù)數(shù)的范圍:1000000.091

0.3010.6011.000.1510.06010.030.030.040.050.150.300.40I7I6I5I4I3I2I1例2.1某指令系統(tǒng)各指令使用頻度如下:I1

I2

I3

I4

I5

I6

I70.4

0.3

0.15

0.05

0.04

0.03

0.031.Huffman編碼由此可得到哈夫曼編碼如下:I1:

0 I2:

10 I3:

110I5:11101 I6:11110I4:11100I7:11111平均碼長L=0.4*1+0.3*2+0.15*3+0.05*5+0.04*5+0.03*5+0.03*5=2.20位信息冗余量R=(2.20-2.17)/2.20=1.36%指令長度個數(shù)=42.擴(kuò)展哈夫曼編碼–I1,I2,I3用兩位:00,01,10–I4,I5,I6,I7用四位:1100,1101,1110,1111L=(0.4+0.3+0.15)*2+(0.05+0.04+0.03+0.03)*4=2.30位信息冗余量=(2.302.20)/2.30=0.0565=5.65%指

令頻度(Pi)操作碼OP使用哈夫曼編碼OP長度lihuffman擴(kuò)展編碼OP長度

liI10.40010

02I20.301

020

12I30.151

1

031

02I40.051

1

1

0

051

1 0

04I50.041

1

1

0

151

1 0

14I60.031

1

1

1

051

1 1

04I70.031

1

1

1

151

1 1

14操作碼的擴(kuò)展(等長擴(kuò)展)平均碼長:2.22.3例2.2指令系統(tǒng)共有42種指令,前15種使用頻率平均為0.05,中間13種使用頻率平均為0.015,最后14種使用頻率平均為0.004。如何編碼?15種0000:11101111

0000:

15種1111

11101111

1111

0000:

15種1111

1111

1110解:因頻率分布有三種,故碼長可有三種;因每段指令數(shù)基本相同,故可采用等長擴(kuò)展(4-8-12位),保留特征碼的每段指令數(shù)相同(15-15-15)方法。結(jié)果如圖所示;結(jié)果:采用15-15-15擴(kuò)展方法,最后一種編碼用于擴(kuò)展,每段0000~1110用于編碼,1111用于擴(kuò)展。0xx4種1xx0xx16種1xx1xx0xx64種例2.3指令系統(tǒng)共有74種指令,前4種使用頻率平均為0.12,中間15種使用頻率平均為0.02,最后55種使用頻率平均為0.004。如何編碼?解:同上例方法,碼長可有三種;因每段指令數(shù)成比例

(1:4),故可采用等長擴(kuò)展方法(3-6-9位)擴(kuò)展,保留標(biāo)志位方法,結(jié)果如圖所示;結(jié)果:采用4-16-64擴(kuò)展方法,編碼第一位用于擴(kuò)展,每段0XX用于編碼,1XX用于擴(kuò)展。4-16-64平均碼長=0.12*4*3+0.02*15*6+0.004*55*9=5.22;例2.4指令系統(tǒng)共有78種指令,前10種使用頻率平均為0.049,中間18種使用頻率平均為0.02,最后50種使用頻率平均為0.003。如何編碼?解:同上例方法,碼長可有三種;因每段指令數(shù)比例為1:2:5,故不可采用等長擴(kuò)展,采用不等長編碼(4-6-10位)較能減少平均碼長。10種0000:1001:

20種1110

111111

00

000064種:

:1111

11

1111第一種采用4位編碼中前10種(0000~1001);第二種采用第一種頻率編碼中的后5種編碼(1010~1110)1010

00與擴(kuò)展的2位共20種編碼;第三種采用第一種頻率編碼中的最后一種(1111)與擴(kuò)展的6位共64種編碼。作2.3設(shè)某機(jī)階碼6位、尾數(shù)48位,階符和數(shù)符不在其內(nèi),當(dāng)尾數(shù)分別以2、8、16為基時,在非負(fù)階、正尾數(shù)、規(guī)格化數(shù)情況下,求出其最小階、最大階、階的個數(shù)、最小尾數(shù)值、最大尾數(shù)值、可表示的最小值和最大值及可表示的規(guī)格化數(shù)的總個數(shù)解:p=6、m=48時,在非負(fù)階、規(guī)格化、正尾數(shù)情況下,尾基rm=2、8、16時的各個參數(shù)的計算結(jié)果如下表所示。非負(fù)階、正尾數(shù)、規(guī)格化尾基rm(p=6位,m=48位)2(48位)8(16位)16(12位)最小階值0000最大階值2p-1636363階的個數(shù)2p646464尾數(shù)最小值1/21/81/16尾數(shù)最大值1-2-481-8-161-16-12最小值1/21/81/16最大值263·(1-2-48))863

·(1-8-16)1663

·(1-16-12)數(shù)的個數(shù)2537

·25115·250作2.15

某模型機(jī)有9條指令,其使用頻率為:ADD(加)30%SUB(減)24%JOM(按負(fù)轉(zhuǎn)移)6%STO(存)7%JMP(轉(zhuǎn)移)7%SHR(右移)2%CIL(循環(huán)左移)3%CLA(清加)20%STP(停機(jī))1%要求有兩種指令字長,都按雙操作數(shù)指令格式編,采用擴(kuò)展操作碼,并限制只能有兩種操作碼碼長。設(shè)該機(jī)有若干個通用寄存器,主存為16位寬,按字節(jié)編址,采用整數(shù)邊界存貯,任何指令都在一個主存周期中取得,短指令為寄存器-寄存器型,長指令為寄存器-主存型,主存地址應(yīng)能變址尋址。解:(1)

Huffman樹的形式如圖所示。0.010.020.03010.03010.0600.0610.1400.0710.070.261000.120.300.4410.240

600.20100.511由上圖可得到的Huffman編碼為:ADD(加)30%01SUB(減)24%11CLA(清加)20%10JOM(按負(fù)轉(zhuǎn)移)6%0001STO(存)7%0011JMP(轉(zhuǎn)移)7%0010CIL(循環(huán)左移)3%00001SHR(右移)2%000001STP(停機(jī))1%000000因此,操作碼的平均碼長為:(2)

采用2-5擴(kuò)展的操作碼編碼為:ADD(加)30%00SUB(減)24%01CLA(清加)20%10JOM(按負(fù)轉(zhuǎn)移)6%11000STO(存)7%11001JMP(轉(zhuǎn)移)7%11010SHR(右移)2%11011CIL(循環(huán)左移)3%11100STP(停機(jī))1%11101因此,操作碼的平均碼長為:該機(jī)允許使用的可編址的通用寄存器個數(shù)為23=8個短指令為寄存器-寄存器型,格式如下:OP(2位)R1(3位)R2(3位)OP(5位)R1(3位)X(2位)相對位移d(6位)(5)

訪主存操作數(shù)地址尋址的最大相對位移量為64個字節(jié)(-32~+31個字節(jié))長指令為寄存器-主存型,格式如下:例2.5若某機(jī)要求有:三地址指令4條,單地址指令192條,零地址指令16條。設(shè)指令字長為12位,每個地址碼長3位。問能否以擴(kuò)展操作碼為其編碼?解:

1.

三種指令格式字如下:A1A2A3OPCOPCA1OPC???111

111

110

000?111

111

111

111000

xxx

xxx

xxx三地址4條011

xxx

xxx

xxx100

000

000

xxx一地址192條111

111

101

xxx零地址16條3

3

3

3三地址指令4條單地址指令192條零地址指令16條2.某機(jī)指令字長16位。設(shè)有單地址指令和雙地址指令兩類。若每個地址字段為6位,且雙地OPCA1A2OPCA110位6位址指令有X條。問單地址指令最多可有多少條?解:二種指令格式字如下:4位

6位

6位由于雙地址指令有X條,單地址指令最多可有:作2.16某處理機(jī)的指令字長為16位,有雙地址指令、單地址指令和零地址指令三類,并假設(shè)每個地址字段的長度為16位。如果雙地址指令有15條,單地址和零地址指令的條數(shù)基本相同,問單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。如果三類指令的比例為1:9:9,問雙地址指令、單地址指令和零地址指令各有多少條?并且為這三類指令分配操作碼。解:(1)雙地址指令15條,地址碼:

0000~1110單地址指令26-1=63條,地址碼:1111

0000001111111110零地址指令64條,地址碼:11111111110000001111111111111111(2)雙地址指令14條,地址碼:0000~1101單地址指令26×2-2=126條, 1110

0000001110111110零地址指令128條,地址碼:11111111100000001111111111111111第3章作3.2

設(shè)一個任務(wù)在計算機(jī)中的處理時間為50秒,

CPU處理時間為30秒,I/O處理時間為20秒。如果將CPU的處理速度提高4倍,則總的處理時間將是多少?解:如使CPU的速度增加4倍,則CPU的處理時間為:Tcpu=30/4=7.5s則總的處理時間為:T=Tcpu+Ti/o=7.5+20=27.5s題3.1 假設(shè)一臺計算機(jī)的I/O處理占10%,當(dāng)其CPU性能改

變,而I/O性能保持不變,系統(tǒng)總體性能會出現(xiàn)什么變化?如果CPU的性能提高10倍如果CPU的性能提高100倍解:假設(shè)原來的程序執(zhí)行時間為1個單位時間。如果CPU的性能提高10倍,則程序的計算(包含I/O處理)時間為(1-10%)/10+10%=0.19即整機(jī)性能只能提高約5倍,差不多有50%的CPU性能浪費在I/O上。如果CPU的性能提高100倍,則程序的計算時間為(1-10%)/100+10%=0.109而整機(jī)性能只能提高約10倍,表示有90%的性能浪費在I/O上了。在上表中填出設(shè)備相應(yīng)二次請求傳送字節(jié)的間隔 時間。當(dāng)所有設(shè)備同時要傳送數(shù)據(jù)時,求其對通道要求 的總流量fbyte設(shè)備號123456傳送速率

(B/ms)505040252510二次請求的間隔時間

(μS)例3.1

某字節(jié)交叉多路通道連接6臺設(shè)備,其數(shù)據(jù)傳送速率如下表所示。讓通道以極限流量fmax.byte=fbyte的工作周期工 作,通道的工作周期(即TS+TD的時間間隔)是 多少?讓通道中所掛設(shè)備速率越高的數(shù)據(jù)傳送請求被 響應(yīng)的優(yōu)先級越高。畫出6臺設(shè)備同時發(fā)送請 求到下次同時發(fā)送請求期間里,通道響應(yīng)和 處理完各設(shè)備請求時刻的示意圖。哪個設(shè)備 丟失了信息?提出一種不丟失信息的解決辦 法。設(shè)備號123456傳送速率(B/ms)505040252510二次請求的間隔時間(μS)2020254040100解:(1)(2)總?cè)萘縏S+TD=1ms/200B=5μS1234566號設(shè)備丟失了一次數(shù)據(jù)(3)傳送周期20us方法1:增加通道的最大流量,保證連接在通道上的所有設(shè)備的數(shù)據(jù)傳送請求能夠及時得到通道的響應(yīng)方法2:動態(tài)改變設(shè)備的優(yōu)先級方法3:增加一定數(shù)量的數(shù)據(jù)緩沖器,特別是對優(yōu)先級比較低的設(shè)備例3.2

印字機(jī)各占一個子通道,0號打印機(jī)、1號打印機(jī)和0號光電輸入機(jī)合用一個子通道。假定數(shù)據(jù)傳送期內(nèi)高速印字機(jī)每隔25us發(fā)一個請求,低速打印機(jī)每隔150us發(fā)一個字節(jié)請求,光電輸入機(jī)每隔800us發(fā)一個字節(jié)請求,則這5臺設(shè)備要求通道的實際流量為多少?字節(jié)多路通道0子通道2子通道1子通道0號高速印字機(jī)1號高速印字機(jī)0號打印機(jī)1號打印機(jī)0號光電輸入機(jī)解:5臺設(shè)備要求通道的數(shù)據(jù)流量為:可將該通道設(shè)計成0.1MB/s,即所設(shè)計的工作周期為:這樣各設(shè)備的請求就能及時得到響應(yīng)和處理,不會丟失信息。0號印字機(jī)1號印字機(jī)0號打印機(jī)1號打印機(jī)0號光電機(jī)通道工作周期0us

50us

100us

150us表示設(shè)備提出申請的時刻表示通道處理完設(shè)備申請的時刻優(yōu)先級次序:0號印字機(jī)、1號印字機(jī)、0號打印機(jī)、1號打印機(jī)、0號光電機(jī)例3.3設(shè)通道在數(shù)據(jù)傳送期中,選擇設(shè)備需4.9μS,傳送一個字節(jié)數(shù)據(jù)需0.lμS。其低速設(shè)備每隔250μS發(fā)出一個字節(jié)數(shù)據(jù)傳送請求,問最多可接多少臺這種設(shè)備?若有A~E共5種高速設(shè)備,要求字節(jié)傳送的間隔時間如下表所示,其時間單位為μS。若一次通信傳送的字節(jié)數(shù)不少于1024個字節(jié),問哪些設(shè)備可掛在此通道上?哪些則不能?設(shè)備ABCDE時間間隔

(μS)0.130.10.110.20.3其中,n≥1024,應(yīng)使

select

i

max

select由此可得出通道工作周期為:T≈0.1048(us)所以,只有A、C、D、E可掛在此通道上,B則不行。解:(1)低速設(shè)備應(yīng)接字節(jié)多路通道n=250/5=50臺,所以,n≤50臺,即最多可接50臺這種設(shè)備(2)根據(jù)題意,此通道為選擇通道作3.2設(shè)一個任務(wù)的處理時間為64秒,CPU在這期間始終忙于處理,I/O處理時間為36秒。為提高系統(tǒng)性能,有兩種方案:使CPU的速度增加1倍,或者使CPU和I/O的處理速度同時增加1倍。計算這兩種情況下的處理時間。解:如使CPU的速度增加1倍,則CPU的處理時間為:Tcpu=64/2=32則總的處理時間為:T=Tcpu+Ti/o-Toverlap∵

Toverlap<=min{Tcpu

,Ti/o}∴T>=32+36-32=36當(dāng)兩者速度同時增加1

倍時:Tcpu=64/2=32 Ti/o=18則:T>=32+18-18=32作3.10(1)字節(jié)多路通道、數(shù)組多路通道、選擇通道,它們一般用什么數(shù)據(jù)寬度來進(jìn)行通信?(2)如果通道在數(shù)據(jù)傳送期中選擇設(shè)備需9.8us,傳送一個字節(jié)數(shù)據(jù)需0.2us,某低速設(shè)備每隔500us發(fā)出一個字節(jié)數(shù)據(jù)傳送請求,問至多可接幾臺這種低速設(shè)備?對于如下

A~F6種高速設(shè)備,一次通信傳送的字節(jié)數(shù)不少于1024個字節(jié),問哪些設(shè)備可以掛在此通道上?哪些則不能?其中A~F設(shè)備每發(fā)一個字節(jié)數(shù)據(jù)傳送請求的時間間隔分別為設(shè)備ABCDEF發(fā)申請間隔(us)0.20.250.50.190.40.21解:(1)字節(jié)通道的數(shù)據(jù)流量為:(2)傳送周期TS+TD=3us+2us=5μS0號設(shè)備1號設(shè)備2號設(shè)備3號設(shè)備通道工作周期(3)通道處理完成各設(shè)備第一次服務(wù)請求的時刻:0號設(shè)備:5us,1號設(shè)備:10us

,2號設(shè)備:30

us,3號設(shè)備:丟失表示設(shè)備提出申請的時刻表示通道處理完設(shè)備申請的時刻優(yōu)先級次序:0號設(shè)備、1號設(shè)備、2號設(shè)備、3號設(shè)備(4)從時間關(guān)系圖中看,這個字節(jié)通道不能正常工作,因為以現(xiàn)在的工作頻率,不可能連接過多的設(shè)備。(5)改進(jìn)的措施:增加此通道的工作頻率;改變設(shè)備的優(yōu)先級;增加一定數(shù)量的緩沖器,保存優(yōu)先級低設(shè)備可能丟失的數(shù)據(jù)。

3.5750.9

0.5

A2A1AA2p5TA1T

HT

(1

H

)TTS

第4章例4.1

假設(shè)高速緩存Cache工作速度為主存的5倍,且Cache被訪問命中的概率為90%,則采用Cache后,能使整個存儲系統(tǒng)獲得多高的加速比?解:例4.2

假設(shè)高速緩存Cache的訪問周期為50ns,主存的訪問周期為400ns

,且Cache被訪問命中的概率為95%,則采用Cache后,能使整個存儲系統(tǒng)等效的訪問周期為多少?獲得多高的加速比?解:

400

5.9ApT

67.5

TA2STA

HTA1

(1

H)TA2

0.95

50

0.05

400

67.5ns例4.3設(shè)某用戶虛存共有8頁,主存有4頁,每頁大小為1KB.試根據(jù)頁表計算出虛地址1023和6800的主存實地址。頁表提示:注意頁表中虛、實頁對應(yīng)關(guān)系虛頁號實頁號裝入位031111220330421510601700第0頁0—1023第1頁1024—2047第2頁2048—3071第3頁3072—4095第4頁4096—5119第5頁5120—6143第6頁6144—7167第7頁7168--8191解:頁號與地址對應(yīng)關(guān)系虛地址1023,虛頁號為0,頁內(nèi)位移為1023;根據(jù)虛頁號查頁表得知實頁號為3,且裝入位為1。主存實地址PA=3072+1023=4095虛地址6800,虛頁號為6,頁內(nèi)位移為656;根據(jù)虛頁號查頁表得知實頁號為0,且裝入位為1。主存實地址PA=0+656=656每頁首地址=頁號X每頁大小虛頁號=虛地址%1024實例4.4

虛存32頁,主存16頁,每頁為1KB。某時刻已調(diào)入主存的實頁與虛頁對應(yīng)如下:虛頁號0128實頁號51047求虛地址0A5CH和1A5CH對應(yīng)的實地址。0

0

0

1

001

0

0

1

0

1

11

0

0主存實地址查頁表(已裝入)直接dp125CH0

0

0

0

101

0

0

1

0

1

11

0

0P

D0A5CH解:單用戶的虛地址0

0

0

1

101

0

0

1

0

1

11

0

0查頁表(未裝入)單用戶的虛地址PD直接1A5CH解:頁面失效,無對應(yīng)的主存實地址。用戶的虛頁并未裝入主存中,當(dāng)執(zhí)行該虛頁程序時,找不到對應(yīng)的實頁。如何減少散列沖突?快表為何采用兩組?相等比較的作用?2例4.5

虛擬存儲器舉例—IBM370/16248212=4K212=4KB用戶數(shù)?每個1用5位戶虛頁數(shù)?每頁大小30?位64行相等比較24位+數(shù)24?位相等寄存器位數(shù)?快表行數(shù)?快表每行的位數(shù)?例4.6假若一計算機(jī)的主存儲器按64塊組織,塊大小為8個字,高速緩存有8塊。試按下述要求畫圖回答問題。畫出全相聯(lián)映像示意圖、指定標(biāo)記字段和主存地址格式。畫出直接映像示意圖、指定標(biāo)記字段和主存地址格式。畫出2路組相聯(lián)映像示意圖、指定標(biāo)記字段和主存地址格式。b0b1?b7解:(1)全相聯(lián)映像B0B1?B7B8B9?B56B57?B63主存儲器行號(3位)字(3位)主存地址(塊號)標(biāo)記(6位)字(3位)緩存地址??標(biāo)記6位的高速緩存標(biāo)記b0b1?b7(2)直接映像標(biāo)記3位的高速緩存主存儲器?標(biāo)記??B0B1?B7B8B9?B56B57?B63區(qū)0區(qū)73位3位3位主存地址區(qū)號E(標(biāo)記)塊號B字W3位3位緩存地址行號L字w(3)2路組相聯(lián)映像標(biāo)記4位的高速緩存主存儲器?B0B1B2B3B4B5?B60B61B62B63區(qū)0區(qū)15區(qū)號E(標(biāo)記)組號G字W4位2位

3位b0b1b2b3b4b5b6b70組1組2組3組組號g行號L字w主存地址2位

1位

3位緩存地址作4.6

解:(1)由于虛地址中有2位表示段號、2位表示頁號,所以此地址空間共有22Ⅹ22=16個虛頁。(2)根據(jù)上頁表,題中所示操作的虛地址訪問情況如下其中,實地址=實頁號Ⅹ頁大小+頁內(nèi)位移。如下表第1行中,實地址=3Ⅹ2048+1=6145段號段0段1段2段3訪問方式只讀可讀/執(zhí)行可讀/寫/執(zhí)可讀/寫虛頁0實頁9在輔存內(nèi)頁表不在主存實頁14虛頁1實頁3實頁0頁表不在主存實頁1虛頁2在輔存內(nèi)實頁15頁表不在主存實頁6虛頁3實頁12實頁8頁表不在主存在輔存內(nèi)方式段頁頁內(nèi)位移段失效頁失效實頁號實地址保護(hù)失效取數(shù)011無無36145無取數(shù)1110無無010無取數(shù)332047無有無無/存數(shù)014無無36148有存數(shù)212有/無無/存數(shù)1014無有無無/轉(zhuǎn)移至此13100無無816484無取數(shù)0250無有無無/取數(shù)205有/無無/轉(zhuǎn)移至此3060無無1428732有作4.8

解:∵可有1K個任務(wù),短期內(nèi)只有4個用戶,∴指示用戶號的地址字段U=10位;ID=2位;又∵每個用戶程序空間可達(dá)4096頁,每頁512B,∴P=12,D=(9+3)=12位;又∵主存地址長度為20位,∴實頁號p=20-12=8位。每個相聯(lián)寄存器的相聯(lián)比較位數(shù)為U=10位;每個相聯(lián)寄存器的總位數(shù)為U+ID=12位;散列變換硬件的輸入和輸出位數(shù)為14位和4位;每個相等比較器的位數(shù)為P+ID=12+2=14位;快表的總?cè)萘繛?6×(12+2+8)×2=704(位)。用戶號U

虛頁號P頁內(nèi)位移D多用戶的虛地址34位實頁p頁內(nèi)位移d主存實地址20位8位12位12位10位

12位散列變換相等?相等?14位4位16行直接P+IDpP+IDpU100U201U310U311虛實地址經(jīng)快表變換的邏輯示意圖區(qū)號E組號Q組內(nèi)塊號B塊內(nèi)字W組號q組內(nèi)塊號b塊內(nèi)字w主存地址Cache地址8位4位2位4位作4.12

解:依題意可知,每塊大小為4Ⅹ4=16B,用4位二進(jìn)制表示。采用4個外相等比較電路,指示塊號用2位二進(jìn)制表示。指示組號地址為10-2-4=4位。又因為主存容量為256KB,主存總位數(shù)18位。所以,指示區(qū)號的位數(shù)為18-10=8位。地址對應(yīng)關(guān)系如下:E+BbE+BbE+BbE+Bb16行相聯(lián)目錄表如下:相聯(lián)目錄表行數(shù):2q=24=16行;

每行總位數(shù):E+B+b=8+2+2=12位;每個相等比較電路的位數(shù):E+B=8+2=10位。題4.1在一個Cache存儲系統(tǒng)中,Cache的訪問周期為10ns,主存儲器的訪問周期為60ns,每個數(shù)據(jù)在

Cache中平均重復(fù)使用4次。當(dāng)塊大小為1個字節(jié)時,存儲系統(tǒng)的訪問效率只有0.5,現(xiàn)在要通過增加塊大小,使存儲系統(tǒng)的訪問效率達(dá)到0.94。(1)當(dāng)存儲系統(tǒng)的訪問效率為0.5時,計算命中率和等效訪問周期。(2)為了使存儲系統(tǒng)的訪問效率達(dá)到0.94,命中率和等效訪問周期應(yīng)該提高到多少?(3)為了使存儲系統(tǒng)的訪問效率從0.5提高到0.94,塊的大小至少增加到幾個字?解:(1)當(dāng)存儲系統(tǒng)的訪問效率為0.5時,由表達(dá)式可求出命中率為等效訪問周期為或由得(2)當(dāng)存儲系統(tǒng)的訪問效率提高到0.94時,命中率應(yīng)該提高到H2等效訪問周期應(yīng)提高為或由得(3)為了使存儲系統(tǒng)的訪問效率由0.5提高到0.94,塊大小應(yīng)為B個字。則有在上式中代入相關(guān)參數(shù),可求出其中n為Cache的塊大小與數(shù)據(jù)重復(fù)使用次數(shù)的乘積,H1是原來的命中率,H是塊大小增加后的命中率。題4.2

對于下述訪存字節(jié)地址序列:1,14,50,89,20,17,19,56,19,11,14,43,15,16,9,17標(biāo)出每次訪存后的cache存儲空間的分配情況和命中情況。假定cache是2路組相聯(lián)的,采用FIFO替換策略,每塊是4個32位的字。

Cache的容量是16字,初始cache為空。cache地址區(qū)號組號塊號字W1位

2位組號塊號字w主存地址1位

1位

2位解:主存儲器?組0組1區(qū)0區(qū)13位

1位區(qū)7B0B1B2B3B4B5B6B7?B4B5B6B7?1

2

3

4

5

6

7

8

9

10 11

12

13 14

15

16時間t字地址流(2路組相聯(lián)FIFO)組0組11145089201719561911144315169171111*2020*191919191919191919*17505050*1717171717171717*161616141414141414*565656*1414*15151515898989898989*1111*434343*99調(diào)調(diào)調(diào)調(diào)替替替替命命中1次進(jìn)進(jìn)進(jìn)進(jìn)換換換換中替替替替替替替換換換換換換換假設(shè)對指令Cache

的訪問占全部訪問的75%;而對數(shù)據(jù)Cache

的訪問占全部訪問的25%。Cache

的命中時間為1

個時鐘周期,失效開銷為

50

個時鐘周期,在混合Cache

中一次load

或store操作訪問Cache的命中時間都要增加一個時鐘周期,32KB

的指令Cache的失效率為0.39%,32KB

的數(shù)據(jù)Cache

的失效率為4.82%,64KB

的混合Cache的失效率為1.35%。又假設(shè)采用寫直達(dá)策略,且有一個寫緩沖器,并且忽略寫緩沖器引起的等待。試問指令Cache和數(shù)據(jù)Cache

容量均為32KB

的分離Cache

和容量為

64KB

的混合Cache相比,哪種Cache

的失效率更低?兩種情況下平均訪存時間各是多少?解:(1

)根據(jù)題意,約75%的訪存為取指令。因此,分離Cache的總體失效率為:(75%×0.15%)

+(25%×3.77%)

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

+25%×(1+3.77%×50)=(75%×1.075)

+(25%×2.885)

=1.5275混合Cache的平均訪存時間=75%×(1+0.95%×50)

+25%×(1+1+0.95%×50)=(75%×1.475)

+(25%×2.475)

=1.725因此,盡管分離Cache的實際失效率比混合Cache的高,但其平均訪存時間反而較低。分離Cache提供了兩個端口,消除了結(jié)構(gòu)相關(guān)。某RISC

處理機(jī)的工作主頻為500MHz,有一個Cache和一個主存儲器,Cache的存取周期為2ns,主存儲器的存取周期為20ns,Cache

的命中率為99%,有20%的LOAD/STORE

指令,并假設(shè)處理機(jī)速度的瓶頸完全在存儲系統(tǒng)。求理想情況(Cache

的命中率為100%)

下的CPI。計算該RI

SC

處理機(jī)的實際MI

PS速率。如果處理機(jī)的工作主頻提高到1GHz,計算實際CPI和MI

PS

速率。解答:(1)

CPI=(2ns+2ns×20%)×500MHz=1.2(2)MIPS=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.3給定以下的假設(shè),對指令Cache的訪問占全部訪問的75%,對數(shù)據(jù)Cache的訪問占25%;Cache的命中時間為1個時鐘周期,失效開銷為50個時鐘周期;在混合Cache中一次load或store操作訪問Cache的命中時間都要增加1個時鐘周期;(4)32KB的指令Cache的失效率為0.39%,32KB的數(shù)據(jù)Cache的失效率為4.82%,64KB的混合Cache的失效率為1.35%;(5)采用寫直達(dá)策略,且有一個寫緩沖器,并且忽略寫緩沖器引起的等待。要求:對于指令Cache和數(shù)據(jù)Cache容量均為32KB的分離Cache,計算其失效率,且計算其平均訪存時間;計算容量為64

KB的混合Cache的平均訪存時間;分別從失效率和平均訪存時間兩個方面,比較分離Cache與混合Cache的性能(75%×0.39%)+(25%×4.82%)=1.4975%解:

(1)對于分離Cache的總體失效率為:

平均訪存時間公式可以分為指令訪問和數(shù)據(jù)訪問兩部分:

平均訪存時間

= 指令所占的百分比×(指令命中時間+指令失效率×失效開銷+數(shù)據(jù)所占的百分比×(數(shù)據(jù)命中時間+數(shù)據(jù)失效率×失效開銷)=1.74875=1.925

分離Cache的平均訪存時間=75%×(1+0.39%×50)+25%×(1+4.82%×50)

(2)混合Cache的平均訪存時間=75%×(1+1.35%×50)+25%×(1+1+1.35%×50)

(3)從失效率方面來看,分離Cache為1.4975%,其大于混合Cache的失效率1.35%,混合Cache的性能優(yōu)于分離Cache。

但從平均訪存時間來看,分離Cache為1.74875個時鐘周期,其小于混合Cache的1.925個時鐘周期,分離Cache的性能優(yōu)于混合Cache。

因此,盡管分離Cache的實際失效率比混合Cache的高,但分離Cache提供了兩個端口,消除了結(jié)構(gòu)沖突,其平均訪存時間反而較低。假設(shè)某臺計算機(jī)的特性及性能為:

(1)存儲器總線寬度為1個字(32位),送地址需要4個時鐘周期,每個字的訪問時間為24個時鐘周期,傳送1個字的數(shù)據(jù)需4個時鐘周期;

(2)Cache塊大小為1個字時,Cache失效率為3%;

(3)平均每條指令訪存1.2次;

(4)在不考慮Cache失效時,平均CPI為2。

要求:

(1)計算Cache失效開銷,存儲器的帶寬以及在考慮Cache失效時的CPI;

(2)若Cache塊大小為2個字時,Cache失效率為2%,計算相應(yīng)的CPI;

(3)若Cache塊大小為2個字時,討論在采用2路多體交叉存取以及將存儲器和總線寬度增加一倍時,對提高性能(用CPI說明)各有何作用?Cache失效開銷為4+24+4=32個時鐘周期。存儲器的帶寬為每個時鐘周期4/32=1/8字節(jié)。在考慮Cache失效時的CPI為2+(1.2×3%×32)

=3.15個時鐘周期。相應(yīng)的CPI為2+(1.2×2%×2×32)

3.54個時鐘周期。相應(yīng)的CPI為2+1.2×2%×(4+24+8)=

2.86個時鐘周期。性能相對于不采用2路多體交叉存取,提高了(3.54-2.86)/3.54

=19.21%。若Cache塊大小為2個字且采用64位總線和存儲器,不采用多體交叉時,相應(yīng)的CPI為2+1.2×2%×1×32=2.77個時鐘周期。解:

(1)當(dāng)Cache塊大小為一個字時,

(2)若Cache塊大小為2個字時,Cache失效率為2%,

(3)若Cache塊大小為2個字且采用2路多體交叉存取時,

性能相對于不采用存儲器和總線寬度增加一倍,提高了(3.54-2.77)/3.54

=21.75%。作5.2設(shè)一條指令的執(zhí)行過程分為“取指令”、“分析”和“執(zhí)行”三段,每一段的執(zhí)行時間分別為Δt、2Δt和3Δt。在下列各種情況下,分別寫出連續(xù)執(zhí)行n條指令所需要的時間表達(dá)式。順序執(zhí)行方式。僅“取指令”和“執(zhí)行”重疊?!叭≈噶睢薄ⅰ胺治觥焙汀皥?zhí)行”重疊先行控制方式第5章解:(1)順序執(zhí)行需要的時間如下:(2)取指令和執(zhí)行重疊,即一次重疊執(zhí)行方式,我們假設(shè)第n+1條指令的取指令和第n條指令的執(zhí)行同時結(jié)束,那么所需要的時間為:(3)取指令、分析和執(zhí)行重疊(4)先行控制方式T

(

t

2

t

3

t)

n

6n

tT

t

(

2

t

3

t

)

n

5

n

t

tT

(

t

2

t

3

t)

3(n

1)

t

3n

t

5

tnT

t分析1

t執(zhí)行i

t

3n

ti

112343

t

t例5.1

帶有瓶頸部件的4功能段流水線,△t1=△t2=△t4=△t,△t3=3△t,4個任務(wù)、10個任務(wù)時TP,E、SP

。

t

t(1)分析法:各段時間不等

4

4(6

9)

t

15

tn

4時,TP

TP=nmΣ△ti+(n-1)△tji=1TS1S2S3S412

3t1

t2

t3

t4

t5

t6

t7

t8

t94t10

t11

t12

t13

t14

t15123412341234輸出=Sp=n

*Σ△tii=1Σ△ti+(n-1)*△tjmI=1=4*6△t

2415△t

15=1.6E=n個任務(wù)實際占用的時-空區(qū)M各段總的時-空區(qū)m

4

6

t

6

0.4

40%4

15

t

15(2)時空圖法S例5.2以浮點加法運算為例(四段流水線)各段時間相等,求吞吐率、效率。求Z=A+B+C+D+E+F+G+H,TP、E、Sp

(注意有相關(guān))Z=A+B+C+D+E+F+G+H1

2

3

45

6Sp=4*7/15=28/15=1.87解:TP=7/15△tE=7*4/(15*4)=7/15=46%流水線的效率不高,原因在于存在著數(shù)據(jù)相關(guān),有空閑功能段。時間空間121231234123443

455565

6

7771

2

3

4

5

6

7

8

9

10

11

12 13

14

156

76

7例5.3

ASC計算機(jī)多功能算術(shù)運算流水線各段時間相等,6次浮點加、

5次定點乘的吞吐率,效率,加速比

m=8,n=11T乘=4+(5-1)*1=8(△t)E=(6*6+5*4)△t/(19*8△t)=36.8%Sp=(6*6+5*4)△t/19△t=56/19=2.941

2

3

4

5

6分析:T加=6+(6-1)*1=11(△t)則TP=11/(11+8)△t=11/19△t12

43

5

612345

612345

6214

3

8

7

6

5

12345

612345

6時間一二三四五一二三四五一二三四五一二三四五浮加定點乘

12345678910111213141516

171819題5.1一條線性流水線有4個功能段組成,每個功能段的延遲時間都相等,都為Δt。開始5個Δt,每間隔一個Δt向流水線輸入一個任務(wù),然后停頓2個Δt,如此重復(fù)。求流水線的實際吞吐率、加速比和效率。[解答]流水線的時空圖如下:功能段41234567功能段31234567功能段21234567功能段11234567Δt

2Δt

3Δt

4Δt

5Δt

6Δt

7Δt

8Δt

9Δt

10Δt

11Δt

12Δt

13Δt

14Δt

15Δt我們可以看出,在(11n+1)Δt的時間內(nèi),可以輸出5n個結(jié)果,如果指令的序列足夠長(n→∞),并且指令間不存在相關(guān),那么,吞吐率可以認(rèn)為滿足:加速比為:從上面的時空圖很容易看出,效率為:

(n

)5

5(11

1/

n)

t

11

t5n(11n

1)

tTp

20

20

(n

)11(11n

1)

t

11n

1

11

1/

n5n

4

t

20nS

5

(n

)1120n

t

54

(11n

1)

t

11

1/

nE

例5.4

用一條5個功能段的浮點加法器流水線計算每個功能段的延遲時間均相等,流水線的輸出端和輸入端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器。要求用盡可能短的時間完成計算,畫出流水線時空圖,并計算流水線的實際吞吐率、加速比和效率。[解答]首先需要考慮的是,10個數(shù)的的和最少需要做幾次加法。我們可以發(fā)現(xiàn),加法的次數(shù)是不能減少的:9次;于是我們要盡可能快的完成任務(wù),就只有考慮如何讓流水線盡可能充滿,這需要消除前后指令之間的相關(guān)。由于加法滿足交換率和結(jié)合率,我們可以調(diào)整運算次序如以下的指令序列,我們把中間結(jié)果寄存器稱為R,源操作數(shù)寄存器稱為A,最后結(jié)果寄存器稱為F,并假設(shè)源操作數(shù)已經(jīng)在寄存器中,則指令如下:10F

Aii

1I1:I2:I3:I4:I5:I6:I7:I8:I9:R1←A1+A2R2←A3+A4R3←A5+A6R4←A7+A8R5←A9+A10R6←R1+R2R7←R3+R4R8←R5+R6F←R7+R8這并不是唯一可能的計算方法。假設(shè)功能段的延遲為Δt。時空圖如下,圖中的數(shù)字是指令號。12345678912345678912345678912345678912345678921Δt部件m54321R1=A1+A2R2=A3+A4R3=A5+A6R4=A7+A8R5=A9+A10R6=R1+R2R7=R3+R4R8=R5+R6F=R7+R8R1

R3

R5

R6

R7R8FR2

R4整個計算過程需要21Δt,所以吞吐率為:Tp

921

t加速比為:S

9

5

t

45

2.1421

t

21效率為:5

21

tE

9

5

t

42.86%作5.5流水線由4個功能部件組成,每個功能部件的延遲時間為⊿t。當(dāng)輸入10個數(shù)據(jù)后,間歇

5⊿t,又輸入10個數(shù)據(jù),如此周期性地工作,求此時流水線的吞吐率,并畫出其時空圖。[分析]所謂輸入10個數(shù)據(jù)后,間歇5⊿t,又輸入10個數(shù)據(jù)的含義應(yīng)當(dāng)是以輸入時間為基準(zhǔn),即從第10個數(shù)據(jù)輸入時算起,隔5⊿t后又開始輸入新的一輪數(shù)據(jù)。12345678910123456789101

23456789102

345678910112時間(⊿t)[解答]按題意可得4個功能部件流水時的時空關(guān)系如下圖所示5⊿t所以,按周期性工作時的流水線平均吞吐率為

Tp=10/(14⊿t)=5/(7⊿t)0

1

2

3

4

5

6

7

8

9 10

11

12

13

14

15

16部件4

3

21

1作5.6有一個浮點乘流水線如下圖(a)所示,其乘積可直接返回輸入端或暫存于相應(yīng)緩沖寄存器中,畫出實現(xiàn)A*B*C*D的時空圖以及輸入端的變化,并求出該流水線的吞吐率和效率;當(dāng)流水線改為下圖(b)形式實現(xiàn)同一計算時,求該流水線的效率及吞吐率。階加尾乘規(guī)格化⊿t3⊿t

⊿t積操作數(shù)圖(a)階加尾乘1尾乘2尾乘3規(guī)格化積⊿t3⊿t⊿t3⊿t3⊿t圖(b)[分析]為了減少運算過程中的操作數(shù)相關(guān),A*B*C*D應(yīng)改為采用((A*B)*(C*D))的算法步驟進(jìn)行運算。[解]按圖(a)組織,實現(xiàn)A*B*C*D的時空關(guān)系如下圖(A)所示。時間部件輸入輸出ABCDA*BC*D13規(guī)格化尾乘階加圖(A)A*B

C*D

A*B*C*D吞吐率TP=3/(13⊿t)效率E=(3×5⊿t)/(3×13⊿t)=5/13=38.5%時間輸入輸出A

CB

DA*BC*DA*BC*DA*B*C*D部件規(guī)格化尾乘3尾乘2尾乘1階加圖(B)11流水線按圖(b)組織時,實現(xiàn)A*B*C*D的時空關(guān)系如圖(B)吞吐率TP=3/(11⊿t)效率E=(3×5⊿t)/(5×11⊿t)=3/11=27.3%例5.5(類似題5.8)一條線性靜態(tài)多功能流水線由6個功能段組成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每個功能段的延遲時間均相等。流水線的輸入端與輸出端之間有直接數(shù)據(jù)通路,而且設(shè)置有足夠的緩沖寄存器?,F(xiàn)在用這條流水線計算:畫出流水線時空圖,并計算流水線的實際吞吐率、加速比和效率。6i

1F

(

A

i

B

i

)解:為了取得較高的速度,我們需要一次將乘法作完,設(shè)源操作數(shù)存放在寄存器A、B中,中間結(jié)果存放在寄存器R中,最后結(jié)果存放在寄存器F中,則執(zhí)行的指令序列如下所示:I1:R1←A1*B1I2:R2←A2*B2I3:R3←A3*B3I4:R4←A4*B4I5:R5←A5*B5I6:R6←A6*B6I7:R7←R1+R2I8:R8←R3+R4I9:R9←R5+R6I10:R10←R7+R8I11:F←R9+R10這并不是唯一可能的計算方法。假設(shè)功能段的延遲為

Δt。時空圖(不完全)如下,圖中的數(shù)字是指令號。22Δt部件mR7=R1+R2R8=R3+R4F=R9+R10R1R10R6R7

R8F6543211113223441234565562

3

4

5

6678787

89R9=R5+R6R10=R7+R8789991010111010111111乘法R1=A1*B1R2=A2*B2R3=A3*B3R4=A4*B4R5=A5*B5R6=A6*B6加法作5.4在一臺單流水線多操作部件的處理機(jī)上執(zhí)行下面的程序,取指令、指令譯碼各需要1個時鐘周期,MOVE,ADDT和MUL操作各需要2個、3個和4個時鐘周期。每個操作都在第一個時鐘周期從寄存器中讀取操作數(shù),在最后1個時鐘周期把運算結(jié)果寫到通用寄存器中。K:

MOVE

R1,R0

;

R1←R0K+1:MUL

R0

,

R2

,R1

; R0←

(R1)×(

R2)K+2:ADD

R0,R2

,

R3 ;

R0←

(R2)

+(

R3)就程序本身而言,可能有哪幾種相關(guān)?在程序?qū)嶋H執(zhí)行過程中,有哪幾種相關(guān)會引起流水線的停頓?畫出指令執(zhí)行過程的流水線時空圖,并計算機(jī)執(zhí)行晚這3條指令共使用了多少個時鐘周期?解(1)K:

MOVE

R1,R0

;

R1←R0

K+1:MUL

R0

,

R2

,R1

; R0←

(R1)×(

R2)K+2:ADD

R0,R2

,

R3 ;

R0←

(R2)

+(

R3)K、K+1

存在寫讀相關(guān),讀寫相關(guān);K+1、K+2存在寫寫相關(guān)。(2)K、K+1

的寫讀相關(guān),會引起流水線的停頓;K+1、K+2的

溫馨提示

  • 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

提交評論