![第五章存儲(chǔ)層次_第1頁(yè)](http://file4.renrendoc.com/view/ba754e946853b1e7e198d2fb9c1d678d/ba754e946853b1e7e198d2fb9c1d678d1.gif)
![第五章存儲(chǔ)層次_第2頁(yè)](http://file4.renrendoc.com/view/ba754e946853b1e7e198d2fb9c1d678d/ba754e946853b1e7e198d2fb9c1d678d2.gif)
![第五章存儲(chǔ)層次_第3頁(yè)](http://file4.renrendoc.com/view/ba754e946853b1e7e198d2fb9c1d678d/ba754e946853b1e7e198d2fb9c1d678d3.gif)
![第五章存儲(chǔ)層次_第4頁(yè)](http://file4.renrendoc.com/view/ba754e946853b1e7e198d2fb9c1d678d/ba754e946853b1e7e198d2fb9c1d678d4.gif)
![第五章存儲(chǔ)層次_第5頁(yè)](http://file4.renrendoc.com/view/ba754e946853b1e7e198d2fb9c1d678d/ba754e946853b1e7e198d2fb9c1d678d5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章 存儲(chǔ)(cn ch)層次 主要(zhyo)介紹:存儲(chǔ)體系的層次結(jié)構(gòu);Cache基本知識(shí);主存系統(tǒng)。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次-引言1.容量=字長(zhǎng)單體字?jǐn)?shù)并行體個(gè)數(shù)2.速度: 訪問(wèn)時(shí)間TA:接到讀請(qǐng)求到數(shù)據(jù)上線; 存儲(chǔ)周期TM:兩個(gè)存儲(chǔ)體啟動(dòng)(qdng)的時(shí)間間隔 頻寬Bm:連續(xù)訪問(wèn)時(shí)的數(shù)據(jù)傳輸速率3.價(jià)格:存儲(chǔ)體本身及必須配備的外圍電路的價(jià)格 共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)從單級(jí)存儲(chǔ)器到多級(jí)存儲(chǔ)器 用戶對(duì)存儲(chǔ)器的要求:容量大、速度快、價(jià)格低。但三者是矛盾的:(1)速度越快,每位價(jià)格就越高;(2)容量越大,每位價(jià)格就越低;(3)容量越大,速度越慢。
2、解決矛盾的方法:采用多種存儲(chǔ)結(jié)構(gòu)(單體單字,單體多字,多體交叉)和存儲(chǔ)器技術(shù)(Cache-主存,主存-輔存,并行(bngxng)主存等),構(gòu)成存儲(chǔ)層次。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)CPUM1M2Mn存儲(chǔ)(cn ch)層次存儲(chǔ)層次的特點(diǎn):最靠近CPU的M1速度最快,容量最小,每位價(jià)格最高;而離CPU最遠(yuǎn)的Mn速度最慢,容量最大,每位價(jià)格最低。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu) 存儲(chǔ)層次的目標(biāo):從CPU來(lái)看,整個(gè)存儲(chǔ)系統(tǒng)的速度接近于M1,而容量和每位價(jià)格接近于Mn。 實(shí)現(xiàn)存儲(chǔ)層次目標(biāo)的條件:存儲(chǔ)器若越靠近CPU,則CPU對(duì)它的訪問(wèn)頻率(pnl)越高
3、,而且最好大多數(shù)的訪問(wèn)都能在M1完成。 存儲(chǔ)層次的理論基礎(chǔ):程序的局部性原理(包括時(shí)間局部性和空間局部性)。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)(cn ch)層次的性能參數(shù)(以兩級(jí)層次為例)1.存儲(chǔ)層次的平均每位價(jià)格CC=(C1S1+C2S2)/(S1+S2) S1 遠(yuǎn)小于 S2時(shí), C C2 2.命中率HH=N1/(N1+N2)不命中率F=1-H共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)3.平均訪問(wèn)(fngwn)時(shí)間TA命中時(shí)訪問(wèn)時(shí)間為:TA1;不命中時(shí)訪問(wèn)時(shí)間為:TA2+TB+TA1=TA1+TMTA=HTA1+(1-H)(TA1+TM) 或TA=TA
4、1+FTM共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)“Cache-主存”和“主存-輔存”層次(cngc)1. “Cache-主存”層次 CPUCache主存輔助硬件共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)“Cache-主存”和“主存-輔存”層次(cngc)2. “主存-輔存”層次CPU主存輔存輔助軟硬件共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)3.兩者的比較(bjio)比較項(xiàng)目“cache-主存”層次“主存-輔存”層次目的彌補(bǔ)主存速度彌補(bǔ)主存容量存儲(chǔ)管理實(shí)現(xiàn)主要由專用硬件主要由軟件實(shí)現(xiàn)訪問(wèn)速度比值幾比1幾萬(wàn)比1塊(頁(yè))大小幾十個(gè)字節(jié)幾百至幾千字節(jié)CP
5、U對(duì)第二級(jí)訪問(wèn)可直接訪問(wèn)均通過(guò)第1級(jí)訪問(wèn)失效時(shí)CPU是否切換不切換切換到其他進(jìn)程共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)層次的四個(gè)問(wèn)題1.當(dāng)把一個(gè)塊調(diào)入高一層存儲(chǔ)器時(shí),可以放到哪些位置上?(即映像規(guī)則(guz))2.當(dāng)所要訪問(wèn)的塊在高一層存儲(chǔ)器中時(shí),如何找到該塊?(即查找算法)3.當(dāng)發(fā)生失效時(shí),應(yīng)該替換哪一塊?(即替換算法)4.當(dāng)進(jìn)行寫(xiě)訪問(wèn)時(shí),應(yīng)進(jìn)行哪些操作?(即寫(xiě)策略)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次5.2 Cache基本知識(shí) Cache是按塊進(jìn)行管理的。Cache和主存均被分割成大小相同的塊。信息以塊為單位(dnwi)調(diào)入Cache。 CPU的訪存地址被分割成兩
6、部分:塊地址和塊內(nèi)偏移。主存塊地址用于查找該塊在Cache中的位置(如何查找依賴于映像規(guī)則),塊內(nèi)偏移用于確定所訪問(wèn)的數(shù)據(jù)在該塊中的位置。主存地址:塊地址塊內(nèi)偏移共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)映像規(guī)則 映像規(guī)則要解決的問(wèn)題:當(dāng)把一個(gè)塊從主存調(diào)入Cache時(shí),確定放入Cache中的哪個(gè)(n ge)塊內(nèi)。映像規(guī)則有三種:全相聯(lián)映像、直接映像和組相聯(lián)映像。1.全相聯(lián)映像 主存中的任意一塊可以被放置到Cache中的任意一塊中。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)全相聯(lián)映像(yn xin)012345670123456789101112131415塊號(hào)c
7、ache主存塊號(hào)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)直接映像:主存中的每一個(gè)塊只能放置到Cache中的唯一的某個(gè)塊中。 (塊間直接,塊內(nèi)對(duì)應(yīng))主存的第i塊映射到Cache的第j塊,i和j的關(guān)系為:j=i mod M其中M為Cache的塊數(shù)。實(shí)際(shj)的實(shí)現(xiàn)中M=2m,j實(shí)際上就是i的低m位。主存塊地址i:jm位可以直接用主存塊地址的低m位去選擇直接映像Cache中的相應(yīng)塊。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)012345670123456789101112131415塊號(hào)cache主存塊號(hào)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次 Cache基本知
8、識(shí) 組相聯(lián)映像:Cache被等分成若干組,每組由若干塊構(gòu)成。主存中的每一塊可以被放到Cache中唯一的一個(gè)組中的任意一個(gè)塊中。(組間直接,組內(nèi)任意) 主存的第i塊映像到Cache的第k組,i和k的關(guān)系為: k=i mod G 其中G為Cache的組數(shù)。實(shí)際實(shí)現(xiàn)(shxin)中G=2g,k實(shí)際上就是i的低g位。因此,可以直接用主存塊地址的低g位去選擇組相聯(lián)Cache中的相應(yīng)組。主存塊地址i:kg位共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)012345670123456789101112131415塊號(hào)cache主存塊號(hào)第0組第1組第2組第3組共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層
9、次Cache基本知識(shí) 組相聯(lián)Cache的路數(shù):設(shè)Cache的塊數(shù)為M,G為Cache的組數(shù),如果每組中有n個(gè)塊(即n=M/G),則稱該組相聯(lián)映像規(guī)則為n路組相聯(lián)映像。直接映像和全相聯(lián)映像實(shí)際上是組相聯(lián)映像的兩種極端(jdun)情況。n(路數(shù))G(組數(shù))全相聯(lián)M1直接映像1M組相聯(lián)1nM1GM共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)相聯(lián)度 Cache空間利用率 (路數(shù)(lsh)n) 塊沖突(對(duì)應(yīng)位置被占用)概率 Cache的失效率 實(shí)際問(wèn)題中要綜合考慮運(yùn)用Cache的2:1經(jīng)驗(yàn)規(guī)則(P173,表5.5)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)查找方法 當(dāng)CPU
10、訪問(wèn)Cache時(shí),如何確定Cache中是否有所要訪問(wèn)的塊?若有的話,如何確定其位置? Cache一般通過(guò)(tnggu)目錄表來(lái)實(shí)現(xiàn)查找。Cache中設(shè)有一個(gè)目錄表,目錄表的項(xiàng)數(shù)與Cache的塊數(shù)相同。目的是指出Cache中的該塊當(dāng)前所存放的信息是哪個(gè)主存塊的。 目錄表實(shí)際上只記錄塊地址的高位部分(tag)。 每一塊(或每個(gè)目錄項(xiàng))設(shè)置一個(gè)有效位。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)Cache的結(jié)構(gòu)(jigu)tagindex塊地址塊內(nèi)偏移地址數(shù)據(jù)輸入數(shù)據(jù)輸出CPU有效位標(biāo)識(shí)數(shù)據(jù)=?寫(xiě)緩沖器下一級(jí)存儲(chǔ)器直接映像cache結(jié)構(gòu)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache
11、基本知識(shí)并行查找的實(shí)現(xiàn)方法:(1)相聯(lián)存儲(chǔ)器;(2)單體(dn t)多字存儲(chǔ)器和比較器主存塊地址:tagindex第0路第1路第2路第3路目錄表(標(biāo)識(shí)存儲(chǔ)器)=?=?=?=?YNNYNYNY4路組相聯(lián)并行標(biāo)識(shí)比較共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)替換算法 當(dāng)要從主存調(diào)入一個(gè)塊到Cache中時(shí),可能會(huì)出現(xiàn)Cache中的相應(yīng)塊已經(jīng)被占用的情況。這是需要將Cache中某些塊中的一塊騰空,以便(ybin)接納新調(diào)入的塊,應(yīng)該選擇哪一塊?主要的替換算法有:1.隨機(jī)法;2.先進(jìn)先出法(FIFO);3.最近最少使用法(LRU)4.優(yōu)化算法(OPT)例,指令流2,3,2,1,5,2,4
12、,5,3,2,5,2共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)寫(xiě)策略寫(xiě)策略主要(zhyo)有兩種:1.寫(xiě)直達(dá)法(P164);2.寫(xiě)回法(P164) 。 在寫(xiě)回法中,采用“污染位”標(biāo)志,以減少在替換時(shí)不必要的寫(xiě)回。 寫(xiě)回法的優(yōu)點(diǎn):速度快,同一數(shù)據(jù)的多次寫(xiě),最后只有一次寫(xiě)回。 寫(xiě)直達(dá)法的優(yōu)點(diǎn):主存中的數(shù)據(jù)總是最新的。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)寫(xiě)直達(dá)法中,CPU是否等待“寫(xiě)”操作結(jié)束(jish)?1.CPU寫(xiě)等待;2.寫(xiě)緩沖器。當(dāng)發(fā)生寫(xiě)失效時(shí),是否調(diào)入相應(yīng)的塊?有兩種選擇:1.按寫(xiě)分配法(調(diào)入法)(P165) ;2.不按寫(xiě)分配法(繞寫(xiě)法)(P165)
13、。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次cache基本知識(shí)Cache的結(jié)構(gòu)(jigu)tagindex塊地址塊內(nèi)偏移地址數(shù)據(jù)輸入數(shù)據(jù)輸出CPU有效位標(biāo)識(shí)數(shù)據(jù)=?寫(xiě)緩沖器下一級(jí)存儲(chǔ)器直接映像cache結(jié)構(gòu)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)tagindex塊地址(dzh)塊內(nèi)偏移地址數(shù)據(jù)輸入數(shù)據(jù)輸出CPU有效位標(biāo)識(shí)數(shù)據(jù)=?寫(xiě)緩沖器下一級(jí)存儲(chǔ)器=?2:1多路選擇器兩路組相聯(lián)映像cache結(jié)構(gòu)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)1.讀失效時(shí)處理措施:Cache通知CPU等待,讀取一塊數(shù)據(jù)到Cache ,當(dāng)Cache無(wú)對(duì)應(yīng)的空閑(kngxin)塊時(shí),需要替
14、換。2.寫(xiě)失效時(shí)處理措施:采用不按寫(xiě)分配原則,繞過(guò)Cache ,直接寫(xiě)入主存。3.指令Cache和數(shù)據(jù)Cache 。為什么要將Cache分為指令Cache和數(shù)據(jù)Cache ? 統(tǒng)計(jì)表明指令Cache的失效率比數(shù)據(jù)Cache的失效率低。共七十五頁(yè)課后問(wèn)題(wnt)寫(xiě)策略-(命中策略):1.寫(xiě)直達(dá)(zhd)法(P164);2.寫(xiě)回法(P164) 寫(xiě)策略-(不命中策略):1.按寫(xiě)分配法(P165) ;2.不按寫(xiě)分配法(P165) 。 共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)Cache性能分析1.失效率:與硬件速度無(wú)關(guān),可用于做性能評(píng)價(jià); 但是A.與硬件結(jié)構(gòu)(如,容量、塊的尺寸、相聯(lián)
15、關(guān)系)有關(guān);B.結(jié)果反映在速度上2.平均訪存時(shí)間:平均訪存時(shí)間=命中時(shí)間+失效率失效開(kāi)銷;3.程序執(zhí)行時(shí)間:CPU時(shí)間=(CPU執(zhí)行周期(zhuq)數(shù)+存儲(chǔ)器停頓周期數(shù))時(shí)鐘周期時(shí)間 (2個(gè)引申計(jì)算公式和2個(gè)例子)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次Cache基本知識(shí)改進(jìn)(gijn)Cache性能1.降低失效率;2.減少失效開(kāi)銷;3.減少Cache命中時(shí)間。共七十五頁(yè)第五章 存儲(chǔ)層次降低(jingd)Cache失效率的方法失效的原因(3C):(1)強(qiáng)制性失效(首訪未裝入);(2)容量失效(顛簸);(3)沖突失效(組內(nèi)塊沖突)。一些統(tǒng)計(jì)結(jié)論:(1)相聯(lián)度越高,沖突失效就越少;(2)強(qiáng)制性失效
16、和容量失效不受相聯(lián)度影響;(3)強(qiáng)制性失效不受Cache容量影響,但容量失效隨著容量的增加而減少;(4)2:1的經(jīng)驗(yàn)(jngyn)規(guī)則,即大小為N的直接映像Cache的失效率約等于大小為N/2的兩路組相聯(lián)Cache的失效率。共七十五頁(yè)第五章 存儲(chǔ)層次降低(jingd)Cache失效率的方法降低失效率不等于提高性能:許多降低失效率的方法會(huì)增加命中時(shí)間或失效開(kāi)銷。因此(ync),在具體使用時(shí),要綜合考慮,保證降低失效率確能使整個(gè)系統(tǒng)性能提高。共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)降低Cache失效率的方法增加Cache塊大小(1)對(duì)于給定的Cache容量(rngling),當(dāng)塊大小增加時(shí),失效率開(kāi)
17、始是下降,后來(lái)反而上升了。(總的容量固定,但相聯(lián)度下降)(2)Cache容量越大,使失效率達(dá)到最低的塊大小就越大。 增加塊大小會(huì)產(chǎn)生雙重作用:一方面它減少了強(qiáng)制性失效;另一方面會(huì)減少Cache中塊的數(shù)目,所以可能會(huì)增加沖突失效,甚至?xí)黾尤萘渴?。(?.4, 表5.7)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次降低Cache失效率的方法提高相聯(lián)度提高相聯(lián)度會(huì)使失效率下降。兩條經(jīng)驗(yàn)規(guī)則:(1)對(duì)于給定Cache容量,從實(shí)際應(yīng)用的角度來(lái)看,8路組相聯(lián)在降低失效率的作用已經(jīng)和全相聯(lián)一樣有效(yuxio);(2)容量為N的直接映像Cache的失效率和容量為N/2的兩路組相聯(lián)Cache的失效率相當(dāng)。(2
18、:1Cache經(jīng)驗(yàn)規(guī)則)。共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)降低Cache失效率的方法增加Cache容量(rngling)(1)成本增加;(2)命中時(shí)間增加。共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)降低Cache失效率的方法Victim Cache 在Cache和它與下一級(jí)存儲(chǔ)器的數(shù)據(jù)通路之間增設(shè)一個(gè)全相聯(lián)的小Cache,稱為Victim Cache。 Victim Cache中存放由于失效而被丟棄(diq)(替換)的那些塊(即victim)。每當(dāng)發(fā)生失效時(shí),在訪問(wèn)下一級(jí)存儲(chǔ)器之前,先檢查Victim Cache中是否含有所需的塊,如果有,就將該塊與Cache中某個(gè)塊做交換。共七十五頁(yè)第五章
19、 存儲(chǔ)(cn ch)層次降低Cache失效率的方法地址(dzh)CPU數(shù)據(jù)輸入數(shù)據(jù)輸出=?標(biāo)識(shí)數(shù)據(jù)VictimCache寫(xiě)緩沖器下一級(jí)存儲(chǔ)器=?共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)降低Cache失效率的方法偽相聯(lián)Cache 目的:既能獲得多路組相聯(lián)Cache的低失效率,又能保持直接映像Cache的命中速度。 偽相聯(lián)(pseudo-associate)又稱為列相聯(lián)(column associate)。在命中情況下,訪問(wèn)Cache的過(guò)程和直接映像Cache中的情況相同;而發(fā)生失效時(shí),在訪問(wèn)下一級(jí)存儲(chǔ)器之前,會(huì)先檢查Cache另一個(gè)位置塊,看是否(sh fu)匹配。如果匹配,則稱發(fā)生了偽命中,否則
20、,就只好訪問(wèn)下一級(jí)存儲(chǔ)器。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次降低cache失效率的方法正常(zhngchng)命中時(shí)間偽命中時(shí)間失效開(kāi)銷共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次降低cache失效率的方法硬件預(yù)取技術(shù)(jsh)目標(biāo):在不影響處理器時(shí)鐘頻率的前提下降低失效率。指令和數(shù)據(jù)都可以在處理器提出訪問(wèn)請(qǐng)求之前進(jìn)行預(yù)取。預(yù)取內(nèi)容可以直接放入Cache,也可以放在一個(gè)訪問(wèn)速度比主存快的外部緩沖器中。共七十五頁(yè)第五章 存儲(chǔ)層次降低(jingd)cache失效率的方法由編譯器控制的預(yù)取 寄存器預(yù)取 Cache預(yù)取編譯器優(yōu)化 軟件優(yōu)化(數(shù)組合并技術(shù)、內(nèi)外(niwi)循環(huán)交換技術(shù)、循環(huán)融合技術(shù)、分
21、塊技術(shù))共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)減少Cache失效開(kāi)銷讓讀失效優(yōu)先于寫(xiě) 提高寫(xiě)直達(dá)Cache性能(xngnng)最重要的方法是使用一個(gè)大小適中的寫(xiě)緩沖器。然而,寫(xiě)緩沖器卻導(dǎo)致對(duì)存儲(chǔ)器的訪問(wèn)復(fù)雜化,因?yàn)樵谧x失效時(shí),寫(xiě)緩沖器中可能保存有所讀單元的最新值。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次降低Cache失效率的方法tagindex塊地址(dzh)塊內(nèi)偏移地址數(shù)據(jù)輸入數(shù)據(jù)輸出CPU有效位標(biāo)識(shí)數(shù)據(jù)=?寫(xiě)緩沖器下一級(jí)存儲(chǔ)器=?2:1多路選擇器兩路組相聯(lián)映像cache結(jié)構(gòu)共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)減少Cache失效開(kāi)銷解決的方法:(1)推遲對(duì)讀失效的處理,直至寫(xiě)緩沖器清空;(
22、2)在讀失效時(shí)檢查寫(xiě)緩沖器的內(nèi)容,如果沒(méi)有沖突,并且存儲(chǔ)器可訪問(wèn),就可以繼續(xù)處理讀失效;(3)寫(xiě)回法中,設(shè)置一個(gè)臨時(shí)(ln sh)緩沖器用于存放(由于失效而被替換的)內(nèi)容,然后先讀存儲(chǔ)器,再把臨時(shí)(ln sh)緩沖器的內(nèi)容寫(xiě)回存儲(chǔ)器;(4)采用直接通路的思想共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)減少Cache失效開(kāi)銷 寫(xiě)緩沖合并(hbng):在往寫(xiě)緩沖器寫(xiě)入地址和數(shù)據(jù)時(shí),如果緩沖器內(nèi)有被修改過(guò)的塊,就檢查其地址,看看本次寫(xiě)入數(shù)據(jù)的地址是否與緩沖器內(nèi)的某個(gè)有效塊的地址匹配。如果匹配,就把新數(shù)據(jù)與該塊合并(hbng)。(提高寫(xiě)緩沖器效率)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次減少Cache失效開(kāi)
23、銷1Mem 1000001Mem 1080001Mem 1160001Mem 1240001Mem 1001Mem 1081Mem 1161Mem 124000000000000100100108116124地址(dzh)VVVV沒(méi)有寫(xiě)合并和有寫(xiě)合并的情況共七十五頁(yè)第五章 存儲(chǔ)層次減少(jinsho)Cache失效開(kāi)銷請(qǐng)求字處理(chl)技術(shù)當(dāng)CPU所請(qǐng)求的字達(dá)到后,不等整個(gè)塊都調(diào)入Cache,就可把該字發(fā)送給CPU并重啟動(dòng)CPU。(1)盡早重啟動(dòng):在請(qǐng)求字沒(méi)有到達(dá)時(shí),CPU處于等待狀態(tài)。一旦請(qǐng)求字到達(dá),就立即發(fā)送給CPU,讓等待的CPU盡早重啟動(dòng),繼續(xù)執(zhí)行。(2)請(qǐng)求字優(yōu)先:調(diào)塊時(shí),首先向存
24、儲(chǔ)器請(qǐng)求CPU所要的請(qǐng)求字。請(qǐng)求字一旦到達(dá),就立刻送往CPU,讓CPU繼續(xù)執(zhí)行,同時(shí)從存儲(chǔ)器調(diào)入該塊的其余部分。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次減少Cache失效開(kāi)銷非阻塞Cache技術(shù)Cache在失效時(shí)仍允許(ynx)CPU進(jìn)行其它的命中訪問(wèn)。例如,失效發(fā)生后,CPU在等待數(shù)據(jù)Cache給出數(shù)據(jù)的同時(shí)可以進(jìn)行從指令Cache中取指令等工作?!笆旅小奔夹g(shù):Cache在失效時(shí)仍允許CPU進(jìn)行其它的命中訪問(wèn)(需要指令亂序執(zhí)行的支持)?!耙淮问旅小焙汀岸嘀厥旅小?。共七十五頁(yè)第五章 存儲(chǔ)層次(cngc)減少Cache失效開(kāi)銷采用兩級(jí)Cache 目標(biāo):既要把Cache做得更快,
25、又要把Cache做得更大。 方法:兩級(jí)Cache。在原有Cache和主存之間增加另一級(jí)Cache,構(gòu)成兩級(jí)Cache。把第一級(jí)Cache做得足夠小,使其速度和CPU的時(shí)鐘周期相匹配;把第二級(jí)Cache做得足夠大,使它能夠捕獲更多的本來(lái)需要(xyo)到主存去的訪問(wèn),從而降低實(shí)際的失效開(kāi)銷。兩級(jí)Cache分別用L1和L2表示。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次減少Cache失效開(kāi)銷兩級(jí)Cache的性能(xngnng)公式:平均訪存時(shí)間=命中時(shí)間L1+失效率L1失效開(kāi)銷L1失效開(kāi)銷L1=命中時(shí)間L2+失效率L2失效開(kāi)銷L2(1)局部失效率局部失效率=該級(jí)Cache的失效次數(shù)/到達(dá)該級(jí)Cache
26、的訪存次數(shù)(2)全局失效率全局失效率=該級(jí)Cache的失效次數(shù)/CPU發(fā)出的訪存總次數(shù)共七十五頁(yè)第五章 存儲(chǔ)層次減少Cache失效(sh xio)開(kāi)銷子塊放置技術(shù) 塊越小,標(biāo)識(shí)越長(zhǎng),Cache訪問(wèn)速度越慢;塊越大,雖然標(biāo)識(shí)越短,失效率會(huì)下降,但是失效開(kāi)銷會(huì)增大。 解決方法:把一個(gè)Cache塊劃分為若干個(gè)小塊,稱為子塊。為每個(gè)子塊賦一個(gè)有效位,用于說(shuō)明該子塊中的數(shù)據(jù)(shj)是否有效。因此,表示匹配并不意味著這個(gè)字一定在Cache中,只有當(dāng)與該字對(duì)應(yīng)的有效位也為1時(shí)才是。失效時(shí)只需從下一級(jí)存儲(chǔ)器中調(diào)入一個(gè)子塊。顯然子塊的失效開(kāi)銷小于完整Cache塊的失效開(kāi)銷。共七十五頁(yè)第五章 存儲(chǔ)層次減少Cac
27、he失效(sh xio)開(kāi)銷1111110001010000100300200400標(biāo)識(shí)(biozh)子塊共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次減少命中時(shí)間容量小、結(jié)構(gòu)簡(jiǎn)單的Cache虛擬Cache寫(xiě)操作流水化寫(xiě)操作分為兩個(gè)階段完成:第一階段:進(jìn)行(jnxng)標(biāo)識(shí)比較,并把標(biāo)識(shí)和數(shù)據(jù)存入延遲寫(xiě)緩沖器中;第二階段:若命中的話,進(jìn)行數(shù)據(jù)的寫(xiě)入。Trace Cache (存動(dòng)態(tài)指令序列)共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存存儲(chǔ)器技術(shù)(1)訪問(wèn)(fngwn)時(shí)間與存儲(chǔ)周期;(2)地址線復(fù)用;(3)DRAM和刷新;(4)SRAM(5)DRAM容量(每年可提高60%,但性能提高卻很慢)。共七十
28、五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存提高主存性能的存儲(chǔ)器組織結(jié)構(gòu) Cache可以通過(guò)增加Cache塊的大小來(lái)利用主存帶寬的增加,因?yàn)樵诟邘挼那闆r下,塊大小增大并不會(huì)使失效開(kāi)銷增加多少。幾種存儲(chǔ)器結(jié)構(gòu):(1)單字寬的存儲(chǔ)器結(jié)構(gòu):最簡(jiǎn)單的存儲(chǔ)器(2)多字寬存儲(chǔ)器結(jié)構(gòu):采用(ciyng)了寬度較大的存儲(chǔ)器總線和Cache(3)多體交叉存儲(chǔ)器結(jié)構(gòu):總線和Cache的寬度不變,但存儲(chǔ)器按交叉方式工作共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存CPUcache存儲(chǔ)器單字(dnz)寬存儲(chǔ)器CPU多路選擇器cache存儲(chǔ)器多字寬存儲(chǔ)器CPUcache存儲(chǔ)體0存儲(chǔ)體1存儲(chǔ)體2存儲(chǔ)體3總線總線總線多體交叉存儲(chǔ)
29、器共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存1.增加存儲(chǔ)器的寬度最簡(jiǎn)單的提高存儲(chǔ)器帶寬的方法。缺點(diǎn):(1)會(huì)增加CPU和存儲(chǔ)器之間的連接通路(存儲(chǔ)器總線)的寬度,實(shí)現(xiàn)代價(jià)提高;(2)當(dāng)主存寬度增加后,擴(kuò)充主存時(shí)的最小增量(zn lin)也相應(yīng)增加了數(shù)倍;(3)具有糾錯(cuò)功能的存儲(chǔ)器中實(shí)現(xiàn)對(duì)一行(一次可并行讀出的數(shù)據(jù))中部分?jǐn)?shù)據(jù)的寫(xiě)入比較復(fù)雜。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存2.簡(jiǎn)單(jindn)的多體交叉存儲(chǔ)器 多個(gè)存儲(chǔ)體中的字是交叉編址的,可同時(shí)向幾個(gè)存儲(chǔ)體發(fā)送地址使它們同時(shí)進(jìn)行訪問(wèn)。0481215913261014371115地址地址地址地址存儲(chǔ)體0存儲(chǔ)體1存儲(chǔ)體2存儲(chǔ)體3共七
30、十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存3.獨(dú)立存儲(chǔ)體 多個(gè)(du )存儲(chǔ)控制器+多個(gè)獨(dú)立存儲(chǔ)體多個(gè)存儲(chǔ)體獨(dú)立操作 0481215913261014371115地址地址地址地址存儲(chǔ)體0存儲(chǔ)體1存儲(chǔ)體2存儲(chǔ)體3共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存4.避免存儲(chǔ)體沖突 沖突:兩個(gè)訪問(wèn)請(qǐng)求同時(shí)訪問(wèn)同一存儲(chǔ)體 解決:軟件解決方案(編譯器) 硬件解決方案(素?cái)?shù)(s sh)個(gè)存儲(chǔ)體) 冗余副本方案(多副本) 共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次主存5.DRAM專用交叉結(jié)構(gòu)(jigu) 對(duì)DRAM訪問(wèn)矩陣進(jìn)行行或列訪問(wèn)控制及優(yōu)化 1)Nibble方式 2)Page方式 3)Static Colum
31、n方式共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次虛擬存儲(chǔ)器虛擬存儲(chǔ)器基本原理 虛擬存儲(chǔ)器是“主存輔存”層次,由價(jià)格較貴、速度較快、容量較小的主存儲(chǔ)器M1和一個(gè)價(jià)格低廉、速度較慢、容量很大的輔助存儲(chǔ)器M2(通常(tngchng)是硬盤(pán))組成,在系統(tǒng)軟件和輔助硬件的管理下,就像一個(gè)單一的、可直接訪問(wèn)的大容量主存儲(chǔ)器。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次虛擬存儲(chǔ)器虛擬存儲(chǔ)器具有如下特點(diǎn):1.多個(gè)進(jìn)程可以共享主存空間;2.程序員不必做存儲(chǔ)器管理工作;3.采用動(dòng)態(tài)再定位,簡(jiǎn)化了程序的裝入。 程序再定位:將程序空間中給出的邏輯地址映像到主存的物理地址。 靜態(tài)再定位:在程序執(zhí)行之前(zhqin),在裝入或
32、再裝入該程序的過(guò)程中,通過(guò)修改程序中的地址而完成地址空間的變換。 動(dòng)態(tài)再定位:只有在程序的執(zhí)行過(guò)程中,真正訪問(wèn)指令和數(shù)據(jù)時(shí),才進(jìn)行地址變換,產(chǎn)生物理地址。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次虛擬存儲(chǔ)器虛擬存儲(chǔ)器的分類:頁(yè)式、段式和段頁(yè)式。虛擬存儲(chǔ)器要考慮的四個(gè)問(wèn)題(wnt):(1)映像規(guī)則:操作系統(tǒng)允許將塊放在主存的任一位置,即采用全相聯(lián)映像。目的是降低失效率,因?yàn)槭ч_(kāi)銷太大。(2)查找算法:使用一個(gè)頁(yè)號(hào)或段號(hào)作為索引的數(shù)據(jù)結(jié)構(gòu)(稱作頁(yè)表或段表)。對(duì)于段式系統(tǒng),段內(nèi)偏移加上段的物理地址就是最終的物理地址。對(duì)于頁(yè)式系統(tǒng),只需簡(jiǎn)單地將頁(yè)內(nèi)偏移拼接在相應(yīng)頁(yè)面的物理地址之后即可。(4)替換算法:
33、使用LRU算法,每個(gè)頁(yè)面使用一個(gè)使用位。(5)寫(xiě)策略:采用寫(xiě)回策略,使用“臟”位(dirty bit)來(lái)保證只有被修改過(guò)的塊才被寫(xiě)回磁盤(pán)。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次虛擬存儲(chǔ)器快表(TLB) 問(wèn)題:頁(yè)表很大,一般存放在主存中,因此(ync),每次訪問(wèn)主存中的數(shù)據(jù)或指令,都要引起兩次主存訪問(wèn),第一次是讀取頁(yè)表項(xiàng),獲得所要訪問(wèn)主存的物理地址,第二次才是訪問(wèn)數(shù)據(jù)或指令本身。 解決方法:設(shè)置一個(gè)TLB,TLB是一個(gè)專用高速緩沖器,用于存放近期經(jīng)常使用的頁(yè)表項(xiàng),其內(nèi)容是頁(yè)表部分內(nèi)容的一個(gè)副本。共七十五頁(yè)第五章 存儲(chǔ)(cn ch)層次虛擬存儲(chǔ)器 Alpha AXP21064數(shù)據(jù)TLB的結(jié)構(gòu):該TLB包含32項(xiàng),每項(xiàng)包含標(biāo)識(shí)、物理地址、V(有效(yuxio)位)、R(讀允許位)、W(寫(xiě)允許位)幾個(gè)域。 標(biāo)識(shí)存放的是虛擬地址的一部分(高位部
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)毛染行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 個(gè)人珠寶購(gòu)買(mǎi)合同范本
- 農(nóng)戶小麥預(yù)定合同范本
- 出國(guó)境旅游合同范本
- 北京市設(shè)備采購(gòu)合同范本
- 中英文商品合同范本
- 2024年安全準(zhǔn)入考試(外協(xié)搶修、施工人員)練習(xí)試題及答案
- 人力資源外包合同范本
- 2025年度高端倉(cāng)儲(chǔ)庫(kù)房承包合同示范范本
- 農(nóng)村 住房 出租合同范例
- 二零二五年度大型自動(dòng)化設(shè)備買(mǎi)賣合同模板2篇
- 2024版金礦居間合同協(xié)議書(shū)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗(yàn)實(shí)驗(yàn)室建設(shè)技術(shù)規(guī)范
- 2025內(nèi)蒙古匯能煤化工限公司招聘300人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)融通資產(chǎn)管理集團(tuán)限公司春季招聘(511人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 寵物護(hù)理行業(yè)客戶回訪制度構(gòu)建
- 電廠檢修管理
- 《SPIN銷售法課件》課件
- 機(jī)動(dòng)車屬性鑒定申請(qǐng)書(shū)
- 2024年中考語(yǔ)文試題分類匯編:非連續(xù)性文本閱讀(學(xué)生版)
- 門(mén)店禮儀培訓(xùn)
評(píng)論
0/150
提交評(píng)論