版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、5.1存儲器的層次結(jié)構(gòu)5.2Cache基本知識5.3降低Cache失效率的方法5.4減少Cache失效開銷5.5減少命中時間5.6主存第5章 存儲層次從用戶的角度來看,存儲器的三個主要指標(biāo): 容量、速度和價格(指每位價格)對這三個指標(biāo)的要求 容量大、速度快、價格低三個要求相互矛盾速度越快,每位價格就越高;容量越大,每位價格就越低;容量越大,速度越慢。5.1 存儲器的層次結(jié)構(gòu)5.1.1 從單級存儲器到多級存儲器5.1 存儲器的層次結(jié)構(gòu)解決方法 采用多種存儲器技術(shù),構(gòu)成所謂的存儲層次。 (局部性原理)多級存儲層次各級存儲器的主要性能特性 CPU與主存儲器的速度差距越來越大 目前相差兩個數(shù)量級,今后
2、CPU與主存儲器的速度差距會更大5.1 存儲器的層次結(jié)構(gòu)1980年以來存儲器和CPU性能隨時間而提高的情況 (以1980年時的性能作為基準(zhǔn))5.1 存儲器的層次結(jié)構(gòu) C,H,TA假設(shè):S 容量 TA 訪問時間 C 每位價格下面僅考慮由M1和M2構(gòu)成的兩級存儲層次:M1的參數(shù):S1,TA1,C1M2的參數(shù):S2,TA2,C25.1.2 存儲層次的性能參數(shù)5.1 存儲器的層次結(jié)構(gòu)每位價格C命中率H 和失效率F命中率:CPU訪問存儲系統(tǒng)時,在M1中找到所需信息的概率。N1 訪問M1的次數(shù)N2 訪問M2的次數(shù) 失效率 :F1H5.1 存儲器的層次結(jié)構(gòu)平均訪問時間TA分兩種情況來考慮CPU的一次訪存:當(dāng)
3、命中時,訪問時間即為TA1(命中時間)當(dāng)不命中時,情況比較復(fù)雜。 不命中時的訪問時間為:TA2TBTA1TA1TM TM TA2TB失效開銷TM:從向M2發(fā)出訪問請求到把整個數(shù)據(jù)塊調(diào)入M1中所需的時間傳送一個信息塊所需的時間為TB所以: TA HTA1(1H)(TA1TM) TA1(1H)TM 或 TA TA1FTM5.1 存儲器的層次結(jié)構(gòu)從主存的角度來看“Cache主存”層次:彌補(bǔ)主存速度的不足主存與CPU的速度差距“Cache - 主存”層次 “主存輔存”層次:彌補(bǔ)主存容量的不足5.1.3 “Cache主存”和“主存輔存”層次5.1 存儲器的層次結(jié)構(gòu)存儲層次CPU對第二級的訪問方式比較項目
4、目的存儲管理實現(xiàn) 訪問速度的比值(第一級和第二級)典型的塊(頁)大小失效時CPU是否切換“Cache 主存”層次“主存輔存”層次為了彌補(bǔ)主存速度的不足為了彌補(bǔ)主存容量的不足主要由專用硬件實現(xiàn)主要由軟件實現(xiàn)幾比一幾百比一幾十個字節(jié)幾百到幾千個字節(jié)可直接訪問均通過第一級不切換切換到其他進(jìn)程“Cache主存”與“主存輔存”層次的區(qū)別5.1 存儲器的層次結(jié)構(gòu)當(dāng)把一個塊調(diào)入高一層(靠近CPU)存儲器時,可以放在哪些位置上? (映像規(guī)則)當(dāng)所要訪問的塊在高一層存儲器中時,如何找到該塊?(查找算法)當(dāng)發(fā)生失效時,應(yīng)替換哪一塊?(替換算法)當(dāng)進(jìn)行寫訪問時,應(yīng)進(jìn)行哪些操作? (寫策略)5.1.4 存儲層次的四個
5、問題基本工作原理Cache和主存分塊5.2 Cache的基本知識 5.2 Cache的基本知識5.2.1映象規(guī)則 全相聯(lián)映象 全相聯(lián):主存中的任一塊可以被放置到Cache中的任意一個位置。對比:閱覽室位置 隨便坐特點:空間利用率最高,沖突概率最低,實現(xiàn)最復(fù)雜。 5.2 Cache的基本知識直接映象 直接映象:主存中的每一塊只能被放置到Cache中唯一的一個位置。(循環(huán)分配)對比:閱覽室位置 只有一個位置可以坐特點:空間利用率最低,沖突概率最高,實現(xiàn)最簡單。對于主存的第i 塊,若它映象到Cache的第j 塊,則 ji mod (M ) (M為Cache的塊數(shù))設(shè)M=2m,則當(dāng)表示為二進(jìn)制數(shù)時,j
6、實際上就是i的低m位: ji:m位5.2 Cache的基本知識組相聯(lián)映象 組相聯(lián):主存中的每一塊可以被放置到Cache中唯一的一個組中的任何一個位置。組相聯(lián)是直接映象和全相聯(lián)的一種折中5.2 Cache的基本知識組的選擇常采用位選擇算法若主存第i 塊映象到第k 組,則 ki mod(G) (G為Cache的組數(shù))設(shè)G2g,則當(dāng)表示為二進(jìn)制數(shù)時,k 實際上就是i 的低 g 位: 低g位以及直接映象中的低m位通常稱為索引。 ki:g位5.2 Cache的基本知識n 路組相聯(lián):每組中有n個塊(nM/G )。n 稱為相聯(lián)度。相聯(lián)度越高,Cache空間的利用率就越高,塊沖突概率就越低,失效率也就越低。
7、絕大多數(shù)計算機(jī)的Cache: n 4想一想:相聯(lián)度一定是越大越好?全相聯(lián)直接映象組相聯(lián)n (路數(shù))G (組數(shù))MM111nM1GM5.2 Cache的基本知識當(dāng)CPU訪問Cache時,如何確定Cache中是否有所要訪問的塊?若有,如何確定其位置?通過查找目錄表來實現(xiàn)目錄表的結(jié)構(gòu)主存塊的塊地址的高位部分,稱為標(biāo)識 。每個主存塊能唯一地由其標(biāo)識來確定5.2.2 查找算法5.2 Cache的基本知識只需查找候選位置所對應(yīng)的目錄表項一個主存塊可以映像到Cache中的位置不同映像規(guī)則不同直接相聯(lián):1個表項全相聯(lián):所有表項(用相聯(lián)存儲器實現(xiàn))n路組相聯(lián):相鄰的n個表項標(biāo)識有效位(0/1)011目錄表項 主
8、存地址 區(qū)號E 塊號B 塊內(nèi)地址W Cache地址 塊號b 塊內(nèi)地址w 塊失效 相等比較 比較相等且有效為1 E 1 訪問Cache 區(qū)號E(按地址訪問) 有效位 區(qū)表存儲器 直接相聯(lián)的查找方法5.2 Cache的基本知識并行查找的實現(xiàn)方法相聯(lián)存儲器 全相聯(lián)單體多字存儲器比較器:組相聯(lián)路組相聯(lián)并行標(biāo)識比較(比較器的個數(shù)及位數(shù))5.2 Cache的基本知識Index組內(nèi)塊號塊內(nèi)地址Cache地址:5.2 Cache的基本知識所要解決的問題:當(dāng)新調(diào)入一塊,而Cache又已被占滿時,替換哪一塊?直接映象Cache中的替換很簡單因為只有一個塊,別無選擇。在組相聯(lián)和全相聯(lián)Cache中,則有多個塊供選擇。
9、主要的替換算法有三種隨機(jī)法:實現(xiàn)簡單先進(jìn)先出法(FIFO)最近最少使用法LRU5.2.3 替換算法5.2 Cache的基本知識最近最少使用法LRU選擇近期最少被訪問的塊作為被替換的塊。(實現(xiàn)比較困難)實際上:選擇最久沒有被訪問過的塊作為被替換的塊。 優(yōu)點:失效率低。LRU和隨機(jī)法分別因其失效率低和實現(xiàn)簡單而被廣泛采用。5.2 Cache的基本知識“寫”在所有訪存操作中所占的比例 統(tǒng)計結(jié)果表明,對于一組給定的程序:load指令:26store指令:9“寫”在所有訪存操作中所占的比例:9/(100269)7“寫”在訪問數(shù)據(jù)Cache操作中所占的比例: 9/(269)255.2.4 寫策略5.2 C
10、ache的基本知識“寫”操作必須在確認(rèn)是命中后才可進(jìn)行“寫”訪問有可能導(dǎo)致Cache和主存內(nèi)容的不一致兩種寫策略寫策略是區(qū)分不同Cache設(shè)計方案的一個重要標(biāo)志。寫直達(dá)法執(zhí)行“寫”操作時,不僅寫入Cache,而且也寫入下一級存儲器。寫回法(也稱為拷回法) 執(zhí)行“寫”操作時,只寫入Cache。僅當(dāng)Cache中相應(yīng)的塊被替換時,才寫回主存。 (設(shè)置“修改位”)5.2 Cache的基本知識兩種寫策略的比較寫回法的優(yōu)點:速度快,所使用的存儲器帶寬較低。寫直達(dá)法的優(yōu)點:易于實現(xiàn),一致性好。采用寫直達(dá)法時,若在進(jìn)行“寫”操作的過程中CPU必須等待,直到“寫”操作結(jié)束,則稱CPU寫停頓。減少寫停頓的一種常用
11、的優(yōu)化技術(shù):采用寫緩沖器5.2 Cache的基本知識“寫”操作時的調(diào)塊按寫分配(寫時取)寫失效時,先把所寫單元所在的塊調(diào)入Cache,再行寫入。不按寫分配(繞寫法)寫失效時,直接寫入下一級存儲器而不調(diào)塊。寫策略與調(diào)塊寫回法 按寫分配寫直達(dá)法 不按寫分配5.2 Cache的基本知識例:DEC的Alpha AXP21064中的內(nèi)部數(shù)據(jù)Cache簡介容量:8 KB塊大小:32 B塊數(shù):256采用不按寫分配映象方法:直接映象 “寫”策略:寫直達(dá)寫緩沖器大?。?個塊5.2.5 Cache的結(jié)構(gòu)結(jié)構(gòu)圖5.2 Cache的基本知識失效率與硬件速度無關(guān)容易產(chǎn)生一些誤導(dǎo)平均訪存時間 平均訪存時間 命中時間失效率
12、失效開銷5.2.6 Cache的性能分析5.2 Cache的基本知識例5.1 假設(shè)Cache的命中時間為1個時鐘周期,失效開銷為50個時鐘周期,在混合Cache中一次load或store操作訪問Cache的命中時間都要增加1個時鐘周期(因為混合Cache只有一個端口,無法同時滿足兩個請求,會導(dǎo)致結(jié)構(gòu)沖突),根據(jù)下表所列的失效率,試問指令Cache和數(shù)據(jù)Cache容量均為16 KB的分離Cache和容量為32 KB的混合Cache相比,哪種Cache的失效率更低?又假設(shè)采用寫直達(dá)策略,且有一個寫緩沖器,并且忽略寫緩沖器引起的等待。請問上述兩種情況下平均訪存時間各是多少?5.2 Cache的基本知
13、識16 KB容量1 KB2 KB4 KB8 KB32 KB指令 Cache3.06%失 效 率 的 比 較64 KB128 KB數(shù)據(jù) Cache混合 Cache2.26%1.78%1.10%0.64%0.39%0.15%0.02%24.61%20.57%15.94%10.19%6.47%4.82%3.77%2.88%13.34%9.78%7.24%4.57%2.87%1.99%1.36%0.95%5.2 Cache的基本知識解 約100%/(100%+26%+9%)=75%的訪存為取指令。因此,分離Cache的總體失效率為: (75%0.64%)(25%6.47%)2.10%根據(jù)表中容量為32
14、 KB的混合Cache的失效率略低一些,只有1.99%。平均訪存時間公式可以分為指令訪問和數(shù)據(jù)訪問兩部分: 平均訪存時間指令所占的百分比(指令命中時間指令失效率失效開銷) 數(shù)據(jù)所占的百分比(數(shù)據(jù)命中時間數(shù)據(jù)失效率失效開銷) 5.2 Cache的基本知識所以,兩種結(jié)構(gòu)的平均訪存時間分別為: 平均訪存時間分離75%(1+0.64%50)+25%(1+6.47%50)(75%1.32)+(25%4.325)0.990+1.0592.05 平均訪存時間混合75%(1+1.99%50)+25%(1+1+1.99%50)(75%1.995)+(25%2.995)1.496+0.7492.24因此,盡管分離
15、Cache的實際失效率比混合Cache的高,但其平均訪存時間反而較低。分離Cache提供了兩個端口,消除了結(jié)構(gòu)沖突。5.2 Cache的基本知識程序執(zhí)行時間CPU時間(CPU執(zhí)行周期數(shù)+存儲器停頓周期數(shù)) 時鐘周期時間其中: 存儲器停頓時鐘周期數(shù)“讀”的次數(shù)讀失效率讀失效開銷“寫”的次數(shù)寫失效率寫失效開銷存儲器停頓時鐘周期數(shù)訪存次數(shù)失效率失效開銷 5.2 Cache的基本知識例5.2 假設(shè)Cache失效開銷為50個時鐘周期,當(dāng)不考慮存儲器停頓時,所有指令的執(zhí)行時間都是2.0個時鐘周期,訪問Cache失效率為2%,平均每條指令訪存1.33次。試分析Cache對性能的影響。 解CPU 時間IC(C
16、PIexe ) 時鐘周期時間存儲器停頓周期數(shù)指令數(shù)考慮Cache的失效后,性能為: CPU時間有cacheIC(2.01.332 %50)時鐘周期時間 IC3.33時鐘周期時間實際CPI :3.333.33/2.0 = 1.67(倍) CPU時間也增加為原來的1.67倍。但若不采用Cache,則:CPI2.0501.3368.55.2 Cache的基本知識Cache失效對于一個CPI較小而時鐘頻率較高的CPU來說,影響是雙重的:CPIexecution越低,固定周期數(shù)的Cache失效開銷的相對影響就越大。在計算CPI時,失效開銷的單位是時鐘周期數(shù)。因此,即使兩臺計算機(jī)的存儲層次完全相同,時鐘頻
17、率較高的CPU的失效開銷較大,其CPI中存儲器停頓這部分也就較大。 因此Cache對于低CPI、高時鐘頻率的CPU來說更加重要。 5.2 Cache的基本知識例5.3 考慮兩種不同組織結(jié)構(gòu)的Cache:直接映象Cache和2路組相聯(lián)Cache,試問它們對CPU的性能有何影響?先求平均訪存時間,然后再計算CPU性能。分析時請用以下假設(shè): (1)理想Cache(命中率為100%)情況下的CPI為2.0,時鐘周期為2ns,平均每條指令訪存1.3次。 (2)兩種Cache容量均為64KB,塊大小都是32字節(jié)。 (3)圖5.8說明,在組相聯(lián)Cache中,必須增加一個多路選擇器,用于根據(jù)標(biāo)識匹配結(jié)果從相應(yīng)
18、組的塊中選擇所需的數(shù)據(jù)。因為CPU的速度直接與Cache命中的速度緊密相關(guān),所以對于組相聯(lián)Cache,由于多路選擇器的存在而使CPU的時鐘周期增加到原來的1.10倍。 (4) 這兩種結(jié)構(gòu)Cache的失效開銷都是70 ns。(在實際應(yīng)用中,應(yīng)取整為整數(shù)個時鐘周期) (5) 命中時間為1個時鐘周期,64 KB直接映象Cache的失效率為1.4%,相同容量的2路組相聯(lián)Cache的失效率為1.0%。5.2 Cache的基本知識5.2 Cache的基本知識 解 平均訪存時間為: 平均訪存時間命中時間失效率失效開銷 因此,兩種結(jié)構(gòu)的平均訪存時間分別是: 平均訪存時間1路2.02(0.01470)4.98
19、ns 平均訪存時間2路2.021.10(0.01070)5.10 ns 直接相聯(lián)Cache的平均訪存時間比較低。 CPU 時間IC(CPIexe每條指令的平均存儲器 停頓周期數(shù))時鐘周期時間 IC (CPIexe時鐘周期時間 每條指令的平均存儲器停頓時間)5.2 Cache的基本知識因此:CPU時間1路 IC(2.02(1.30.01470) 5.27ICCPU時間2路 IC(2.021.10(1.30.01070) 5.31IC5.31ICCPU時間1路 1.015.27ICCPU時間2路直接映象Cache的平均性能好一些。5.2 Cache的基本知識平均訪存時間命中時間失效率失效開銷可以從
20、三個方面改進(jìn)Cache的性能:降低失效率減少失效開銷減少Cache命中時間下面介紹17種Cache優(yōu)化技術(shù)8種用于降低失效率5種用于減少失效開銷4種用于減少命中時間 5.2.7 改進(jìn)Cache的性能三種失效(3C)強(qiáng)制性失效(Compulsory miss)當(dāng)?shù)谝淮卧L問一個塊時,該塊不在Cache中,需從下一級存儲器中調(diào)入Cache。(冷啟動失效,首次訪問失效)容量失效(Capacity miss ) 如果程序執(zhí)行時所需的塊不能全部調(diào)入Cache中,則當(dāng)某些塊被替換后,若又重新被訪問,就會發(fā)生失效。沖突失效(Conflict miss)在組相聯(lián)或直接映象Cache中,若太多的塊映象到同一組(塊
21、)中,則會出現(xiàn)該組中某個塊被別的塊替換(即使別的組或塊有空閑位置),然后又被重新訪問的情況。(碰撞失效,干擾失效)5.3 降低Cache失效率的方法5.3 降低Cache失效率的方法三種失效所占的比例 絕對值5.3 降低Cache失效率的方法相對值5.3 降低Cache失效率的方法可以看出:相聯(lián)度越高,沖突失效就越少;強(qiáng)制性失效和容量失效不受相聯(lián)度的影響;強(qiáng)制性失效不受Cache容量的影響,但容量失效卻隨著容量的增加而減少;表中的數(shù)據(jù)符合2:1的Cache經(jīng)驗規(guī)則,即大小為N的直接映象Cache的失效率約等于大小為N/2的2路組相聯(lián)Cache的失效率。5.3 降低Cache失效率的方法減少三種
22、失效的方法強(qiáng)制性失效:增加塊大小,預(yù)取(本身很少)容量失效:增加容量 (抖動現(xiàn)象)沖突失效:提高相聯(lián)度(理想情況:全相聯(lián))許多降低失效率的方法會增加命中時間或失效開銷5.3 降低Cache失效率的方法失效率與塊大小的關(guān)系對于給定的Cache容量,當(dāng)塊大小增加時,失效率開始是下降,后來反而上升了。 原因:一方面它減少了強(qiáng)制性失效;另一方面,由于增加塊大小會減少Cache中塊的數(shù)目,所以有可能會增加沖突失效。 5.3.1 增加Cache塊大小5.3 降低Cache失效率的方法5.3 降低Cache失效率的方法各種塊大小情況下Cache的失效率 塊大小(字節(jié)) Cache容量(字節(jié)) 1K 4K 1
23、6K 64K 256K 16 15.05% 8.57% 3.94% 2.04% 1.09% 32 13.34% 7.24% 2.87% 1.35% 0.70% 64 13.76% 7.00% 2.64% 1.06% 0.51% 128 16.64% 7.78% 2.77% 1.02% 0.49% 256 22.01% 9.51% 3.29% 1.15% 0.49% Cache容量越大,使失效率達(dá)到最低的塊大小就越大。5.3 降低Cache失效率的方法增加塊大小會增加失效開銷例5.4 假定存儲系統(tǒng)在延遲40個時鐘周期后,每2個時鐘周期能送出16個字節(jié)。即,經(jīng)過42個時鐘周期,它可提供16個字節(jié);
24、經(jīng)過44個時鐘周期,可提供32個字節(jié);依此類推。請問對于表5.6中列出的各種容量的Cache,在塊大小分別為多少時,平均訪存時間最小?解 平均訪存時間命中時間失效率失效開銷假設(shè)命中時間與塊大小無關(guān),為1個時鐘周期,對16B塊大小,容量為1KB的Cache: 平均訪存時間115.05%42=7.321個時鐘周期對256B塊大小,容量為256KB的Cache: 平均訪存時間10.49%72=1.353個時鐘周期5.3 降低Cache失效率的方法各種塊大小情況下Cache的平均訪存時間 塊大?。ㄗ止?jié)) 失效開銷(時鐘周期) Cache容量(字節(jié)) 1K 4K 16K 64K 256K 16427.3
25、21 4.599 2.655 1.857 1.458 32446.870 4.186 2.263 1.857 1.308 64487.605 4.360 2.267 1.594 1.245 1285610.318 5.357 2.551 1.509 1.274 2567216.847 7.847 3.369 1.571 1.353 1 KB、4 KB、16 KB Cache: 塊大小32 B64 KB Cache: 塊大小128 B256 KB Cache: 塊大小64 B5.3 降低Cache失效率的方法采用相聯(lián)度超過8的方案的實際意義不大 8路組相聯(lián)的命中率與全相聯(lián)的命中率差別不大。2:1
26、 Cache經(jīng)驗規(guī)則 容量為N的直接映象Cache的失效率和容量為N/2的2路組相聯(lián)Cache的失效率差不多相同。提高相聯(lián)度是以增加命中時間為代價。 例如:TTL或ECL板級Cache,2路組相聯(lián):增加10定制的CMOS Cache, 2路組相聯(lián): 增加25.3.2 提高相聯(lián)度5.3 降低Cache失效率的方法例5.5 假定提高相聯(lián)度會按下列比例增大處理器時鐘周期: 時鐘周期2路 1.10時鐘周期1路 時鐘周期4路 1.12時鐘周期1路 時鐘周期8路 1.14時鐘周期1路 假定命中時間為一個時鐘周期,直接映象情況下失效開銷為50個時鐘周期,而且假設(shè)不必將失效開銷取整。使用表5.5中的失效率,試
27、問當(dāng)Cache為多大時,以下不等式成立? 平均訪存時間8路 平均訪存時間4路 平均訪存時間4路 平均訪存時間2路 平均訪存時間2路 平均訪存時間1路5.3 降低Cache失效率的方法解 在各種相聯(lián)度的情況下,平均訪存時間分別為: 平均訪存時間8路 = 命中時間8路 + 失效率8路失效開銷8路 = 1.14失效率8路50 平均訪存時間4路 = 1.12 失效率4路50 平均訪存時間2路 = 1.10 失效率2路50 平均訪存時間1路 = 1.00 失效率1路50 把相應(yīng)的失效率代入上式,即可得平均訪存時間。 例如,1 KB的直接映象Cache的平均訪存時間為: 平均訪存時間1路 = 1.000.
28、133507.65 128 KB的8路組相聯(lián)Cache的平均訪存時間為: 平均訪存時間8路1.140.006501.44Cache容量相聯(lián)度(路) 124817.65 6.60 6.22 5.44 25.90 4.90 4.62 4.09 44.60 3.95 3.57 3.19 83.30 3.00 2.87 2.59 162.45 2.20 2.12 2.04 322.00 1.80 1.77 1.79 641.70 1.60 1.57 1.59 1281.50 1.45 1.42 1.44 在各種容量和相聯(lián)度情況下Cache的平均訪存時間5.3 降低Cache失效率的方法 當(dāng)Cache容
29、量不超過16 KB時,上述三個不等式成立。 從32 KB開始,對于平均訪存時間有:4路組相聯(lián)的平均訪存時間小于2路組相聯(lián)的;2路組相聯(lián)的小于直接映象的;但8路組相聯(lián)的卻比4路組相聯(lián)的大。5.3 降低Cache失效率的方法最直接的方法是增加Cache的容量缺點:增加成本可能增加命中時間這種方法在片外Cache中用得比較多 5.3.3 增加Cache的容量5.3 降低Cache失效率的方法一種能減少沖突失效次數(shù)而又不影響時鐘頻率的方法?;舅枷朐贑ache和它從下一級存儲器調(diào)數(shù)據(jù)的通路之間設(shè)置一個全相聯(lián)的小Cache,用于存放被替換出去的塊(稱為Victim),以備重用。工作過程5.3.4 Vic
30、tim Cache 5.3 降低Cache失效率的方法Victim Cache在存儲層次中的位置 5.3 降低Cache失效率的方法作用對于減小沖突失效很有效,特別是對于小容量的直接映象數(shù)據(jù)Cache,作用尤其明顯。例如項數(shù)為4的Victim Cache: 能使4 KB Cache的沖突失效減少20%90%5.3 降低Cache失效率的方法多路組相聯(lián)的低失效率和直接映象的命中速度偽相聯(lián)Cache的優(yōu)點命中時間小失效率低5.3.5 偽相聯(lián) Cache 優(yōu)點缺點直接映象組相聯(lián)命中時間小命中時間大失效率高失效率低基本思想及工作原理 在邏輯上把直接映象Cache的空間上下平分為兩個區(qū)。對于任何一次訪問
31、,偽相聯(lián)Cache先按直接映象Cache的方式去處理。若命中,則其訪問過程與直接映象Cache的情況一樣。若不命中,則再到另一區(qū)相應(yīng)的位置去查找。若找到,則發(fā)生了偽命中,否則就只好訪問下一級存儲器??焖倜信c慢速命中 要保證絕大多數(shù)命中都是快速命中。5.3 降低Cache失效率的方法例5.6 假設(shè)當(dāng)在按直接映象找到的位置處沒有發(fā)現(xiàn)匹配,而在另一個位置才找到數(shù)據(jù)(偽命中)需要2個額外的周期。仍用上個例子中的數(shù)據(jù),問:當(dāng)Cache容量分別為2 KB和128 KB時,直接映象、2路組相聯(lián)和偽相聯(lián)這三種組織結(jié)構(gòu)中,哪一種速度最快? 解 首先考慮標(biāo)準(zhǔn)的平均訪存時間公式: 平均訪存時間偽相聯(lián) 命中時間偽相
32、聯(lián)失效率偽相聯(lián)失效開銷偽相聯(lián)由于: 失效率偽相聯(lián)失效率2路 命中時間偽相聯(lián)命中時間1路偽命中率偽相聯(lián)2偽相聯(lián)查找的命中率等于2路組相聯(lián)Cache的命中率和直接映象Cache命中率之差。 偽命中率偽相聯(lián) 命中率2路命中率1路 (1失效率2路)(1失效率1路) 失效率1路失效率2路5.3 降低Cache失效率的方法綜合上述分析,有: 平均訪存時間偽相聯(lián)命中時間1路(失效率1路失效率2路)2 失效率2路失效開銷1路將前面表中的數(shù)據(jù)代入上面的公式,得: 平均訪存時間偽相聯(lián),2 KB1(0.0980.076)2(0.07650)4.844 平均訪存時間偽相聯(lián),128 KB1(0.0100.007)2(0
33、.00750)1.356根據(jù)上一個例子中的表,對于2 KB Cache,可得: 平均訪存時間1路 5.90 個時鐘 平均訪存時間2路 4.90 個時鐘對于128KB的Cache有,可得: 平均訪存時間1路 1.50 個時鐘 平均訪存時間2路 1.45 個時鐘可見,對于這兩種Cache容量,偽相聯(lián)Cache都是速度最快的。5.3 降低Cache失效率的方法指令和數(shù)據(jù)都可以預(yù)取預(yù)取內(nèi)容既可放入Cache,也可放在外緩沖器中。例如:指令流緩沖器指令預(yù)取通常由Cache之外的硬件完成預(yù)取效果Joppi的研究結(jié)果指令預(yù)取 (4 KB,直接映象Cache,塊大小16 B)1個塊的指令流緩沖器: 捕獲152
34、5的失效4個塊的指令流緩沖器: 捕獲5016個塊的指令流緩沖器:捕獲72數(shù)據(jù)預(yù)取 (4 KB,直接映象Cache)1個數(shù)據(jù)流緩沖器:捕獲25的失效還可以采用多個數(shù)據(jù)流緩沖器5.3.6 硬件預(yù)取 5.3 降低Cache失效率的方法Palacharla和Kessler的研究結(jié)果流緩沖器:既能預(yù)取指令又能預(yù)取數(shù)據(jù)對于兩個64 KB四路組相聯(lián)Cache來說:8個流緩沖器能捕獲5070的失效5.3 降低Cache失效率的方法例5.7 Alpha AXP 21064采用指令預(yù)取技術(shù),其實際失效率是多少?若不采用指令預(yù)取技術(shù),Alpha AXP 21064的指令Cache必須為多大才能保持平均訪存時間不變?
35、解 假設(shè)當(dāng)指令不在指令Cache里,而在預(yù)取緩沖器中找到時,需要多花一個時鐘周期。修改后的公式: 平均訪存時間預(yù)取 命中時間失效率預(yù)取命中率1 失效率(1預(yù)取命中率)失效開銷假設(shè)預(yù)取命中率為25%,命中時間為2個時鐘周期,失效開銷為50個時鐘周期。查表可知8 KB指令Cache的失效率為1.10%。則: 平均訪存時間預(yù)取 2(1.10 %25 %1)1.10 %(125 %)50 20.002750.413 2.415為了得到相同性能下的實際失效率,由原始公式得: 平均訪存時間 命中時間失效率失效開銷 失效率 (平均訪存時間命中時間)/失效開銷 (2.4152)/500.83 %5.3 降低C
36、ache失效率的方法在編譯時加入預(yù)取指令,在數(shù)據(jù)被用到之前發(fā)出預(yù)取請求。預(yù)取有以下幾種類型:寄存器預(yù)?。喊褦?shù)據(jù)取到寄存器中。Cache預(yù)?。褐粚?shù)據(jù)取到Cache中。故障性預(yù)?。涸陬A(yù)取時,若出現(xiàn)虛地址故障或違反保護(hù)權(quán)限,就會發(fā)生異常。非故障性預(yù)?。涸谟龅竭@種情況時則不會發(fā)生異常,因為這時它會放棄預(yù)取,轉(zhuǎn)變?yōu)榭詹僮?。本?jié)假定Cache預(yù)取都是非故障性的,也稱非綁定預(yù)取。5.3.7 編譯器控制的預(yù)取 5.3 降低Cache失效率的方法在預(yù)取數(shù)據(jù)的同時,處理器應(yīng)能繼續(xù)執(zhí)行。只有這樣,預(yù)取才有意義。非阻塞Cache (非鎖定Cache) 編譯器控制預(yù)取的目的使執(zhí)行指令和讀取數(shù)據(jù)能重疊執(zhí)行。 循環(huán)是預(yù)取
37、優(yōu)化的主要對象失效開銷小時:循環(huán)體展開12次失效開銷大時:循環(huán)體展開許多次5.3 降低Cache失效率的方法 例5.8 對于下面的程序,首先判斷哪些訪問可能會導(dǎo)致數(shù)據(jù)Cache失效。然后,加入預(yù)取指令以減少失效。最后,計算所執(zhí)行的預(yù)取指令的條數(shù)以及通過預(yù)取避免的失效次數(shù)。假定: (1) 我們用的是一個容量為8 KB、塊大小為16 B的直接映象Cache,它采用寫回法并且按寫分配。 (2) a、b分別為3100(3行100列)和1013的雙精度浮點數(shù)組,每個元素都是8 B。當(dāng)程序開始執(zhí)行時,這些數(shù)據(jù)都不在Cache內(nèi)。 for ( i = 0 ; i 3 ; i = i + 1 ) for (
38、j = 0 ; j 100 ; j = j + 1 ) a i j = b j 0 * b j+1 0 ; 5.3 降低Cache失效率的方法解計算過程失效情況 總的失效次數(shù)251次 改進(jìn)后的程序假設(shè)失效開銷很大,預(yù)取必須至少提前7次循環(huán)進(jìn)行。5.3 降低Cache失效率的方法for ( j = 0; j 100; j = j+1 ) prefetch ( b j+7 0 ); /* 預(yù)取7次循環(huán)后所需的b ( j , 0 ) */ prefetch ( a 0 j+7 ); /* 預(yù)取7次循環(huán)后所需的a (0 , j ) */ for ( i = 1; i 3; i = i+1 ) for
39、( j = 0; j 100; j = j+1 ) prefetch ( a i j+7 ); /* 預(yù)取7次循環(huán)后所需的a ( i , j ) */ a i j = b j 0 * b j+1 0 ; 失效情況 總的失效次數(shù)19次5.3 降低Cache失效率的方法 例5.9 在以下條件下,計算例5.8中所節(jié)約的時間: (1) 忽略指令Cache失效,并假設(shè)數(shù)據(jù)Cache無沖突失效和容量失效。 (2) 假設(shè)預(yù)取可以被重疊或與Cache失效重疊執(zhí)行,從而能以最大的存儲帶寬傳送數(shù)據(jù)。 (3) 不考慮Cache失效時,修改前的循環(huán)每7個時鐘周期循環(huán)一次。修改后的程序中,第一個預(yù)取循環(huán)每9個時鐘周期循
40、環(huán)一次,而第二個預(yù)取循環(huán)每8個時鐘周期循環(huán)一次(包括外層for循環(huán)的開銷)。 (4) 一次失效需50個時鐘周期。5.3 降低Cache失效率的方法解修改前:循環(huán)時間3007 2100失效開銷2515012550/14650 21001255014650修改后:循環(huán)時間100920082500失效時間195095025009503450 加速比14650/34504.25.3 降低Cache失效率的方法基本思想 在編譯時,對程序中的指令和數(shù)據(jù)進(jìn)行重新組織,以降低Cache失效率。McFaring 發(fā)現(xiàn): 通過對指令進(jìn)行重新排序,可有效地降低指令Cache的失效率。2KB Cache: 降低508
41、KB Cache:降低75%數(shù)據(jù)對存儲位置的限制比指令的少,因此更便于優(yōu)化。5.3.8 編譯器優(yōu)化 5.3 降低Cache失效率的方法通過把數(shù)據(jù)重新組織,使得一塊數(shù)據(jù)在被從Cache替換出去之前,能最大限度利用其中的數(shù)據(jù)(訪問次數(shù)最多)。數(shù)組合并舉例: /* 修改前 */ int val SIZE ; int key SIZE ;5.3 降低Cache失效率的方法/* 修改后 */struct merge int val ;int key ; ;struct merge merged_array SIZE ;5.3 降低Cache失效率的方法內(nèi)外循環(huán)交換 舉例: /* 修改前 */ for (
42、 j = 0 ; j 100 ; j = j+1 ) for ( i = 0 ; i 5000 ; i = i+1 ) x i j = 2 * x i j ; /* 修改后 */ for ( i = 0 ; i 5000 ; i = i+1 ) for ( j = 0 ; j 100 ; j = j+1 ) x i j = 2 * x i j ;5.3 降低Cache失效率的方法循環(huán)融合 /* 修改前 */ for ( i = 0 ; i N ; i = i+1 ) for ( j = 0 ; j N ; j = j+1 ) a i j = 1/ b i j * c i j ; for ( i
43、 = 0 ; i N ; i = i+1 ) for ( j = 0 ; j N ; j = j+1 ) d i j = a i j + c i j ; /* 修改后 */ for ( i = 0 ; i N ; i = i+1 ) for ( j = 0 ; j N ; j = j+1 ) a i j = 1/ b i j * c i j ; d i j = a i j + c i j ; 5.3 降低Cache失效率的方法分塊 把對數(shù)組的整行或整列訪問改為按塊進(jìn)行。 /* 修改前 */ for ( i = 0; iN; i = i+1 ) for ( j = 0; j N; j = j+1
44、 ) r = 0; for ( k = 0; k N; k = k+1) r = r + y i k * z k j ; x i j = r; 計算過程(失效次數(shù):2N3N2)5.3 降低Cache失效率的方法5.3 降低Cache失效率的方法/* 修改后 */ for ( jj = 0; jj N; jj = jj+B ) for ( kk = 0; kk N; kk = kk+B ) for ( i = 0; i N; i =i+1 ) for ( j = jj; j min(jj+B-1, N); j = j+1 ) r = 0; for ( k = kk; k min(kk+B-1,
45、N); k = k+1) r = r + y i k * z k j ; x i j = x i j + r; 計算過程 (失效次數(shù):2N3 /B N2)5.3 降低Cache失效率的方法提高寫直達(dá)Cache性能的最重要方法是使用寫緩沖區(qū)。Cache中的寫緩沖器導(dǎo)致對存儲器訪問的復(fù)雜化 寫緩沖器進(jìn)行的寫入操作是滯后進(jìn)行的,所以該緩沖器也被稱為后行寫數(shù)緩沖器。例5.10 考慮以下指令序列: SW R3, 512(R0) ;M512R3 (Cache索引為0) LW R1, 1024(R0) ;R1M1024 (Cache索引為0) LW R2, 512(R0) ;R2M512 (Cache索引為
46、0)5.4 減少Cache失效開銷5.4.1 讓讀失效優(yōu)先于寫5.4 減少Cache失效開銷解決問題的方法(讀失效的處理)推遲對讀失效的處理(缺點:讀失效的開銷增加,如50)檢查寫緩沖器中的內(nèi)容在寫回法Cache中,也可采用寫緩沖器。5.4.2 寫緩沖合并提高寫緩沖器的效率寫直達(dá)Cache依靠寫緩沖來減少對下一級存儲器寫操作的時間。 5.4 減少Cache失效開銷如果寫緩沖器為空,就把數(shù)據(jù)和相應(yīng)地址寫入該緩沖器。從CPU的角度來看,該寫操作就算完成了。如果寫緩沖器中已經(jīng)有了待寫入的數(shù)據(jù),就要把這次的寫入地址與寫緩沖器中已有的所有地址進(jìn)行比較,看是否有匹配的項。如果有地址匹配而對應(yīng)的位置又是空閑
47、的,就把這次要寫入的數(shù)據(jù)與該項合并。這就叫寫緩沖合并。如果寫緩沖器滿且又沒有能進(jìn)行寫合并的項,就必須等待。 提高了寫緩沖器的空間利用率,而且還能減少因?qū)懢彌_器滿而要進(jìn)行的等待時間。5.4 減少Cache失效開銷5.4 減少Cache失效開銷請求字 從下一級存儲器調(diào)入Cache的塊中,只有一個字是立即需要的。這個字稱為請求字。 應(yīng)盡早把請求字發(fā)送給CPU盡早重啟動:調(diào)塊時,從塊的起始位置開始讀起。一旦請求字到達(dá),就立即發(fā)送給CPU,讓CPU繼續(xù)執(zhí)行。請求字優(yōu)先:調(diào)塊時,從請求字所在的位置讀起。這樣,第一個讀出的字便是請求字。將之立即發(fā)送給CPU。5.4.3 請求字處理技術(shù)5.4 減少Cache失
48、效開銷這種技術(shù)在以下情況下效果不大:Cache塊較小下一條指令正好訪問同一Cache塊的另一部分5.4 減少Cache失效開銷非阻塞Cache:Cache失效時仍允許CPU進(jìn)行其他的命中訪問。即允許“失效下命中”。進(jìn)一步提高性能:“多重失效下命中” “失效下失效”(存儲器必須能夠處理多個失效)重疊失效個數(shù)對平均訪問時間的影響5.4.4 非阻塞Cache技術(shù)5.4 減少Cache失效開銷 例5.11 對于上圖描述的Cache,在2路組相聯(lián)和“一次失效下命中”這兩種措施中,哪一種對浮點程序更重要?對整數(shù)程序的情況如何? 假設(shè)8KB數(shù)據(jù)Cache的平均失效率為:對于浮點程序,直接映象Cache為11
49、.4%,而2路組相聯(lián)Cache為10.7%;對于整數(shù)程序,直接映象Cache為7.4%,2路組相聯(lián)Cache為6.0%。并且假設(shè)平均存儲器等待時間是失效率和失效開銷的積,失效開銷為16個時鐘周期。5.4 減少Cache失效開銷解 對于浮點程序,平均存儲器等待時間為: 失效率直接映象 失效開銷 11.4 % 16 1.84 失效率2路組相聯(lián) 失效開銷 10.7 % 16 1.71 1.71/1.840.93 對于整數(shù)程序: 失效率直接映象 失效開銷 7.4 % 16 1.18 失效率2路組相聯(lián) 失效開銷 6.0 % 16 0.96 0.96/1.180.81“失效下命中”方法有一個潛在優(yōu)點: 它
50、不會影響命中時間,而組相聯(lián)卻會。 5.4 減少Cache失效開銷應(yīng)把Cache做得更快?還是更大?答案:二者兼顧,再增加一級Cache第一級Cache(L1)小而快第二級Cache(L2)容量大性能分析 平均訪存時間 命中時間L1失效率L1失效開銷L1失效開銷L1 命中時間L2失效率L2失效開銷L2平均訪存時間 命中時間L1失效率L1 (命中時間L2失效率L2失效開銷L2) 5.4.5 采用兩級Cache5.4 減少Cache失效開銷局部失效率與全局失效率局部失效率該級Cache的失效次數(shù)/到達(dá)該級 Cache的訪問次數(shù)例如:上述式子中的失效率L2全局失效率該級Cache的失效次數(shù)/CPU發(fā)出
51、的 訪存的總次數(shù)全局失效率L2失效率L1失效率L2 評價第二級Cache時,應(yīng)使用全局失效率這個指標(biāo)。它指出了在CPU發(fā)出的訪存中,究竟有多大比例是穿過各級Cache,最終到達(dá)存儲器的。5.4 減少Cache失效開銷 例5.12 假設(shè)在1000次訪存中,第一級Cache失效40次, 第二級Cache失效20次。試問:在這種情況下,該Cache系統(tǒng)的局部失效率和全局失效率各是多少? 解 第一級Cache的失效率(全局和局部)是40/1000,即4%; 第二級Cache的局部失效率是20/40,即50%; 第二級Cache的全局失效率是20/1000,即2%。 5.4 減少Cache失效開銷對于第
52、二級Cache,我們有以下結(jié)論:在第二級Cache比第一級 Cache大得多的情況下,兩級Cache的全局失效率和容量與第二級Cache相同的單級Cache的失效率非常接近。局部失效率不是衡量第二級Cache的一個好指標(biāo),因此,在評價第二級Cache時,應(yīng)用全局失效率這個指標(biāo)。第二級Cache不會影響CPU的時鐘頻率,因此其設(shè)計有更大的考慮空間。兩個問題:它能否降低CPI中的平均訪存時間部分?它的成本是多少?5.4 減少Cache失效開銷第二級Cache的參數(shù)容量第二級Cache的容量一般比第一級的大許多。如512 KB,1024 KB相聯(lián)度第二級Cache可采用較高的相聯(lián)度或偽相聯(lián)方法。5.
53、4 減少Cache失效開銷 例5.13 給出有關(guān)第二級Cache的以下數(shù)據(jù): (1) 2路組相聯(lián)使命中時間增加10%CPU時鐘周期 (2) 對于直接映象,命中時間L2 10個時鐘周期 (3) 對于直接映象,局部失效率L2 25% (4) 對于2路組相聯(lián),局部失效率L2 20% (5) 失效開銷L2 50個時鐘周期 試問第二級Cache的相聯(lián)度對失效開銷的影響如何?5.4 減少Cache失效開銷 解 對一個直接映象的第二級Cache來說,第一級Cache的失效開銷為: 失效開銷直接映象,L1 1025%50 22.5 個時鐘周期 對于2路組相聯(lián)第二級Cache來說,命中時間增加了10%(0.1)
54、個時鐘周期,故第一級Cache的失效開銷為: 失效開銷2路組相聯(lián),L1 10.120%50 20.1 個時鐘周期 把第二級Cache的命中時間取整,得10或11,則: 失效開銷2路組相聯(lián),L1 1020%50 20.0 個時鐘周期 失效開銷2路組相聯(lián),L1 1120%50 21.0 個時鐘周期 故對于第二級Cache來說,2路組相聯(lián)優(yōu)于直接映象。5.4 減少Cache失效開銷塊大小第二級Cache可采用較大的塊 如 64 B、128 B、256 B 為減少平均訪存時間,可以讓容量較小的第一級Cache采用較小的塊,而讓容量較大的第二級Cache采用較大的塊。需要考慮的另一個問題:多級包容性:第
55、一級Cache中的數(shù)據(jù)是否總是同時存在于第二級Cache中。 命中時間直接影響到處理器的時鐘頻率。在許多現(xiàn)代計算機(jī)中,往往是Cache的訪問時間限制了處理器的時鐘頻率。5.5 減少命中時間5.5.1 容量小、結(jié)構(gòu)簡單的Cache硬件越簡單,速度就越快。應(yīng)使Cache足夠小,以便可以與CPU一起放在同一塊芯片上。 某些設(shè)計采用了一種折中方案: 把Cache的標(biāo)識放在片內(nèi),而把Cache的數(shù)據(jù)存儲器放在片外。5.5 減少命中時間5.5.2 虛擬Cache物理Cache:使用物理地址的傳統(tǒng)Cache。虛擬Cache訪問Cache的索引以及Cache中的標(biāo)識都是虛擬地址(一部分)。5.5 減少命中時間
56、并非都采用虛擬Cache(為什么?)虛擬Cache的清空問題解決方法:在地址標(biāo)識中增加PID字段 (進(jìn)程標(biāo)識符)三種情況下失效率的比較單進(jìn)程,PIDs,清空PIDs與單進(jìn)程相比:0.30.6PIDs與清空相比: 0.64.3%同義和別名解決方法:反別名法、頁著色5.5 減少命中時間5.5 減少命中時間虛擬索引物理標(biāo)識優(yōu)點:兼得虛擬Cache和物理Cache的好處局限性:Cache容量受到限制 (頁內(nèi)位移) Cache容量頁大小相聯(lián)度舉例:IBM 3033的Cache頁大小4 KB 相聯(lián)度16 頁地址地址標(biāo)識頁內(nèi)位移索 引塊內(nèi)位移3112 110 Cache容量164 KB64 KB另一種方法:
57、硬件散列變換5.5 減少命中時間5.5.3 Cache訪問流水化對第一級Cache的訪問按流水方式組織訪問Cache需要多個時鐘周期才可以完成例如Pentium訪問指令Cache需要一個時鐘周期Pentium Pro到Pentium 需要兩個時鐘周期Pentium 4 則需要4個時鐘周期5.5 減少命中時間開發(fā)指令級并行性所遇到的一個挑戰(zhàn)是:當(dāng)要每個時鐘周期流出超過4條指令時,要提供足夠多條彼此互不相關(guān)的指令是很困難的。一個解決方法:采用Trace Cache存放CPU所執(zhí)行的動態(tài)指令序列。 包含了由分支預(yù)測展開的指令,該分支預(yù)測是否正確需要在取到該指令時進(jìn)行確認(rèn)。5.5.4 Trace Ca
58、che優(yōu)缺點地址映象機(jī)制復(fù)雜。相同的指令序列有可能被當(dāng)作條件分支的不同選擇而重復(fù)存放。能夠提高指令Cache的空間利用率。5.5 減少命中時間5.5.5 Cache優(yōu)化技術(shù)總結(jié)“”號:表示改進(jìn)了相應(yīng)指標(biāo)。“”號:表示它使該指標(biāo)變差??崭駲冢罕硎舅鼘υ撝笜?biāo)無影響。復(fù)雜性:0表示最容易,3表示最復(fù)雜。 優(yōu)化技術(shù) 失效率 失效開銷 命中時間 硬件復(fù)雜度 說 明 增加塊大小 + 0 實現(xiàn)容易;Pentium 4 的第二級Cache采用了128 B的塊 增加Cache容量 + 被廣泛采用,特別是第二級Cache 提高相聯(lián)度 + 1 被廣泛采用 Victim Cache + 2 AMD Athlon采用了
59、8個項的Victim Cache偽相聯(lián)Cache + 2 MIPS R10000的第二級Cache采用 硬件預(yù)取指令和數(shù)據(jù) + 23 許多機(jī)器預(yù)取指令,UltraSPARC 預(yù)取數(shù)據(jù) Cache優(yōu)化技術(shù)總結(jié) 優(yōu)化技術(shù) 失效率 失效開銷 命中時間 硬件復(fù)雜度 說 明 編譯器控制的預(yù)取 + 3 需同時采用非阻塞Cache;有幾種微處理器提供了對這種預(yù)取的支持 用編譯技術(shù)減少Cache失效次數(shù) + 0 向軟件提出了新要求;有些機(jī)器提供了編譯器選項 使讀失效優(yōu)先于寫 + 1 在單處理機(jī)上實現(xiàn)容易,被廣泛采用 寫緩沖歸并 +1 與寫直達(dá)合用,廣泛應(yīng)用,例如21164,UltraSPARC 盡早重啟動和關(guān)
60、鍵字優(yōu)先 +2 被廣泛采用 非阻塞Cache +3 在支持亂序執(zhí)行的CPU中使用 優(yōu)化技術(shù) 失效率 失效開銷 命中時間 硬件復(fù)雜度 說 明 兩級Cache +2 硬件代價大;兩級Cache的塊大小不同時實現(xiàn)困難;被廣泛采用 容量小且結(jié)構(gòu)簡單的Cache +0實現(xiàn)容易,被廣泛采用 對Cache進(jìn)行索引時不必進(jìn)行地址變換 +2 對于小容量Cache來說實現(xiàn)容易,已被Alpha 21164和UltraSPARC 采用 流水化Cache訪問 +1 被廣泛采用 Trace Cache +3 Pentium 4 采用主存的主要性能指標(biāo):延遲和帶寬以往:Cache主要關(guān)心延遲,I/O主要關(guān)心帶寬?,F(xiàn)在:Ca
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石塑封條施工方案
- 構(gòu)建高質(zhì)量中小學(xué)體育教師隊伍的策略與路徑
- 廠房改造建造合同范例
- 專業(yè)律師租房合同范例
- 義教合同范例
- 產(chǎn)業(yè)融合促進(jìn)物流降本的策略與實施路徑設(shè)計
- 能源應(yīng)急管理體系的建設(shè)與優(yōu)化
- 2025年項目工作計劃表 項目工作計劃規(guī)劃
- 教育評價的多維度構(gòu)建策略
- 山東省威海市市級名校2025屆中考生物最后一模試卷含解析
- 二零二五年度電梯安裝工程監(jiān)理合同4篇
- 2025年華能新能源股份有限公司招聘筆試參考題庫含答案解析
- 《中國心力衰竭診斷和治療指南(2024)》解讀完整版
- 醫(yī)院審計科科長述職報告
- 《檔案管理課件》課件
- 2024年度中國共產(chǎn)主義共青團(tuán)團(tuán)課課件版
- 2025年中考物理終極押題猜想(新疆卷)(全解全析)
- DB32T 2857-2015 玉米產(chǎn)量現(xiàn)場測定操作規(guī)程
- 脛骨骨折的護(hù)理查房
- 房顫手術(shù)后護(hù)理流程
- 抽水蓄能電站項目建設(shè)管理方案
評論
0/150
提交評論