計(jì)算機(jī)體系結(jié)構(gòu)第五章課后習(xí)題答案_第1頁
計(jì)算機(jī)體系結(jié)構(gòu)第五章課后習(xí)題答案_第2頁
計(jì)算機(jī)體系結(jié)構(gòu)第五章課后習(xí)題答案_第3頁
計(jì)算機(jī)體系結(jié)構(gòu)第五章課后習(xí)題答案_第4頁
計(jì)算機(jī)體系結(jié)構(gòu)第五章課后習(xí)題答案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、第五章 存儲層次5.1名詞解釋1 存儲層次采用不同的技術(shù)實(shí)現(xiàn)的存儲器,處在離cpu不同距離的層次上,目標(biāo)是達(dá)到離cpu最近的存儲器的速度,最遠(yuǎn)的存儲器的容量。2 全相聯(lián)映象主存中的任一塊可以被放置到cache中任意一個(gè)地方。3 直接映象主存中的每一塊只能被放置到cache中唯一的一個(gè)地方。4 組相聯(lián)映象主存中的每一塊可以放置到cache中唯一的一組中任何一個(gè)地方(cache分成若干組,每組由若干塊構(gòu)成)。5 替換算法由于主存中的塊比cache中的塊多,所以當(dāng)要從主存中調(diào)一個(gè)塊到cache中時(shí),會出現(xiàn)該塊所映象到的一組(或一個(gè))cache塊已全部被占用的情況。這時(shí),需要被迫騰出其中的某一塊,以接

2、納新調(diào)入的塊。6 lru選擇最近最少被訪問的塊作為被替換的塊。實(shí)際實(shí)現(xiàn)都是選擇最久沒有被訪問的塊作為被替換的塊。7 寫直達(dá)法在執(zhí)行寫操作時(shí),不僅把信息寫入cache中相應(yīng)的塊,而且也寫入下一級存儲器中相應(yīng)的塊。8 寫回法只把信息寫入cache中相應(yīng)塊,該塊只有被替換時(shí),才被寫回主存。9 按寫分配法寫失效時(shí),先把所寫單元所在的塊調(diào)入cache,然后再進(jìn)行寫入。10 不按寫分配法寫失效時(shí),直接寫入下一級存儲器中,而不把相應(yīng)的塊調(diào)入cache。11 寫合并在往緩沖器寫入地址和數(shù)據(jù)時(shí),如果緩沖器中存在被修改過的塊,就檢查其地址,看看本次寫入數(shù)據(jù)的地址是否和緩沖器內(nèi)某個(gè)有效塊的地址匹配。如果匹配,就將新

3、數(shù)據(jù)與該塊合并。12 命中時(shí)間訪問cache命中時(shí)所用的時(shí)間。13 失效率cpu訪存時(shí),在一級存儲器中找不到所需信息的概率。14 失效開銷cpu向二級存儲器發(fā)出訪問請求到把這個(gè)數(shù)據(jù)調(diào)入一級存儲器所需的時(shí)間。15 強(qiáng)制性失效當(dāng)?shù)谝淮卧L問一個(gè)塊時(shí),該塊不在cache中,需要從下一級存儲器中調(diào)入cache,這就是強(qiáng)制性失效。16 容量失效如果程序在執(zhí)行時(shí),所需要的塊不能全部調(diào)入cache中,則當(dāng)某些塊被替換后又重新被訪問,就會產(chǎn)生失效,這種失效就稱作容量失效。17 沖突失效在組相聯(lián)或直接映象cache中,若太多的塊映象到同一組(塊)中,則會出現(xiàn)該組中某個(gè)塊被別的塊替換(即使別的組或塊有空閑位置),然

4、后又被重新訪問的情況。18 2:1cache經(jīng)驗(yàn)規(guī)則大小為n的直接映象cache的失效率約等于大小為n /2的兩路組相聯(lián)cache的實(shí)效率。19 相聯(lián)度在組相聯(lián)中,每組cache中的塊數(shù)。20 victim cache位于cache和存儲器之間的又一級cache,容量小,采用全相聯(lián)策略。用于存放由于失效而被丟棄(替換)的那些塊。每當(dāng)失效發(fā)生時(shí),在訪問下一級存儲器之前,先檢查victim cache中是否含有所需塊。21 偽相聯(lián)cache一種既能獲得多路組相聯(lián)cache的低失效率,又能獲得直接映象cache的命中速度的相聯(lián)辦法。22 故障性預(yù)取在預(yù)取時(shí),若出現(xiàn)虛地址故障或違反保護(hù)權(quán)限,就會發(fā)生異

5、常。23 非故障性預(yù)取在預(yù)取時(shí),若出現(xiàn)虛地址故障或違反保護(hù)權(quán)限,不發(fā)生異常。24 非阻塞cachecache在等待預(yù)取數(shù)據(jù)返回時(shí),還能繼續(xù)提供指令和數(shù)據(jù)。25 子塊放置技術(shù)把一個(gè)cache塊劃分為若干小塊,稱為子塊(sub-blocks),并為每個(gè)子塊賦予一位有效值,用于說明該子塊中的數(shù)據(jù)是否有效。失效時(shí),只需從下一級存儲器調(diào)入一個(gè)子塊。26 盡早重啟動在請求字沒有到達(dá)時(shí),cpu處于等待狀態(tài)。一旦請求字到達(dá),就立即發(fā)送給cpu,讓等待的cpu盡早重啟動,繼續(xù)執(zhí)行。27 請求字優(yōu)先調(diào) 塊時(shí),首先向存儲器請求cpu所要的請求字。請求字一旦到達(dá),就立即送往cpu,讓cpu繼續(xù)執(zhí)行,同時(shí)從存儲器調(diào)入該

6、塊的其余部分。28 多級包容性一級存儲器(cache)中的數(shù)據(jù)總位于下一級存儲器中。29 虛擬cache地址使用虛地址的cache。30 多體交叉技術(shù)具有多個(gè)存儲體,各體之間按字交叉的存儲技術(shù)。31 存儲體沖突多個(gè)請求要訪問同一個(gè)體。32 tlb一個(gè)專用高速存儲器,用于存放近期經(jīng)常使用的頁表項(xiàng),其內(nèi)容是頁表部分內(nèi)容的一個(gè)副本。5.2 簡述“cache主存”和“主存輔存”層次的區(qū)別。 存儲層次比較項(xiàng)目“cache主存”層次“主存輔存”層次目 的為了彌補(bǔ)主存速度的不足為了彌補(bǔ)主存容量的不足存儲管理實(shí)現(xiàn)全部由專用硬件實(shí)現(xiàn)主要由軟件實(shí)現(xiàn)訪問速度的比值(第一級比第二級)幾比一幾百比一典型的塊(頁)大小幾

7、十個(gè)字節(jié)幾百到幾千個(gè)字節(jié)cpu對第二級的訪問方式可直接訪問均通過第一級失效時(shí)cpu是否切換不切換切換到其它進(jìn)程5.3 降低cache失效率有哪幾種方法?簡述其基本思想。常用的降低cache失效率的方法有下面幾種:(1) 增加cache塊大小。增加塊大小利用了程序的空間局部性。(2) 提高相聯(lián)度,降低沖突失效。(3) victim cache,降低沖突失效。(4) 偽相聯(lián)cache,降低沖突失效。(5) 硬件預(yù)取技術(shù),指令和數(shù)據(jù)都可以在處理器提出訪問請求前進(jìn)行預(yù)取。(6) 由編譯器控制的預(yù)取,硬件預(yù)取的替代方法,在編譯時(shí)加入預(yù)取的指令,在數(shù)據(jù)被用到之前發(fā)出預(yù)取請求。(7) 編譯器優(yōu)化,通過對軟件

8、的優(yōu)化來降低失效率。5.4簡述減小cache失效的幾種方法。(1) 讓讀失效優(yōu)先于寫。(2) 子塊放置技術(shù)。(3) 請求字處理技術(shù)。(4) 非阻塞cache技術(shù)。(5) 采用兩級cache、5.5通過編譯器對程序優(yōu)化來改進(jìn)cache性能的方法有哪幾種?簡述其基本思想。(1) 數(shù)組合并,通過提高空間局部性來減少失效次數(shù)。有些程序同時(shí)用相同的索引來訪問若干個(gè)數(shù)組的同一維,這些訪問可能會相互干擾,導(dǎo)致沖突失效,可以將這些相互獨(dú)立的數(shù)組合并成一個(gè)復(fù)合數(shù)組,使得一個(gè)cache塊中能包含全部所需元素。(2) 內(nèi)外循環(huán)交換。循環(huán)嵌套時(shí),程序沒有按數(shù)據(jù)在存儲器中的循序訪問。只要簡單地交換內(nèi)外循環(huán),就能使程序按

9、數(shù)據(jù)在存儲器中的存儲循序進(jìn)行訪問。(3) 循環(huán)融合。有些程序含有幾部分獨(dú)立的程序斷,它們用相同的循環(huán)訪問同樣的數(shù)組,對相同的數(shù)據(jù)作不同的運(yùn)算。通過將它們?nèi)诤铣梢粋€(gè)單一循環(huán),能使讀入cache的數(shù)據(jù)被替換出去之前得到反復(fù)的使用。(4) 分塊。通過改進(jìn)時(shí)間局部性來減少失效。分塊不是對數(shù)組的整行或整列進(jìn)行訪問,而是對子矩陣或塊進(jìn)行操作。5.6 在“cache主存”層次中,主存的更新算法有哪幾種?它們各有什么特點(diǎn)?(1) 寫直達(dá)法 易于實(shí)現(xiàn),而且下一級存儲器中的數(shù)據(jù)總是最新的。(2) 寫回法速度塊,“寫”操作能以cache存儲器的速度進(jìn)行。而且對于同一單元的多個(gè)寫最后只需一次寫回下一級存儲器,有些“寫

10、”只到達(dá)cache,不到達(dá)主存,因而所使用的存儲器頻帶較低。5.7 組相聯(lián)cache比相同容量的之直接映象cache的失效率低。由此是否可以得出結(jié)論:采用組相聯(lián)cache一定能帶來性能上的提高?為什么?答:不一定。因?yàn)榻M相聯(lián)命中率的提高是以增加命中時(shí)間為代價(jià)的,組相聯(lián)需要增加多路選擇開關(guān)。5.8 寫出三級cache的平均訪問時(shí)間ta的公式。 平均訪存時(shí)間 命中時(shí)間失效率×失效開銷只有第i層的失效時(shí)才會訪問第i1設(shè)三級cache的命中率分別為hl1、 hl2、 hl3,失效率分別為ml1、ml2、ml3,第三級cache的失效開銷為pl3。 平均訪問時(shí)間ta hl1ml1hl2ml2(

11、hl3ml3×pl3)5.9 給定以下的假設(shè),試計(jì)算直接映象cache和兩路組相聯(lián)cache的平均訪問時(shí)間以及cpu的性能。由計(jì)算結(jié)果能得出什么結(jié)論?(1) 理想cache情況下的cpi為2.0,時(shí)鐘周期為2ns,平均每條指令訪存1.2次;(2) 兩者cache容量均為64kb,塊大小都是32字節(jié);(3) 組相聯(lián)cache中的多路選擇器使cpu的時(shí)鐘周期增加了10;(4) 這兩種cache的失效開銷都是80ns;(5) 命中時(shí)間為1個(gè)時(shí)鐘周期;(6) 64kb直接映象cache的失效率為1.4,64kb兩路組相聯(lián)cache的失效率為1.0。解: 平均訪問時(shí)間命中時(shí)間失效率×

12、失效開銷平均訪問時(shí)間1-路=2.0+1.4% *80=3.12ns平均訪問時(shí)間2-路=2.0*(1+10%)+1.0% *80=3.0ns兩路組相聯(lián)的平均訪問時(shí)間比較低cputime=(cpu執(zhí)行+存儲等待周期)*時(shí)鐘周期cpu time=ic(cpi執(zhí)行+總失效次數(shù)/指令總數(shù)*失效開銷) *時(shí)鐘周期=ic(cpi執(zhí)行*時(shí)鐘周期)+(每條指令的訪存次數(shù)*失效率*失效開銷*時(shí)鐘周期)cpu time 1-way=ic(2.0*2+1.2*0.014*80)5.344iccpu time 2-way=ic(2.2*2+1.2*0.01*80)5.36ic相對性能比:5.36/5.344=1.003

13、直接映象cache的訪問速度比兩路組相聯(lián)cache要快1.04倍,而兩路組相聯(lián)cache的平均性能比直接映象cache要高1.003倍。因此這里選擇兩路組相聯(lián)。5.10 假設(shè)一臺計(jì)算機(jī)具有以下特性:(1) 95的訪存在cache中命中;(2) 塊大小為兩個(gè)字,且失效時(shí)整個(gè)塊被調(diào)入;(3) cpu發(fā)出訪存請求的速率為109字/秒;(4) 25的訪存為寫訪問;(5) 存儲器的最大流量為109字/秒(包括讀和寫);(6) 主存每次只能讀或?qū)懸粋€(gè)字;(7) 在任何時(shí)候,cache中 有30的塊被修改過;(8) 寫失效時(shí),cache采用寫分配法?,F(xiàn)欲給計(jì)算機(jī)增添一臺外設(shè),為此想先知道主存的頻帶已經(jīng)使用了

14、多少。試對于以下兩種情況計(jì)算主存頻帶的平均使用比例。(1) 寫直達(dá)cache;(2) 寫回法cache。解:采用按寫分配(1)寫直達(dá)cache訪問命中,有兩種情況:讀命中,不訪問主存;寫命中,更新cache和主存,訪問主存一次。訪問失效,有兩種情況:讀失效,將主存中的塊調(diào)入cache中,訪問主存兩次;寫失效,將要寫的塊調(diào)入cache,訪問主存兩次,再將修改的數(shù)據(jù)寫入cache和主存,訪問主存一次,共三次。上述分析如下表所示。訪問命中訪問類型頻率訪存次數(shù)y讀95%*75%=71.3%0y寫95%*25%=23.8%1n讀5%*75%=3.8%2n寫5%*25%=1.3%3一次訪存請求最后真正的平

15、均訪存次數(shù)=(71.3%*0)+(23.8%*1)+(3.8%*2)+(1.3%*3)0.35已用帶寬=0.35×109/10 9 =35.0%(2)寫回法cache訪問命中,有兩種情況:讀命中,不訪問主存;寫命中,不訪問主存。采用寫回法,只有當(dāng)修改的cache塊被換出時(shí),才寫入主存;訪問失效,有一個(gè)塊將被換出,這也有兩種情況:如果被替換的塊沒有修改過,將主存中的塊調(diào)入cache塊中,訪問主存兩次;如果被替換的塊修改過,則首先將修改的塊寫入主存,需要訪問主存兩次;然后將主存中的塊調(diào)入cache塊中,需要訪問主存兩次,共四次訪問主存。訪問命中塊為臟頻率訪存次數(shù)yn95%*70%=66.

16、5%0yy95%*30%=28.5%0nn5%*70%=3.5%2ny5%*30%=1.5%4所以:一次訪存請求最后真正的平均訪存次數(shù)=66.5*028.5%*0+3.5%*2+1.5%*4=0.13已用帶寬0.13×10 9/10 913%5.11 偽相聯(lián)中,假設(shè)在直接映象位置沒有發(fā)現(xiàn)匹配,而在另一個(gè)位置才找到數(shù)據(jù)(偽命中)時(shí),需要1個(gè)額外的周期,而且不交換兩個(gè)cache中的數(shù)據(jù),失效開銷為50個(gè)時(shí)鐘周期。試求:(1) 推導(dǎo)出平均訪存的時(shí)間公式。(2) 利用(1)中得到的公式,對于2kbcache和128kbcache,重新計(jì)算偽相聯(lián)的平均訪存時(shí)間。請問哪一種偽相聯(lián)更快?假設(shè) 2k

17、b直接映象cache的總失效率為0.098,2路相聯(lián)的總失效率為0.076;128kb直接映象cache的總失效率為0.010,2路相聯(lián)的總失效率為0.007。解:不管作了何種改進(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)×1交換或不交換內(nèi)容,偽相聯(lián)的命中率都是由于在第一次失效時(shí),將地址取反,再在第二次查找?guī)淼?。因?偽命中率偽相聯(lián)命中率2路命中率

18、1路(1失效率2路)(1失效率1路)失效率1路失效率2路。交換內(nèi)容需要增加偽相聯(lián)的額外開銷。平均訪存時(shí)間偽相聯(lián)命中時(shí)間1路(失效率1路失效率2路)×1失效率2路×失效開銷1路將題設(shè)中的數(shù)據(jù)帶入計(jì)算,得到:平均訪存時(shí)間2kb=1+(0.098-0.076)*1+(0.076 *50 ) =4.822平均訪存時(shí)間128kb=1+(0.010-0.007)*1+(0.007 *50 ) =1.353顯然是128kb的偽相聯(lián)cache要快一些。5.12 假設(shè)采用理想存儲器系統(tǒng)時(shí)的基本cpi是1.5,試?yán)帽?.5 ,分別對于下述三種cache計(jì)算cpi:(1) 16kb直接映象統(tǒng)一cache,采用寫回法;(2) 16kb兩路組相聯(lián)統(tǒng)一cache,采用寫

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論