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