




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
有一指令流水線如下所示
入T1I2I3I4出
50ns50ns100ns200ns
(1)求連續(xù)輸入10條指令,該流水線的實(shí)際吞吐率和效率;
(2)該流水線的“瓶頸”在哪一段請(qǐng)采取兩種不同的措施消除此“瓶
頸”。對(duì)于你所給出的兩種新的流水線,連續(xù)輸入10條指令時(shí),其實(shí)
際吞吐率和效率各是多少
解:(1)
Tpipcline=^Ati+(n-l)Atmax
i=l
=(50+50+100+200)+9x200
=2200(ns)
TP=%M『%20(Z)
yAt.
,140()S
E=TP且一=TP—=—^45.45%
m411
(2)瓶頸在3、4段。
變成八級(jí)流水線(細(xì)分)
in
Tpipeline=):Ati+(0-1)Atinax
i=l
=50x8+9x50
=85()(ns)
TP=%pi=%5(2)
m
VAti
—40010
E=TP—=TP—=—?58.82%
m817
重復(fù)設(shè)置部件
E=40()X%50X8=%-58-82%
有一
組成,其
段時(shí),總
次,然后才能流到第4段。如果每段經(jīng)過一次所需要的時(shí)間都是加,問:
(1)當(dāng)在流水線的輸入端連續(xù)地每時(shí)間輸入任務(wù)時(shí),該流水線會(huì)發(fā)生
什么情況
(2)此流水線的最大吞吐率為多少如果每24輸入一個(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è)
S1S2sta11S3S3S4
任務(wù)
第3個(gè)S1staIIS2staIIS3S3S4
任務(wù)
第4個(gè)
S1staIIS2staIIS3S3S4
任務(wù)
(2)
段
TP
max2A/
^pipeline=23加
TP=%i=%3加
AE=TP-5M=5%2工54.35%
(3)重復(fù)設(shè)置部件
14A/
^=1.61
18A/
該流水線的效率可由陰影區(qū)的面積和5個(gè)段總時(shí)空區(qū)的面積的比值求得:
八EQ
=0.322
5x18
動(dòng)態(tài)多功能流水線由6個(gè)功能段組成,如下圖:
加法
乘法
其中,SKS4、S5、S6組成乘法流水線,SbS2、S3、S6組成加法流水線,
各個(gè)功能段時(shí)間均為50ns,假設(shè)該流水線的輸出結(jié)果可以直接返回輸入端,而
且設(shè)置有足夠的緩沖寄存器,若以最快的方式用該流水計(jì)算:之xyz.
i=l
(1)畫出時(shí)空?qǐng)D;
(2)計(jì)算實(shí)際的吞吐率、加速比和效率。
解:機(jī)器一共要做10次乘法,4次加法。
22At
⑵
TP=22A7
加速比=藥=2.55
效率=黑"=4Z42%
//入O
在MIPS流水線上運(yùn)行如下代碼序列:
LOOP:LWR1,0(R2)
DADDIUR1,R1,#1
SWR1,0(R2)
DADDIUR2,R2,#4
DSUBR4,R3,R2
BNEZR4,LOOP
其中:R3的初值是R2+396。假設(shè):在整個(gè)代碼序列的運(yùn)行過程中,所有
的存儲(chǔ)器訪問都是命中的,并且在一個(gè)時(shí)鐘周期中對(duì)同一個(gè)寄存器的讀操作和寫
操作可以通過寄存器文件“定向”。問:
(D在沒有任何其它定向(或旁路)硬件的支持下,請(qǐng)畫出該指令序列
執(zhí)行的流水線時(shí)空?qǐng)D。假設(shè)采用排空流水線的策略處理分支指令,且
所有的存儲(chǔ)器訪問都命中Cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周
期
(2)假設(shè)該流水線有正常的定向路徑,請(qǐng)畫出該指令序列執(zhí)行的流水線
時(shí)空?qǐng)D。假設(shè)采用預(yù)測(cè)分支失敗的策略處理分支指令,且所有的存儲(chǔ)
器訪問都命中Cache,那么執(zhí)行上述循環(huán)需要多少個(gè)時(shí)鐘周期
(3)假設(shè)該流水線有正常的定向路徑和一個(gè)單周期延遲分支,請(qǐng)對(duì)該循
環(huán)中的指令進(jìn)行調(diào)度,你可以重新組織指令的順序,也可以修改指令
的操作數(shù),但是注意不能增加指令的條數(shù)。請(qǐng)畫出該指令序列執(zhí)行的
流水線時(shí)空?qǐng)D,并計(jì)算執(zhí)行上述循環(huán)所需要的時(shí)鐘周期數(shù)。
解:
寄存器讀寫可以定向,無其他旁路硬件支持。排空流水線。
指令12345678910111213141516171819202122
LWIFIDEXMWB
DADDIUIFSSIDEXMWB
SWIFSIDEXMWB
DADDIUIFIDEXMWB
DSUBIFSSIDEXMWB
BNEZIFSSIDEXMWB
LWIFSSIFIDEXMWB
第i次迭代(i=0..98)開始周期:1+(iX17)
總的時(shí)鐘周期數(shù):(98X17)+18=1684
有正常定向路徑,預(yù)測(cè)分支失敗。
指令12345678910111131415
LWIFIDEXMWB
DADDIUIFIDSEXMWB
SWIFSIDEXMWB
DADDIUIFIDEXMWB
DSUBIFIDEXMWB
BNEZIFIDEXMWB
LWIFmissmissIFIDEXMWB
第i次迭代(i=O..98)開始周期:1+(iX1O)
總的時(shí)鐘周期數(shù):(98X10)+11=991
有正常定向路徑。單周期延遲分支。
LOOP:LWR1,0(R2)
DADDIUR2,R2,#4
DADDIUR1,R1,#1
DSUBR4,R3,R2
BNEZR4,LOOP
SWR1,-4(R2)
第i次迭代(i=0.,98)開始周期:1+(iX6)
總的時(shí)鐘周期數(shù):(98X6)+10=598
指令I(lǐng)I234567891011
LWIFIDEXMWB
DADDIUIFIDEXMWB
DADDIUIFIDEXMWB
DSUBIFIDEXMWB
BNEZIFIDEXMWB
SWIFIDEXMWB
LWIFIDEXMWB
假設(shè)各種分支指令數(shù)占所有指令數(shù)的百分比如下:
條件分支20%(其中的60席是分支成功的)
跳轉(zhuǎn)和調(diào)用5%
現(xiàn)有一條段數(shù)為4的流水線,無條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析
出來,而條件分支要到第三個(gè)時(shí)鐘周期結(jié)束時(shí)才能夠被解析出來。第一個(gè)流水段
是完全獨(dú)立于指令類型的,即所有類型的指令都必須經(jīng)過第一個(gè)流水段的處理。
請(qǐng)問在沒有任何控制相關(guān)的情況下,該流水線相對(duì)于存在上述控制相關(guān)情況下的
加速比是多少
解:沒有控制相關(guān)時(shí)流水線的平均CPI=1
存在控制相關(guān)時(shí):由于無條件分支在第二個(gè)時(shí)鐘周期結(jié)束時(shí)就被解析出來,
而條件分支
要到第3個(gè)時(shí)鐘周期結(jié)束時(shí)才能被解析出來。所以:
(1)若使用排空流水線的策略,則對(duì)于條件分支,有兩個(gè)額外的stall.
對(duì)無條件分支,有一個(gè)額外的stall:
CPI=1+20%*2+5%*1=
加速比S=CP1/1=
(2)若使用預(yù)測(cè)分支成功策略,則對(duì)于不成功的條件分支,有兩個(gè)額外的
stalI,對(duì)無條件分支和成功的條件分支,有一個(gè)額外的stalI1:
CPI=1+20%*(60%*1+40%*2)+5%*1=
加速比S=CPI/1=
(3)若使用預(yù)測(cè)分支失敗策略,則對(duì)于成功的條件分支,有兩個(gè)額外的
stall;對(duì)無條件分支,有一個(gè)額外的stall;對(duì)不成功的條件分支,其目標(biāo)地
址已經(jīng)由PC值給出,不必等待,所以無延遲:
CPI=1+20%*(60%*2+40%*0)+5%*1=
加速比SRPI/1=
假設(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的失效率為%,32KB的數(shù)據(jù)Cache的失效率為需64KB
的混合Cache的失效率為機(jī)又假設(shè)采用寫直達(dá)策略,且有一個(gè)寫緩沖器,并且
忽略寫緩沖器引起的等待。試問指令Cache和數(shù)據(jù)Cache容量均為32KB的分離
Cache和容量為64KB的混合Cache相比,哪種Cache的失效率更低兩種情況下
平均訪存時(shí)間各是多少
解:(1)根據(jù)題意,約75%的訪存為取指令。
因此,分離Cache的總體失效率為:(75%X%)+(25%X%)=%;
容量為128KB的混合Cache的失效率略低一些,只有%。
(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+%X50)+25%X(1+%X50)
=(75%X)+(25%X)=
混合Cache的平均訪存時(shí)間=75%X(1+%X50)+25%X(1+1+%X50)
=(75%X)+(25%X)=
因此,盡管分離Cache的實(shí)際失效率比混合Cache的高,但其平均訪存時(shí)間
反而較低。分離Cache提供了兩個(gè)端口,消除了結(jié)構(gòu)相關(guān)。
給定以下的假設(shè),試計(jì)算直接映象Cache和兩路組相聯(lián)Cache的平均訪問
時(shí)間以及CPU的性能。由計(jì)算結(jié)果能得出什么結(jié)論
(1)理想Cache情況下的CPI為,時(shí)鐘周期為2ns,平均每條指令訪存次;
(2)兩者Cache容量均為64KB,塊大小都是32字節(jié);
(3)組相聯(lián)Cache中的多路選擇器使CPU的時(shí)鐘周期增加了10%;
(4)這兩種Cache的失效開銷都是80ns;
(5)命中時(shí)間為1個(gè)時(shí)鐘周期;
(6)64KB直接映象Cache的失效率為%,64KB兩路組相聯(lián)Cache的失效
率為%。
解:平均訪問時(shí)間=命中時(shí)間+失效率X失效開銷
平均訪問時(shí)間一路二+%*80=
平均訪問時(shí)間2路二*(1+10%)+%*80=
兩路組相聯(lián)的平均訪問時(shí)間比較低
CPUtimc=(CPU執(zhí)行+存儲(chǔ)等待周期)*時(shí)鐘周期
CPUtim=IC(CPI執(zhí)行+總失效次數(shù)/指令總數(shù)*失效開銷)*時(shí)鐘周期
=IC((CPI執(zhí)行*時(shí)鐘周期)+(每條指令的訪存次數(shù)*失效率*失效開銷*時(shí)鐘
周期))
CPUtime1F-IC*2+**80)=
CPUtimt2.?=IC*2+**80)=
CPU
相對(duì)性能比:蟲""二=
JCP'Uulime-1way
直接映象cache的訪問速度比兩路組相聯(lián)cache要快倍,而兩路組相聯(lián)
Cache的平均性能比直接映象cache要高倍。因此這里選擇兩路組相聯(lián)。
假設(shè)一臺(tái)計(jì)算機(jī)具有以下特性:
(1)95%的訪存在Cache中命中;
(2)塊大小為兩個(gè)字,且失效時(shí)整個(gè)塊被調(diào)入;
(3)CPU發(fā)出訪存請(qǐng)求的速率為IO。字/s;
(4)25%的訪存為寫訪問;
(5)存儲(chǔ)器的最大流量為IO,字/s(包括讀和寫);
(6)主存每次只能讀或?qū)懸粋€(gè)字;
(7)在任何時(shí)候,Cache中有30%的塊被修改過;
(8)寫失效時(shí),Cache采用按寫分配法。
現(xiàn)欲給該計(jì)算機(jī)增添一臺(tái)外設(shè),為此首先想知道主存的頻帶已用了多少。試
對(duì)于以下兩種情況計(jì)算主存頻帶的平均使用比例。
(1)寫直達(dá)Cache;
(2)寫回法Cache。
解:采用按寫分配
(1)寫直達(dá)cache訪問命中,有兩種情況:
讀命中,不訪問主存;
寫命中,更新cache和主存,訪問主存一次。
訪問失效,有兩種情況:
讀失效,將主存中的塊調(diào)入cache中,訪問主存兩次;
寫失效,將要寫的塊調(diào)入cache,訪問主存兩次,再將修改的數(shù)
據(jù)寫入cache和主存,訪問主存一次,共三次。上述分析如下表所示。
訪問命中訪問類頻率訪存次
型數(shù)
Y讀95%*75%=%0
Y弓95%*25%=%1
N讀5%*75%=%2
N弓5%*25%=%3
一次訪存請(qǐng)求最后真正的平均訪存次數(shù)=%*0))+%*2)+%*3)=
已用帶寬二X1(//IO9=%
(2)寫回法cache訪問命中,有兩種情況:
讀命中,不訪問主存;
寫命中,不訪問主存。采用寫回法,只有當(dāng)修改的cache塊被換
出時(shí),才寫入主存;
訪問失效,有一個(gè)塊將被換出,這也有兩種情況:
如果被替換的塊沒有修改過,將主存中的塊調(diào)入cache塊中,訪問主存
兩次;
如果被替換的塊修改過,則首先將修改的塊寫入主存,需要訪問主存兩
次;然后將主存中的塊調(diào)入cache塊中,需要訪問主存兩次,共四次訪問主
存。
訪問命中塊為臟頻率訪存次
數(shù)
YN95%*70%=%0
YY95%*30%=%0
NN5%*70%=%2
NY5%*30%=%4
所以:
一次訪存請(qǐng)求最后真正的平均訪存次數(shù)=%*0+%*0+%*2+$*4二
已用帶寬=X10%。9=13%
在偽相聯(lián)中,假?zèng)]在直接映象位置沒有發(fā)現(xiàn)匹配,而在另一個(gè)位置才找到
數(shù)據(jù)(偽命中)時(shí),不對(duì)這兩個(gè)位置的數(shù)據(jù)進(jìn)行交換。這時(shí)只需要1個(gè)額外的周
期。假設(shè)失效開銷為50個(gè)時(shí)鐘周期,2KB直接映象Cache的失效率為斬2路組
相聯(lián)的失效率為%;128KB直接映象Cache的失效率為樂2路組相聯(lián)的失效率為%。
(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í)間偽相聯(lián)=命中時(shí)間1路+偽命中率偽相聯(lián)X1
交換或不交換內(nèi)容,偽相聯(lián)的命中率都是由于在第一次失效時(shí),將地址取反,
再在第二次查找?guī)淼摹?/p>
因此偽命中率偽相聯(lián)=命中率2路一命中率1路=(1一失效率2路)-(1一失效
率幅)
=失效率悟一失效率2路。交換內(nèi)容需要增加偽相聯(lián)的額
外開銷。
平均訪存時(shí)間偽相聯(lián)=命中時(shí)間1躇+(失敗率I絡(luò)一失敗率2路)X1
+失效率2路X失效開銷?
將題設(shè)中的數(shù)據(jù)帶入計(jì)算,得到:
平均訪存時(shí)間2Kb=1+*50)=
平均訪存時(shí)間128Kb=1+*50)二
顯然是128KB的偽相聯(lián)Cache要快一些。
假設(shè)采用理想存儲(chǔ)器系統(tǒng)時(shí)的基本CPI是,主存延遲是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)
生的地址有%沒有在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)
—Cachex16KB兩路組相聯(lián)統(tǒng)一Cache和32KB直接映象統(tǒng)一Cache機(jī)器
的實(shí)際CPI;
其中假設(shè)16KB直接映象統(tǒng)一Cache、16KB兩路組相聯(lián)統(tǒng)一Cache和32KB
直接映象統(tǒng)一Cache的失效率分別為%、%和%;25%的訪存為寫訪問。
解:CPI二CPI執(zhí)行+存儲(chǔ)停頓周期數(shù)/指令數(shù)
存儲(chǔ)停頓由下列原因引起:
從主存中取指令
load和store指令訪問數(shù)據(jù)
由TLB引起
存儲(chǔ)停頓周期數(shù)—取指令停頓?數(shù)據(jù)訪訶停頓+TLB停頓
指令數(shù)指令數(shù)指令數(shù)
停頓周期數(shù)—存儲(chǔ)訪問
x失效率x失效開銷
存儲(chǔ)停頓周期數(shù)=(R指令P指令,(,數(shù)據(jù)區(qū)牧據(jù)「數(shù)據(jù))+TLB停頓
指令數(shù)指令數(shù)
(1)對(duì)于理想TLB,TLB失效開銷為0。而對(duì)于統(tǒng)一Cache,R指令二R蟠
P指令二主存延遲一傳輸一個(gè)塊需要使用的時(shí)間=40+32/4=48(拍)
若為讀失效,P^=生存延遲+傳輸一個(gè)塊需要使用的時(shí)間=40+32/4=
48(拍)
若為寫失效,且塊是干凈的,
P數(shù)據(jù)=主存延遲+傳輸一個(gè)塊需要使用的時(shí)間=40+32/4=48
(拍)
若為寫失效,且塊是臟的,
P數(shù)據(jù)=主存延遲+傳輸兩個(gè)塊需要使用的時(shí)間=40+64/4=56
(拍)
CPI=+[RP+(RP*20%)+0]
指令訪存全是讀,而數(shù)據(jù)傳輸指令Load或Store指令,
千斂抿*P數(shù)據(jù)=讀百分比*(f致抿*P數(shù)或)+寫百分比*(f數(shù)據(jù)*P干凈數(shù)據(jù)*其對(duì)應(yīng)的
百分比
+千數(shù)提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 前端技術(shù)面試題及答案
- 2025年中國(guó)合同法中的漏洞與改進(jìn)
- 2025員工試用期合同協(xié)議書范本「標(biāo)準(zhǔn)版」
- 2025珠寶首飾購(gòu)銷合同范本
- 2025酒店管理租賃合同范本
- 婚內(nèi)財(cái)產(chǎn)協(xié)議書范本(正式文本)
- 公告知識(shí)培訓(xùn)課件
- 搭建帳篷安全知識(shí)培訓(xùn)班課件
- 2025設(shè)備租賃合同補(bǔ)充協(xié)議范本
- 公司財(cái)務(wù)知識(shí)培訓(xùn)視課件
- 國(guó)家電網(wǎng)公司供電企業(yè)勞動(dòng)定員標(biāo)準(zhǔn)
- 7-聊城東制梁場(chǎng)80t龍門吊安拆安全專項(xiàng)方案-八局一-新建鄭州至濟(jì)南鐵路(山東段)工程ZJTLSG-2標(biāo)段
- 證據(jù)目錄范本
- 中興 ZXNOE 9700 系統(tǒng)介紹
- GB/T 21475-2008造船指示燈顏色
- 有理數(shù)加減混合運(yùn)算練習(xí)題300道-
- 園林綠化工高級(jí)技師知識(shí)考試題庫(kù)(附含答案)
- 安醫(yī)大生殖醫(yī)學(xué)課件04胚胎的培養(yǎng)
- 提高腸鏡患者腸道準(zhǔn)備合格率課件
- 滅火器每月定期檢查及記錄(卡)表
- 關(guān)于推薦評(píng)審高級(jí)工程師專業(yè)技術(shù)職務(wù)的推薦意見報(bào)告
評(píng)論
0/150
提交評(píng)論