計(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頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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ī)的有效CPkMIPS和程序執(zhí)行時(shí)間解:

n

CPI八《piIC/IC)

(1)CPI=(45000X1+75000X2+8000X4+1500X2)1129500=1.776

(2)MIPS速率=f/CPI=400/1.776=225.225MIPS

(3)程序執(zhí)行時(shí)間=(45000X1+75000X2+8000X4+1

500X2)/400=575s

1.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=10

Sn=J=--------1.5625

根據(jù)r—_Fe吏(1-。.4)°.4/-0

Se

1.10計(jì)算機(jī)系統(tǒng)中有三個(gè)部件可以改進(jìn),這三個(gè)部件的部件加速比為:

部件加速比仁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í)間中占的比例是多少?

解:(1)在多個(gè)部件可改進(jìn)情況下,Amdahl定理的擴(kuò)展:

"1-Fei-Fe2-Fe3FeiFe2Fe3sei

se2se3

已矢口S1=30,S2=20,S3=10,Sn=10,F1=0.3,F2=0.3,得:

得F3=0.36,即部件3的可改進(jìn)比例為36%

(2)設(shè)系統(tǒng)改進(jìn)前的執(zhí)行時(shí)間為T,則3個(gè)部件改進(jìn)前的執(zhí)行時(shí)間為:

(0.3+0.3+0.2)T=0.8T,不可改進(jìn)部分的執(zhí)行時(shí)間為1-Fei-Fe2-Fe3=0.2T

叮叮小文庫

已知3個(gè)部件改進(jìn)后的加速比分別為S1=30,S2:20,S3=10,因此3個(gè)部件改

進(jìn)后的執(zhí)行時(shí)間為:

FeiFe2Fe3

改進(jìn)后整個(gè)系統(tǒng)的執(zhí)行時(shí)間為:Tn=l_Fel-Fe2—Fe3,竺?竺,竺

7Seise2se3

=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占全部

令指令的比例為FP操作的CPI為5,FPSQR操作的CPI為20,其他指令

4%,的平均CPI為。

1.25解:

CPIA<CPflC/IC)

i4

改進(jìn)前:CPI=5X30%+1.25X(1-30%)=2.375

設(shè)除FPSQR外其余指令的平均CPI為X

貝IJ2.375=20X4%+(1-4%)X,解出X=1.640625

萬案1:CPI1=3X4%+1.640625X(1-4%)=1.695

萬案CPI2=3X30%+1.25X(1-30%)=1.775

2.11

解:

叮叮小文庫

043

SHRSTPOLSTOJOMJMPSUBCLAADD

次迎有需要的朋友下載!

3

澡作碼長(zhǎng)度

指令■Pi操作碼使用哈夫蛀編碼

I.

ADD0.4301

CLA0.22102

SUB0.131103

JMP0.07111005

JOM0.06111015

STO0.05111105

CIL0.021111106

SHR0.0111111107

STP0.0111111117

9

L='耐=0.43x1+0.22x2+0.13x3+0.07x5+0.06x5+0.05x5+0.02x6+0.01x7+0.01x7

2.12.

解:

二地址指令的結(jié)構(gòu)是(4位操作碼0P),(6位地址碼A1),(6位地址碼

A2)o

一地址指令的結(jié)構(gòu)是(10位操作碼0P),(6位地址碼A)o

二地址指令,最多共16條二地址指令。

每少一條二地址指令,則多26條一地址指令,

所以一地址指令最多有(16?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é)果寫到通用寄存器中。

k:MOVER1,R0;R1J(RO)

k+1:MULRO,R2,R1;R0J(R2)X(R1)

k+2:ADDR0,R2,R3;ROJ(R2)+(R3)

畫出指令執(zhí)行過程的流水線時(shí)空?qǐng)D,并計(jì)算完成這3條指令共需要多少個(gè)

時(shí)鐘周期?

解:

在程序?qū)嶋H執(zhí)行過程中,二種數(shù)據(jù)相關(guān)會(huì)引起流水線停頓。一是“先寫后讀”相關(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í)鐘要讀R1o不能在同一時(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的寫是

在程序執(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ù)K〃數(shù)K*1〃得K+2/儲(chǔ)2

運(yùn)--K+1運(yùn)

運(yùn)一K+1運(yùn)K+2運(yùn)—

取數(shù)K取數(shù)K+1取2K+2取號(hào)攵

譯碼K洋軻K+1洋機(jī)K+2譯碼

取指K取指K+1K+2取1時(shí)間

0123456789

3.6有一指令流水線如下所示

50ns50ns100ns200ns

(1)求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;

(2)該流水

線的瓶頸”在哪一段?請(qǐng)采取萩種不同的措施消除此瓶

頸”。對(duì)于你所給出的兩種新的流水線,連續(xù)輸入10條指令時(shí),其實(shí)

際吞吐率和效率各是多少?

解:(1)

k

T一,t(nT)t

i=

=(5050100200)9200

二2200(ns)

TP=%?煜。*)

歡迎有需要的朋友下載!!5

叮叮小文庫

nt

i=1

k

kGL+(n-1)max?t/1IItQ

lii2JJ

-i=1-m

t.

i4005

=TPqTP45.45%

k411

(2)瓶頸在3、4段。變成八級(jí)流水線(細(xì)分)

2_?

—3-2-4」4_4.

50ns50n>50ns50ns50nsSOns

T,t.(n-1)t

k=i''max

iT

=508950

850(ns)

TP喙喝?

m

'二ti

y40010

E-TP—=TP58.82%

m817

重復(fù)設(shè)置部件

歡迎有需要的朋友下載!!6

叮叮小文庫

筆皺%8508/°

3.7有一個(gè)流水線由4段組成,其中每當(dāng)流經(jīng)第3段時(shí),總要在該段循環(huán)一次,然

后才能流到第4段。如果每段經(jīng)過一次所需要的時(shí)間都是4,問:

(1)當(dāng)在流水線的輸入端連續(xù)地每t時(shí)間輸入任務(wù)時(shí),該流水線會(huì)發(fā)生什么情

況?

(2)此流水線的最大吞吐率為多少?如果每2t輸入一個(gè)任務(wù),連續(xù)處理10個(gè)

任務(wù)時(shí)的實(shí)際吞吐率和效率是多少?

(3)當(dāng)每段時(shí)間不變時(shí),如何提高該流水線的吞吐率?仍連續(xù)處理10個(gè)

任務(wù)時(shí),其吞吐率提高多少?解:(1)會(huì)發(fā)生流水線阻塞情況。

第1個(gè)任

S1S2S3S3S4

務(wù)

第2個(gè)任

S1S2stallS3S3S4

務(wù)

第3個(gè)任

S1S2stallstallS3S3S4

務(wù)

第個(gè)任

4S1S2stallstallstallS3S3S4

務(wù)

歡迎有需要的朋友下載!!23>te

叮叮小文庫

=71.t

TPmax

pipeline

:E二TP5*=5°92,54.35%

T

pipeiine

(3)重復(fù)設(shè)置部件

14.'t

丁「二“丁蕨't

吞吐率提高倍數(shù)二上士=1.64

%

3.8有一條靜態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5

段,第3段的時(shí)間為2、其余各段的時(shí)間均t,而且流水線的輸出可以直接返回輸

入端或暫存于相應(yīng)的流水寄存器中?,F(xiàn)要在該流水線上計(jì)算陶公-Bi),畫出其時(shí)空

圖,并計(jì)算其吞吐率、加速比和效率。

加法

歡迎有需要的朋友下載!8

叮叮小文庫

解;首先,應(yīng)選擇適合于流水線工作的算法。對(duì)于本題,應(yīng)先計(jì)算A+BpA2

+B2>A3?B3和A4+B4:再計(jì)算(Aj+Bj)X(A2+Bj和(A3+B3)X(A4IB4);然

后求總的結(jié)果。

其次,畫出完成該計(jì)算的時(shí)空?qǐng)D,如圖所示,圖中陰影部分表示該段在工

由圖可見,它在18個(gè)出時(shí)間中,給出了7個(gè)結(jié)果。所以吞吐率為:

7

TP

18

SV61

18.t

如果不用流水線,由于一次求積需3出,一次求和需5出,則產(chǎn)生上述7個(gè)結(jié)

果共需(4X5+3X3)△=29At.所以加速比為:

3.8有一條動(dòng)態(tài)多功能流水線由5段組成,加法用1、3、4、5段,乘法用1、2、5

段,第2段的時(shí)間為2At,其余各段時(shí)間均為出,而且流水線的輸出可以直接返回

該流水線的效率可由陰影區(qū)的面積和5個(gè)段總時(shí)空區(qū)的面積的比值求得:

4533

=0.322

518

輸入端或暫存于相應(yīng)的流水寄存器中。若在該流水線上計(jì)算:

4

送(A9)

2

歡迎有需要的朋友下載B2!B3B4BC+D

9

叮叮小文庫

試計(jì)算其吞吐率、加速比和效率。

DA+BC+DA+B

5

4

3

輸0123456789101112131415161718

A+B

2

1

歡迎有需要的朋友下載B2!B3B4BC+D

10

叮叮小文庫

由圖可見,它在18個(gè)出時(shí)間中,給出了7個(gè)結(jié)果。所以吞吐率為:

TP=

18:t

如果不用流水線,由于一次求積需4出,一次求和需4出,則產(chǎn)生上述7個(gè)結(jié)

果共需(4M+3X4)△=28出。所以加速比為:

S28:t-1.56

18:t

該流水線的效率可由陰影區(qū)的面積和5個(gè)段總時(shí)空區(qū)的面積的比值求得:

E58180311

4.5在CRAY」機(jī)器上,按照鏈接方式執(zhí)行下述4條向量指令(括號(hào)中給出了相應(yīng)功

能部件的執(zhí)行時(shí)間),如果向量寄存器和功能部件之間的數(shù)據(jù)傳送需要1拍,試求此

鏈接流水線的通過時(shí)間是多少拍?如果向量長(zhǎng)度為64,則需多少拍才能得到全部結(jié)

果?

V葉存儲(chǔ)器(從存儲(chǔ)器中取數(shù):7拍)

V2—V0+V1(向量加:3拍)

V3—V2VA3(按(A3)左移:4拍)

VkV3AV4(向量邏輯乘:2拍)

解:通過時(shí)間就是每條向量指令的第一個(gè)操作數(shù)執(zhí)行完畢需要的時(shí)間,也就是各功能

流水線由空到滿的時(shí)間,在流水線充滿之后,向量中后繼操作數(shù)繼續(xù)以流水方式執(zhí)行,

直到整組向量執(zhí)行完畢。

11

叮叮小文庫

T通過=(1+7+1)+(1+3+1)+(14-4+1)+(1+2+1)=24(^)

7■總共二了通過+(64-1)=24+63=87拍

4.6T通過=(1+7+1)+(l+3+l)+(l+5+l)+(l+2+l)+(l+7+l)=34(ffi)

了總共T通過+(64-1)=63+34=97拍

4.7某機(jī)有16個(gè)向量寄存器,其中VOV5中分別放有向量A、B、C、D、E、

F,向量長(zhǎng)度均為8,向量各元素均為浮點(diǎn)數(shù);處理部件采用二個(gè)單功能流水線,加法

功能部件時(shí)間為2拍,乘法功能部件時(shí)間為3拍。用類似Crayl的鏈接技術(shù),先計(jì)

算(A+B)*C,在流水線不停流的情況下.接若計(jì)算(D+E)*Fo

解答:

(1)(A+B)*C可用以下2條指令完成:

V葉A+B

V1JVO*C

流水線流過時(shí)間為(1+2+1)+(1+3+1)=9拍

(2)實(shí)際吞吐率為X1000=257MF|_QPS

9+(8*2-1)50

4.8

分段開采

LVVI,Rb取向量B

MULTVSV2,VI,Fs向量和標(biāo)量相乘

SVRa,V2存向量

三條指令三個(gè)編隊(duì)

TJ「冊(cè)良仃如十%即)+mnMVL

T200=4x(15+Tstart)+200x3

=660+(4xTstart)

歡迎有需要的朋友下載??!12

叮叮小文庫

Tstart=12+7+12=31

T200=660+4x31=784

4.9

解:

i,m量指令序列執(zhí)行所需的時(shí)鐘周期數(shù)

“》::

CrayY-MP/8的峰值性能為:R=(1+1)X8/(6xl0)=16=2667MFLOPS

5.81設(shè)有一條長(zhǎng)流水線,僅僅對(duì)條件轉(zhuǎn)移指令使用分支目標(biāo)緩汨。假設(shè)分支預(yù)測(cè)錯(cuò)

誤的開銷為4個(gè)時(shí)鐘周期,緩沖不命中的開銷為3個(gè)時(shí)鐘周期。假設(shè):

命中率為90%,預(yù)測(cè)精度為90%,分支頻率為15%,沒有分支的基本CPI為1。

①求程序執(zhí)行的CPI.

②相對(duì)于采用固定的2個(gè)時(shí)鐘周期延遲的分支處理,哪種方法程序執(zhí)行速度更

快?

解:(1)程序執(zhí)行的CPI;沒有分支的基本CPI(1)+分支帶來的額外開銷

分支帶來的額外開銷是指在分支指令中,緩沖命中但預(yù)測(cè)錯(cuò)誤帶來的開銷與緩沖

沒有命中帶來的開銷之和。

分支帶來的額外開銷=15%*(90%命中X10%預(yù)測(cè)錯(cuò)誤X4+10%不命中X3)=

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.假設(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.1

x二2

當(dāng)分支目標(biāo)緩沖命中時(shí),無條件轉(zhuǎn)移指令的延遲為0。

所以程序的CPI=1+2X5%X(1—90%)=1.01

歡迎有需要的朋友下載!13

叮叮小文庫

7.8.假設(shè)對(duì)指令Cache的訪問占全部訪問的75%;而對(duì)數(shù)據(jù)Cache的訪問占全部訪問

的25%。Cache的命中時(shí)間為1個(gè)時(shí)鐘周期,不命中開銷為50個(gè)時(shí)鐘周期,在混合

Cache中一次load或store操作訪問Cache的命中時(shí)間都要增加一個(gè)時(shí)鐘周期,

32KB的指令Cache的不命中率為0.15%,32KB的數(shù)據(jù)Cache的不命中率為

3.77%,64KB的混合Cache的不命中率為0.95%o又假設(shè)采用寫直達(dá)策略,且有一

個(gè)寫緩沖器,并且忽略寫緩沖器引起的等待。試問指令Cache

和數(shù)據(jù)Cache容量均為32KB的分離Cache和容量為64KB的混合Cache相比,

哪種Cache的不命中率更低??jī)煞N情況下平均訪存時(shí)間各是多少?參考答案;

解:(1)根據(jù)題意,約75%的訪存為取指令,25%的訪存為數(shù)據(jù)。

因此,分離Cache的總體不命中率為:(75%X0.15%)+(25%X3.77%)

=1.055%;

容量為64KB的混合Cache的不命中率略低一些,只有0.95%o

(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%X50)

=(75%X1.075)+(25%X2.885)=1.5275

因?yàn)榛旌螩ache讀數(shù)據(jù)的都要增加1個(gè)時(shí)鐘周期

所以混合Cache的平均訪存時(shí)間二75%X(1+0.95%X50)+

25%X(1+1+0.95%X50)

=(75%X1.475)+(25%X2.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的不命中次數(shù)侄ij達(dá)該級(jí)Cache的訪存次

局部不命中率L110/3000=0.0367,不命中率L2=55/110=0.50

全局不命中率L1二不命中率L1=0.0367,

全局不命中率L2==不命中率L1X不命中率L2=0.0367X0.50=0.018

4

7.10給定以下的假設(shè),試計(jì)算直接映象Cache和兩路組相聯(lián)CaEhe的平均訪問時(shí)間

以及CPU的性能。由計(jì)算結(jié)果能得出什么結(jié)論?

(1混想Cache情況下的CPI為2.0,時(shí)鐘周期為2g平均每條指令訪存1.2次;⑵兩

者Cache容量均為64KB,塊大小都是32字節(jié);

(3)組相聯(lián)Cache中的多路選擇器使CPU的時(shí)鐘周期增加了10%;

歡迎有需要的朋友下載!14

叮叮小文庫

(4)這兩種Cache的不命中開銷都是80ns:

(5)命中時(shí)間為1個(gè)時(shí)鐘周期;

(6)64KB直接映象Cache的不命中率為1.4%,64KB兩路組相聯(lián)Cache的不命中

率為1.0%O

解:平均訪問時(shí)間二命中時(shí)間+不命中率X不命中開銷

平均訪問時(shí)間1^=2.0+1.4%*80=3.12ns

平均訪問時(shí)間232.0*(T+10%)+1.0%*80=3.0ns

兩路組相聯(lián)的平均訪問時(shí)間比較低

CPU=(CPU執(zhí)行+存儲(chǔ)等待周期)*時(shí)鐘周期

time總不命中次數(shù)/指令總數(shù)*不命中開銷)*時(shí)鐘周期

CPU=ic(CPI

=IC((CPI*時(shí)鐘周期)+(每條指令的訪存次數(shù)*小命中率*小命中開銷*時(shí)鐘周

期))

CPUtlme1_way=IC(2.0*2+1.2*0.014*80)=5.344IC

CPUtime2,way=IC(2.2*2+1.2*0.01*80)=5.36IC

CPU

相對(duì)t生能比:一一一*mj“5.36/5.344=1.003

CPU

timeJway

直接映象cache的訪問速度比兩路組相聯(lián)cache要快1.04倍,而兩路組相聯(lián)

Cache的平均性能比直接映象cache要高1.003倍。因此這里選擇兩路組相聯(lián)

7.14假設(shè)一臺(tái)計(jì)算機(jī)具有以下特性:

(/1!\

X/95%的訪存在Cache中命中;

/2\

X(/!塊大小為兩個(gè)字,且不命中時(shí)整個(gè)塊被調(diào)入;

3

(/>\

\/CPU發(fā)出訪存請(qǐng)求的速率為109字/s;

/4

X(

525%的訪存為寫訪問:

f/l\

\z存儲(chǔ)器的最大流量為10。字/5(包括讀和寫);

/6X

(7

X7主存每次只能讀或?qū)懸粋€(gè)字;

/\

(7

X8在任何時(shí)候,Cache中有30%的塊被修改過;

(/\

X7寫不命中時(shí),Cache采用按寫分配法。

現(xiàn)欲給該計(jì)算機(jī)增添一臺(tái)外設(shè),為此首先想知道主存的頻帶已用了多少試對(duì)于以

下兩種情況計(jì)算主存頻帶的平均使用比例。

1)寫直達(dá)Cache;

2)寫回法Cacheo

解:采用按寫分配

1)寫直達(dá)cache訪問命中,有兩種情況:

讀命中,不訪問主存;

寫命中,更新cache和主存,訪問主存一次。訪問不命中,有兩種

情況:

讀不命中,將主存中的塊調(diào)入cached,訪問主存兩次;

寫不命中,將要寫的塊調(diào)入cache訪問主存兩次,再將修改的數(shù)據(jù)

寫入cache和主存,訪問主存一次,共三次。上述分析如下表所

歡迎有需要的朋友下載!15

叮叮小文庫

zjso

訪問前中訪問類型頻率訪存次數(shù)

Y讀95%*75%=71.3%0

Y寫95%*25%=23.8%1

N讀5%*75%=3.8%2

N寫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塊被換出時(shí),才寫

入主存;

訪問不命中,有一個(gè)塊將被換出,這也有兩種情況:

如果被替換的塊沒有修改過,將主存中的塊調(diào)入cache塊中,訪問主存兩

次;

如果被替換的塊修改過,則首先將修改的塊寫入主存,需要訪問主存兩次;

然后將主存中的塊調(diào)入cache塊中,需要訪問主存兩次,共四次訪問主存。

訪問命中塊為臟頻率

訪存次數(shù)

YN95%*70%=66.5%0

YY95%*30%=28.5%0

NN5%*70%=3.5%2

NY5%*30%=1.5%4

一次訪存請(qǐng)求最后真正的平均訪存次數(shù)=

66.5%*0+28.5%*0+3.5%*2+1.5%*4=0,13

已用帶寬二13%

9.2(1)由Cube3(X3X2XjX0)=X3X2X1X0

歡迎有需要的朋友下載!16

叮叮小文庫

Cub%(0110)=1110即處理器14連接到處理器6令Cube(XXXX)=0110,得

332io

X3X2XiXo=1110

Cubes(0110)=1110即處理器14連接到處理器6所以處理器14和6雙向互連

:「4備占V尸X冷與2

;r(3)(0110)=(0101)即處理器5連接到處理器6令匚⑻(%X//0))=(0110)得

X3X2X1Xo=0011

所以處理器5和6連,3和5連

(x3x2x.xo)=xox2xix3

■(0110)=(0110)即處理器6連接到處理器6

所以處理器6和6雙向互連⑷由(>(XXXX)=XXXX

2321-231

()(0110)=(1010)即處理器10連接到處理器6

2

令?(XXXXJ)40110)得X3X2X1Xo=1O1O

所以處理器6和10雙向互連

(a)由Cube?(X4X3X2X/0)=X3X3X2X1X0

Cube2(12)=Cube2(01100)=01000即處理器8連接到處理器12

(b)由;「(X4X3X2X1X0)=X3X2X1X0X4

二⑻二;r(01000)=(10000)即處理器16連接到處理器

(C)由PM2130)=j2產(chǎn)。€132

歡迎有需要的朋友下載!17

叮叮小文庫

PM213(28)=28-23moe132=4即處理器4連接到處理器28

(d)Cubq(匚備X%x/))=Cubg(444%X)=%為XX0Xt

Cubeo(二⑷KCube。(r.(00100:.)=01001即處理器9連接到處理器8

(e);F(Cub(XXXXX))K以乂乂乂層)=乂乂乂乂滅

4321043213214

—(Cube°(18))=;:,Cube0(10010))=00111即處理器7連接到處理器28

(2)2n個(gè)節(jié)點(diǎn)的直徑為2n-1,從5號(hào)到7號(hào),最短經(jīng)過6步

00101001000100001001100101001100111

⑶循環(huán)移數(shù)網(wǎng)絡(luò)的節(jié)點(diǎn)度d=2n】直徑為n/2

網(wǎng)絡(luò)直徑是3,節(jié)點(diǎn)度是9,與2號(hào)最遠(yuǎn)的是13,15,21,23號(hào)處理器

9.11

0123456789ABcDEF

4組4元32101654BA98FEDC

2組8元45670123CDEF89AB

1組16元BA98FEDC32107654

0000-1011

Cube0+Cube1+Cube3

106一臺(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ī)器的CPI為1/基本IPC=1/2=0.5

有0.2%遠(yuǎn)程訪問的機(jī)器的實(shí)際CPI為CPI

二基本CPI+遠(yuǎn)程訪問率X遠(yuǎn)程訪問開銷

歡迎有需要的朋友下載!18

叮叮小文庫

=0.5+0.2%X遠(yuǎn)程訪問開銷

遠(yuǎn)程訪問開銷為:

遠(yuǎn)程訪問時(shí)間/時(shí)鐘周期時(shí)間:400ns/1ns=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倍。

歡迎有需要的朋友下載?。?9

叮叮小文庫

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直接映象Cache的不命中率為9.8%,2路組

相聯(lián)的不命中率為7.6%;128KB直接映象Cache的不命中率為1.0%,2路組相聯(lián)的不命

中率為0.7%o

(1)推導(dǎo)出平均訪存時(shí)間的公式。

(2)利用(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í)間二命中時(shí)間1+偽命中率X1

偽相聯(lián)1路偽相聯(lián)

交換或不交換內(nèi)容,偽相聯(lián)的命中率都是由于在第一次不命中時(shí),將地址取

反,再在第二次查找?guī)淼摹?/p>

因此偽命中率=命中率2—命中率1=(1一不命中率2)一(1一不命中率1)

飽相聯(lián),路■路,西?路

=不命中率[路一不命中率2路。交換內(nèi)容需要增加偽相聯(lián)的額外開銷。

平均訪存時(shí)間=命中時(shí)間1+(不命中率1一不命中率2)X1

偽相聯(lián)皂一V且A,一一路

+不命中率2X不命中開銷

4路1路

將題設(shè)中的數(shù)據(jù)帶入計(jì)算,得到:

平均訪存時(shí)間2Kb幻+(0.098-0.076)*1+(0.076*50)=4.822平均訪存時(shí)

間128Kb幻+(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)在理想TLB情況下,計(jì)算均采用寫回法16KB直接映象統(tǒng)一Cache、16KB兩路組相

聯(lián)統(tǒng)一Cache和32KB直接映象統(tǒng)一Cache機(jī)器的實(shí)際CPI:

(2)在實(shí)際TLB情況下,用(1)的結(jié)果,計(jì)算均采用寫回法16KB直接映象統(tǒng)一

Cache.16KB兩路組相聯(lián)統(tǒng)一Cache和32KB直接映象統(tǒng)一Cache機(jī)器的實(shí)際

CPI;

歡迎有需要的朋友下載!20

叮叮小文庫

其中假設(shè)16KB直接映象統(tǒng)一Cache,16KB兩路組相聯(lián)統(tǒng)一Cache和32KB直接映象

統(tǒng)一Cache的不命中率分別為2.9%、2.2%和2.0%;25%的訪存為寫訪問。

解:CPI=CPI+存儲(chǔ)停頓周期數(shù)/指令數(shù)

執(zhí)行

存儲(chǔ)停頓由下列原因引起:

從主存中取指令

load和store指令訪問數(shù)據(jù)

由TLB引起

溫馨提示

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