計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—第三章(存儲(chǔ)系統(tǒng))課件_第1頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—第三章(存儲(chǔ)系統(tǒng))課件_第2頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—第三章(存儲(chǔ)系統(tǒng))課件_第3頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—第三章(存儲(chǔ)系統(tǒng))課件_第4頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)—第三章(存儲(chǔ)系統(tǒng))課件_第5頁(yè)
已閱讀5頁(yè),還剩164頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)原理虛擬存儲(chǔ)系統(tǒng)Cache存儲(chǔ)系統(tǒng)三級(jí)存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)原理本章內(nèi)容引入存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)器的頻帶平衡存儲(chǔ)器的作用本章內(nèi)容存儲(chǔ)系統(tǒng)原理 現(xiàn)代計(jì)算機(jī)系統(tǒng)都以存儲(chǔ)器為中心(不同于以運(yùn)算器為中心的馮諾依曼計(jì)算機(jī)),存儲(chǔ)器是各種信息存儲(chǔ)和交換的中心。3 之 1主存儲(chǔ)器取 指 令取 操 作 數(shù)寫(xiě) 結(jié) 果I/O 數(shù) 據(jù)存儲(chǔ)器的性能指標(biāo) 存儲(chǔ)容量 SM=Wlm。其中:W為存儲(chǔ)體的字長(zhǎng),l為每個(gè)存儲(chǔ)體的字?jǐn)?shù),m為并行工作的存儲(chǔ)體個(gè)數(shù)。 存儲(chǔ)速度 可以用訪問(wèn)時(shí)間TA、存儲(chǔ)周期TM和頻寬(帶寬)BM來(lái)描述。 存儲(chǔ)價(jià)格 可以用總價(jià)格C或每位價(jià)格c表示。本章內(nèi)容存儲(chǔ)系統(tǒng)原理3 之 2

2、存儲(chǔ)器的設(shè)計(jì) 設(shè)計(jì)目的 基本要求是:高速度、大容量、低價(jià)格。 存在問(wèn)題 單靠一種工藝的單一存儲(chǔ)器無(wú)法同時(shí)滿(mǎn)足容量、速度和價(jià)格三方面的要求。 解決方法 使用多種不同工藝的存儲(chǔ)器組成存儲(chǔ)系統(tǒng),使所有的信息以各種方式分布于不同的存儲(chǔ)器上。本章內(nèi)容存儲(chǔ)系統(tǒng)原理3 之 3存儲(chǔ)系統(tǒng)的基本概念本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的定義常用存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)的性能指標(biāo)存儲(chǔ)系統(tǒng)的設(shè)計(jì)存儲(chǔ)系統(tǒng)的定義本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念 兩個(gè)或兩個(gè)以上速度、容量和價(jià)格各不相同的存儲(chǔ)器用硬件、軟件或軟硬件相結(jié)合的方法連接起來(lái)成為一個(gè)系統(tǒng)。這個(gè)系統(tǒng)對(duì)應(yīng)用程序員透明,并且,從應(yīng)用程序員看它是一個(gè)“存儲(chǔ)器”,這個(gè)“存儲(chǔ)器”的速度接

3、近于速度最快的那個(gè)存儲(chǔ)器,存儲(chǔ)容量接近于容量最大的那個(gè)存儲(chǔ)器,單位容量的價(jià)格接近于最便宜的那個(gè)存儲(chǔ)器。3 之 1圖示存儲(chǔ)系統(tǒng)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念M1(T1, S1, C1)M2(T2, S2, C2)Mn(Tn, Sn, Cn)Tmin(T1, T2, , Tn), 用存儲(chǔ)周期表示Smax(S1, S2, , Sn), 用MB或GB表示Cmin(C1, C2, , Cn), 用每位的價(jià)格表示從外部看3 之 2教師和學(xué)生本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念3 之 3有這么好的事?當(dāng)然有!訪存局部性原理是存儲(chǔ)系統(tǒng)設(shè)計(jì)的基礎(chǔ)。常用存儲(chǔ)系統(tǒng)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念虛擬

4、存儲(chǔ)系統(tǒng)Cache存儲(chǔ)系統(tǒng)虛擬存儲(chǔ)系統(tǒng)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念常用存儲(chǔ)系統(tǒng) 原理 由主存儲(chǔ)器和磁盤(pán)存儲(chǔ)器構(gòu)成 。 目的 增加存儲(chǔ)器的存儲(chǔ)容量。 特點(diǎn) 采用硬件和軟件相結(jié)合的方法來(lái)調(diào)度,因此對(duì)應(yīng)用程序員是透明的,對(duì)系統(tǒng)程序員是不透明的。主存儲(chǔ)器磁盤(pán)存儲(chǔ)器 這個(gè)存儲(chǔ)系統(tǒng)從應(yīng)用程序員看:速度接近主存的速度,容量是虛擬地址空間,每位價(jià)格接近磁盤(pán)存儲(chǔ)器的價(jià)格。Cache存儲(chǔ)系統(tǒng)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念常用存儲(chǔ)系統(tǒng) 原理 由Cache和主存儲(chǔ)器構(gòu)成。 目的 提高存儲(chǔ)器的速度。 特點(diǎn) 全部用硬件來(lái)調(diào)度,不僅對(duì)應(yīng)用程序員還是系統(tǒng)程序員都是透明的。Cache主存儲(chǔ)器 這個(gè)存儲(chǔ)系統(tǒng)從系

5、統(tǒng)/應(yīng)用程序員看:速度接近Cache的速度,容量是主存的容量,每位價(jià)格接近主存的價(jià)格。存儲(chǔ)系統(tǒng)的性能指標(biāo)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)容量存儲(chǔ)價(jià)格存儲(chǔ)速度M1(S1,C1,T1)M2(S2,C2,T2)M(S,C,T) 為了分析方便,采用由兩個(gè)存儲(chǔ)器M1和M2組成的存儲(chǔ)系統(tǒng)M。存儲(chǔ)容量本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo) 存儲(chǔ)容量接近于M2(即:SS2)。對(duì)存儲(chǔ)系統(tǒng)進(jìn)行編址的方法有:可以選擇對(duì)M2進(jìn)行編址,M1可以不編址或在系統(tǒng)內(nèi)部編址 例如:Cache存儲(chǔ)系統(tǒng)。為存儲(chǔ)系統(tǒng)另外設(shè)計(jì)一個(gè)抽象的地址空間,在系統(tǒng)內(nèi)部對(duì)M1、M2分別編址并將地址映象到這個(gè)抽象的地址空間

6、中 例如:虛擬存儲(chǔ)系統(tǒng)。存儲(chǔ)價(jià)格本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo) 整個(gè)存儲(chǔ)系統(tǒng)的單位容量平均價(jià)格為: 當(dāng)S2S1時(shí),cc2,但S1與S2不能相差太大,否則存儲(chǔ)系統(tǒng)要達(dá)到比較高的性能,調(diào)度起來(lái)很困難。存儲(chǔ)速度本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo)命中率H 在M1存儲(chǔ)器中訪問(wèn)到的概率。存儲(chǔ)系統(tǒng)的訪問(wèn)時(shí)間TN1: M1的訪問(wèn)次數(shù)N2: M2的訪問(wèn)次數(shù)6 之 1存儲(chǔ)系統(tǒng)的訪問(wèn)效率本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo) 提高存儲(chǔ)系統(tǒng)速度的兩條途徑:提高命中率H(見(jiàn)例1)兩個(gè)存儲(chǔ)器的速度不要相差太大(見(jiàn)例3)6 之 2例1:不同命中率本章內(nèi)容存儲(chǔ)

7、系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo)問(wèn):假設(shè)T2=5T1,在命中率H為0.9和0.99兩種情況下,分別計(jì)算存儲(chǔ)系統(tǒng)的訪問(wèn)效率。答:當(dāng)H=0.9時(shí): 當(dāng)H=0.99時(shí):6 之 3采用預(yù)取技術(shù)提高命中率本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo) 思想 不命中時(shí),把M2存儲(chǔ)器中相鄰幾個(gè)單元組成的一個(gè)數(shù)據(jù)塊都取出來(lái)送入M1存儲(chǔ)器中。 命中率 (見(jiàn)例2)其中:H是采用預(yù)取技術(shù)后的命中率; H是原來(lái)的命中率; n為數(shù)據(jù)塊大小與數(shù)據(jù)重復(fù)使用次數(shù)的乘積。6 之 4例2:預(yù)取技術(shù)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo)問(wèn):在一個(gè)虛擬存儲(chǔ)系統(tǒng)中,T2105 T1,原來(lái)的命中率

8、只有0.8,如果訪問(wèn)磁盤(pán)存儲(chǔ)器的數(shù)據(jù)塊大小為4K字,并要求訪問(wèn)效率不低于0.9,計(jì)算數(shù)據(jù)在主存儲(chǔ)器中的重復(fù)利用率至少為多少?答:假設(shè)數(shù)據(jù)在主存儲(chǔ)器中的重復(fù)利用率為m,根據(jù)前面的給出關(guān)系: 解之得:m=446 之 5例3:兩個(gè)存儲(chǔ)器的速度相差太大本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的性能指標(biāo)問(wèn):在虛擬存儲(chǔ)系統(tǒng)中,兩級(jí)存儲(chǔ)器的速度相差特別懸殊T2=105T1。如果要使訪問(wèn)效率e=0.9,問(wèn)需要有多高的命中率?答: 解之得: H=0.999998888877777.0.9999996 之 6存儲(chǔ)系統(tǒng)的設(shè)計(jì)本章內(nèi)容存儲(chǔ)系統(tǒng)原理存儲(chǔ)系統(tǒng)的基本概念設(shè)計(jì)原則相鄰級(jí)的容量差、速度差較大;(減少C)存

9、儲(chǔ)層次具有較高的命中率;(減少T)存儲(chǔ)層次的輔助軟、硬件開(kāi)銷(xiāo)較小。涉及問(wèn)題映象規(guī)則:塊從低層調(diào)入高層時(shí)放在何位置;查找算法:如何在本層次中查找需訪問(wèn)的塊;替換算法:發(fā)生失效時(shí),替換哪個(gè)塊;寫(xiě) 策 略:進(jìn)行寫(xiě)訪問(wèn)時(shí),應(yīng)進(jìn)行那些操作。存儲(chǔ)器的層次結(jié)構(gòu)本章內(nèi)容存儲(chǔ)系統(tǒng)原理訪問(wèn)速度越來(lái)越快通用寄存器堆指令和數(shù)據(jù)緩沖Cache (SRAM)主存儲(chǔ)器(DRAM)聯(lián)機(jī)外部存儲(chǔ)器(磁盤(pán)等)脫機(jī)外部存儲(chǔ)器(磁帶、光盤(pán)等)每位的價(jià)格越來(lái)越便宜存儲(chǔ)容量越來(lái)越大CPU內(nèi)部存儲(chǔ)器的頻帶平衡本章內(nèi)容存儲(chǔ)系統(tǒng)原理 問(wèn)題 計(jì)算機(jī)中各級(jí)存儲(chǔ)器頻帶應(yīng)該達(dá)到平衡,即:存儲(chǔ)器的速度應(yīng)能跟得上系統(tǒng)的需要。 方法多個(gè)存儲(chǔ)器并行,采用并行

10、/交叉訪問(wèn)等方法提高存儲(chǔ)器的訪問(wèn)速度(并行存儲(chǔ)器);設(shè)置各種緩沖存儲(chǔ)器;采用存儲(chǔ)體系,特別是Cache存儲(chǔ)體系。2 之 1并行存儲(chǔ)器本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行訪問(wèn)存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器2 之 2并行訪問(wèn)存儲(chǔ)器 思想 增加存儲(chǔ)器的字長(zhǎng),例如:把m字w位的存儲(chǔ)器(單體單字存儲(chǔ)器)改變成為m/n字nw位的存儲(chǔ)器(單體多字存儲(chǔ)器),見(jiàn)后圖。 特點(diǎn)優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單、容易。缺點(diǎn):訪問(wèn)的沖突大(取指令沖突、讀操作數(shù)沖突、寫(xiě)數(shù)據(jù)沖突和讀寫(xiě)沖突)。本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器2 之 1圖示并行訪問(wèn)存儲(chǔ)器本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器數(shù)據(jù)寄存器MDR存儲(chǔ)體(m字w位)地址寄存器MAR多路選擇器MDR存儲(chǔ)體(m/n字n

11、w位)MAR一般存儲(chǔ)器并行訪問(wèn)存儲(chǔ)器2 之 2交叉訪問(wèn)存儲(chǔ)器本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器地址碼高位交叉地址碼低位交叉地址碼高位交叉訪問(wèn)存儲(chǔ)器本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器MDR存儲(chǔ)體0MAR0.00.00.0F.FMDR存儲(chǔ)體1MAR0.10.00.1F.FMDR存儲(chǔ)體n-1MARF.F0.0F.FF.F譯碼器 高位 地址寄存器(低位) MDR 數(shù)據(jù)寄存器 MAR 地址寄存器 3 之 1地 址 存儲(chǔ)器某單元的地址為:A = mk + jm:為每個(gè)存儲(chǔ)體的容量(地址碼的低log2m位作為存儲(chǔ)體的體內(nèi)地址,而且每個(gè)存儲(chǔ)體都相同)。 k:為存儲(chǔ)體的編號(hào),k=0,1,2,n-1(其中n

12、為組成存儲(chǔ)器的存儲(chǔ)體個(gè)數(shù)的總和,地址碼的高log2n位作為一個(gè)譯碼器的輸入) j:為各個(gè)存儲(chǔ)體的體內(nèi)地址,k=0,1,2,m-1 如果已知地址A,則: 存儲(chǔ)器的體內(nèi)地址Aj的計(jì)算公式為:Aj = A mod m 存儲(chǔ)器的體號(hào)Ak的計(jì)算公式為:Ak = A/m本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器3 之 2目 的本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器 目的 擴(kuò)大存儲(chǔ)器容量。 例子 目前,大部分計(jì)算機(jī)系統(tǒng)中所采用的模塊化主存儲(chǔ)器通常都是采用高位交叉編址方法實(shí)現(xiàn)。 應(yīng)用在單任務(wù)系統(tǒng)中:可用于擴(kuò)大存儲(chǔ)器容量,且擴(kuò)充性好。在多任務(wù)或多用戶(hù)系統(tǒng)中:可以通過(guò)把不同的任務(wù)分配給不同的存儲(chǔ)體完成來(lái)提

13、高存儲(chǔ)器的訪問(wèn)速度。3 之 3地址碼低位交叉訪問(wèn)存儲(chǔ)器本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器MDR存儲(chǔ)體0MAR0.00.0F.F0.0MDR存儲(chǔ)體1MAR0.00.1F.F0.1MDR存儲(chǔ)體n-1MAR0.0F.FF.FF.F譯碼器 地址寄存器(高位) (低位) MDR 數(shù)據(jù)寄存器 MAR 地址寄存器 4 之 1地 址 存儲(chǔ)器某單元的地址為:A = nj + km:為每個(gè)存儲(chǔ)體的容量(地址碼的高log2m位作為存儲(chǔ)體的體內(nèi)地址,而且每個(gè)存儲(chǔ)體都相同)。 k:為存儲(chǔ)體的編號(hào),k=0,1,2,n-1(其中n為組成存儲(chǔ)器的存儲(chǔ)體個(gè)數(shù)的總和,地址碼的低log2n位作為一個(gè)譯碼器的輸入) j:為

14、各個(gè)存儲(chǔ)體的體內(nèi)地址,k=0,1,2,m-1 如果已知地址A,則: 存儲(chǔ)器的體內(nèi)地址Aj的計(jì)算公式為:Aj = A/n 存儲(chǔ)器的體號(hào)Ak的計(jì)算公式為:Ak = A mod n本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器4 之 2目 的本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器 目的 提高存儲(chǔ)器訪問(wèn)速度。 實(shí)現(xiàn) 為此在一個(gè)存儲(chǔ)周期內(nèi),n個(gè)存儲(chǔ)體必須同時(shí)或分時(shí)啟動(dòng),實(shí)際上是一種采用流水線方式工作的并行存儲(chǔ)器。4 之 3#0t存儲(chǔ)周期Tm#1#2#n-1啟動(dòng)間隔t = Tm/n問(wèn) 題本章內(nèi)容存儲(chǔ)系統(tǒng)原理并行存儲(chǔ)器交叉訪問(wèn)存儲(chǔ)器4 之 4 問(wèn)題 主存儲(chǔ)器的速度不是隨存儲(chǔ)體的個(gè)數(shù)的增加而線性增加。例如

15、:在有的大型計(jì)算機(jī)中采用32個(gè)存儲(chǔ)體低位交叉來(lái)構(gòu)成主存儲(chǔ)器,但是主存儲(chǔ)器的速度只比單個(gè)存儲(chǔ)體高10倍左右。 原因 存在訪問(wèn)沖突,產(chǎn)生沖突的根源主要有二:程序中有轉(zhuǎn)移指令和數(shù)據(jù)的隨機(jī)性。 解決 設(shè)計(jì)一種無(wú)訪問(wèn)沖突的存儲(chǔ)器。虛擬存儲(chǔ)系統(tǒng)本章內(nèi)容 虛擬存儲(chǔ)系統(tǒng)也稱(chēng)虛擬存儲(chǔ)器、虛擬存儲(chǔ)體系,1961年英國(guó)曼徹斯特大學(xué)Kilbrn等人提出,70年代廣泛地應(yīng)用于大中型計(jì)算機(jī)系統(tǒng)中,目前許多微型機(jī)也開(kāi)始使用虛擬存儲(chǔ)器。虛擬存儲(chǔ)系統(tǒng)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)的工作原理地址的映象和變換方法加快內(nèi)部地址變換速度的方法頁(yè)面替換算法提高主存命中率的方法頁(yè)式虛擬存儲(chǔ)器工作原理磁盤(pán)存儲(chǔ)器地址 訪磁盤(pán)存儲(chǔ)器

16、命中外部地址變換未命中訪磁帶等虛頁(yè)號(hào)磁盤(pán)實(shí)地址外部地址變換 U+PUPD Av多用戶(hù)虛地址 主存頁(yè)面失效 U+P未命中內(nèi)部地址變換選頁(yè) 命中虛頁(yè)號(hào)主存實(shí)頁(yè)號(hào)主存頁(yè)面表0頁(yè) 主存未滿(mǎn) 主存滿(mǎn)1頁(yè)X訪問(wèn)主存pd A頁(yè)面用替換算法戶(hù)2P-10頁(yè)主存頁(yè)號(hào)0頁(yè)1頁(yè)調(diào)入頁(yè)I/O處理機(jī)調(diào)入頁(yè)1頁(yè)Y被替換頁(yè)(I/O通道)替換頁(yè)用戶(hù)2p-1主存儲(chǔ)器 磁盤(pán)存儲(chǔ)器命中?命中?基本概念本章內(nèi)容虛擬存儲(chǔ)系統(tǒng) 三個(gè)地址空間 虛擬地址空間、主存地址空間和輔存地址空間。 三個(gè)地址 虛擬地址、主存地址和輔存地址。 地址映象 把虛擬地址空間映象到主存地址空間。 地址變換 在程序運(yùn)行時(shí),把虛地址變換成主存地址(內(nèi)部地址變換)或輔存

17、地址(外部地址變換)。外部地址變換本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法裝入磁盤(pán)實(shí)地址用戶(hù)號(hào)頁(yè)內(nèi)偏移1虛頁(yè)號(hào)外部地址變換(軟件實(shí)現(xiàn))磁盤(pán)號(hào)柱面號(hào)磁頭號(hào)塊號(hào)多用戶(hù)虛地址外頁(yè)表主要內(nèi)容本章內(nèi)容虛擬存儲(chǔ)系統(tǒng) 根據(jù)所采用的地址映象和變換方法(內(nèi)部地址變換)不同,有三種不同類(lèi)型的虛擬存儲(chǔ)器: 段式虛擬存儲(chǔ)器 頁(yè)式虛擬存儲(chǔ)器 段頁(yè)式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器的地址映象本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法 0段1k1段2段3段0500020002000段號(hào)段長(zhǎng)起址01k8k150016k22009k320030k08k9k16k30k程序空間主存儲(chǔ)器主程序段表3 之 1段大小可變段式虛擬存儲(chǔ)器的地址變換

18、本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法 0段表長(zhǎng)度段表基址5As段名起始地址裝入位段長(zhǎng)訪問(wèn)方式用戶(hù)號(hào)U段號(hào)S段內(nèi)偏移D多用戶(hù)虛地址主存實(shí)地址432101n-1As段表基址寄存器一個(gè)用戶(hù)(一道作業(yè))的段表3 之 2段式虛擬存儲(chǔ)器的特點(diǎn)優(yōu)點(diǎn)程序的模塊化性能好便于程序和數(shù)據(jù)的共享程序的動(dòng)態(tài)鏈接和調(diào)度比較容易便于實(shí)現(xiàn)信息保護(hù)缺點(diǎn)地址變換所花費(fèi)的時(shí)間比較長(zhǎng),做兩次加法運(yùn)算主存儲(chǔ)器的利用率往往比較低對(duì)輔存(磁盤(pán)存儲(chǔ)器)的管理比較困難本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法 3 之 3頁(yè)式虛擬存儲(chǔ)器的地址映象本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法3 之 10頁(yè)1頁(yè)2頁(yè)3頁(yè)頁(yè)號(hào)主存頁(yè)號(hào)0123用戶(hù)程序主存

19、儲(chǔ)器頁(yè)表虛頁(yè)號(hào)實(shí)頁(yè)號(hào)虛實(shí)頁(yè)號(hào)對(duì)照表頁(yè)大小固定頁(yè)式虛擬存儲(chǔ)器的地址變換本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法 3 之 2Pa裝入位修改位主存頁(yè)號(hào)標(biāo)志用戶(hù)號(hào)U虛頁(yè)號(hào)P頁(yè)內(nèi)偏移D頁(yè)內(nèi)偏移d1 pPa頁(yè)表基址寄存器頁(yè)表實(shí)頁(yè)號(hào)p01342頁(yè)式虛擬存儲(chǔ)器的特點(diǎn)優(yōu)點(diǎn)主存儲(chǔ)器的利用率比較高;頁(yè)表相對(duì)比較簡(jiǎn)單;地址變換的速度比較快;對(duì)磁盤(pán)的管理比較容易。缺點(diǎn)程序的模塊化性能不好;頁(yè)表很長(zhǎng),需要占用很大的存儲(chǔ)空間。本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法3 之 3段頁(yè)式虛擬存儲(chǔ)器的地址映象本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法3 之 10段(12K)段表用戶(hù)程序0段頁(yè)表主存儲(chǔ)器1段(10K)2段(5K)頁(yè)表長(zhǎng)

20、度332頁(yè)表地址每頁(yè)4KB4K4K4K1段頁(yè)表2段頁(yè)表段頁(yè)式虛擬存儲(chǔ)器的地址變換本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法3 之 2用戶(hù)號(hào)U段號(hào)S頁(yè)內(nèi)偏移頁(yè)內(nèi)偏移Ap實(shí)頁(yè)號(hào)p虛頁(yè)號(hào)PAsAs裝入修改實(shí)頁(yè)號(hào)標(biāo)志0/11p頁(yè)表地址頁(yè)表長(zhǎng)標(biāo)志修改裝入Ap0/11多用戶(hù)頁(yè)表多用戶(hù)段表段表基址寄存器段頁(yè)式虛擬存儲(chǔ)器的特點(diǎn) 段頁(yè)式虛擬存儲(chǔ)器一方面具有段式虛擬存儲(chǔ)器的主要優(yōu)點(diǎn),另一方面具有頁(yè)式虛擬存儲(chǔ)器的主要優(yōu)點(diǎn)。本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)地址的映象和變換方法 3 之 3加快內(nèi)部地址變換速度的方法本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)引入目錄表快慢表散列函數(shù)舉例引 入本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 在段/頁(yè)式虛擬存儲(chǔ)

21、器中,要訪問(wèn)主存必須先查段/頁(yè)表,在段頁(yè)式虛擬存儲(chǔ)器中,既要查段表也要查頁(yè)表。如果段、頁(yè)表都在主存中,則包括訪問(wèn)主存本身這一次在內(nèi),虛擬存儲(chǔ)器的訪問(wèn)速度將要降低2至3倍。 因此要想使虛擬存儲(chǔ)器的速度接近主存的速度,必須加快查表的速度。下面以頁(yè)式虛擬存儲(chǔ)器為例進(jìn)行介紹目錄表的基本思想本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 壓縮頁(yè)表的存儲(chǔ)容量(因?yàn)樘摯骓?yè)面數(shù)遠(yuǎn)大于主存頁(yè)面數(shù)),用一個(gè)小容量高速存儲(chǔ)器存放頁(yè)表,從而加快頁(yè)表的查表速度。3 之 1目錄表的實(shí)現(xiàn) 頁(yè)表壓縮 頁(yè)表中只保留已裝入主存的那些頁(yè)。 高速存儲(chǔ)器 采用按內(nèi)容訪問(wèn)的相聯(lián)存儲(chǔ)器。本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法實(shí)頁(yè)號(hào)

22、其它標(biāo)志用戶(hù)號(hào)U頁(yè)內(nèi)偏移Dp虛頁(yè)號(hào)P多用戶(hù)虛地址目錄表(按內(nèi)容訪問(wèn)的相聯(lián)存儲(chǔ)器)頁(yè)內(nèi)偏移d實(shí)頁(yè)號(hào)p多用戶(hù)虛頁(yè)號(hào)U, P修改0/1主存實(shí)地址相聯(lián)訪問(wèn)3 之 2目錄表的特點(diǎn)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 優(yōu)點(diǎn) 與頁(yè)表放在主存中相比,查表速度快。 缺點(diǎn) 可擴(kuò)展性比較差,且主存儲(chǔ)器容量增加時(shí),目錄表的造價(jià)高,速度降低。3 之 3快慢表的基本思想本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 根據(jù)局部性原理,將頁(yè)表分為快表和慢表。快表TLB(Translation Lookaside Buffer)由小容量(幾幾十個(gè)字)、高速硬件實(shí)現(xiàn),采用相聯(lián)方式訪問(wèn),存放最近用到的頁(yè)表信息。當(dāng)快表中查

23、不到時(shí),再?gòu)拇娣旁谥鞔鎯?chǔ)器中的慢表中查找??毂砼c慢表也構(gòu)成了一個(gè)兩級(jí)存儲(chǔ)系統(tǒng)。2 之 1快慢表的實(shí)現(xiàn)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法實(shí)頁(yè)號(hào)用戶(hù)號(hào)U頁(yè)內(nèi)偏移Dp虛頁(yè)號(hào)P多用戶(hù)虛地址頁(yè)內(nèi)偏移d實(shí)頁(yè)號(hào)p多用戶(hù)虛頁(yè)號(hào)U, P主存實(shí)地址實(shí)頁(yè)號(hào)p裝入1慢表(按地址訪問(wèn))快表(按內(nèi)容訪問(wèn))2 之 2散列函數(shù)的基本思想本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 將快表的按內(nèi)容相聯(lián)訪問(wèn)變成按地址訪問(wèn),從而可以加大快表容量。為提高快表的查找速率采用散列查找法,散列(Hash)函數(shù)為:快表地址H(多用戶(hù)虛頁(yè)號(hào)),為避免散列沖突采用相等比較器。2 之 1散列函數(shù)的實(shí)現(xiàn)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址

24、變換速度的方法實(shí)頁(yè)號(hào)用戶(hù)號(hào)U頁(yè)內(nèi)偏移Dp虛頁(yè)號(hào)P多用戶(hù)虛地址按地址訪問(wèn)的快表頁(yè)內(nèi)偏移d實(shí)頁(yè)號(hào)p多用戶(hù)虛頁(yè)號(hào)Pv主存實(shí)地址散列變換(硬件實(shí)現(xiàn))相等比較多用戶(hù)虛頁(yè)號(hào)Pv查慢表快表地址Ah快表命中2 之 2舉例:IBM 370/168本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)加快內(nèi)部地址變換速度的方法 IBM 370/168計(jì)算機(jī)的虛擬存儲(chǔ)器快表結(jié)構(gòu)及地址變換過(guò)程見(jiàn)后圖。虛擬地址長(zhǎng)48位,頁(yè)面大小為4KB,每個(gè)用戶(hù)最多占用4K個(gè)頁(yè)面,最多允許16M個(gè)用戶(hù),但同時(shí)上機(jī)的用戶(hù)數(shù)一般不超過(guò)6個(gè)。 采用了兩項(xiàng)新的措施: 采用兩個(gè)相等比較器 用相聯(lián)寄存器組把24位用戶(hù)號(hào)U壓縮成3位2 之 12 之 2頁(yè)面替換算法本章內(nèi)容虛擬存儲(chǔ)系

25、統(tǒng)概述頁(yè)面替換算法隨機(jī)算法(RAND 算法)先進(jìn)先出算法(FIFO算法)近期最少使用算法 (LFU算法)最久沒(méi)有使用算法 (LRU算法)最優(yōu)替換算法(OPT算法)堆棧型算法概 述本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 為什么需要頁(yè)面替換? 當(dāng)發(fā)生頁(yè)面失效時(shí),要從磁盤(pán)中調(diào)入一頁(yè)到主存。如果主存所有頁(yè)面都已經(jīng)被占用,此時(shí)必須從主存儲(chǔ)器中淘汰掉一個(gè)不常使用的頁(yè)面,以便騰出主存空間來(lái)存放新調(diào)入的頁(yè)面。 評(píng)價(jià)頁(yè)面替換算法好壞的標(biāo)準(zhǔn) 一是命中率要高,二是算法要容易實(shí)現(xiàn)。隨機(jī)算法(RAND 算法)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 算法 利用軟件或硬件的隨機(jī)數(shù)發(fā)生器來(lái)確定主存中要被替換的頁(yè)面。 特點(diǎn) 算法簡(jiǎn)單,容易

26、實(shí)現(xiàn);但沒(méi)有利用歷史信息,沒(méi)有反映程序的局部性,命中率低。先進(jìn)先出算法(FIFO算法)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 算法 選擇最先調(diào)入主存的頁(yè)面作為要被替換的頁(yè)面。 特點(diǎn) 比較容易實(shí)現(xiàn),利用了歷史信息,但沒(méi)有反映程序的局部性。近期最少使用算法 (LFU算法)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 算法 選擇近期最少訪問(wèn)的頁(yè)面作為要被替換的頁(yè)面。 特點(diǎn) 既充分利用了歷史信息,又反映了程序的局部性,但實(shí)現(xiàn)起來(lái)非常困難。最久沒(méi)有使用算法 (LRU算法)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 算法 選擇近期最久沒(méi)有被訪問(wèn)過(guò)的頁(yè)面作為要被替換的頁(yè)面。 特點(diǎn) 既充分利用了歷史信息,又反映了程序的局部性,而且實(shí)現(xiàn)起

27、來(lái)比較容易。最優(yōu)替換算法(OPT算法)本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 算法 選擇將來(lái)最久不被訪問(wèn)的頁(yè)面作為要被替換的頁(yè)面。 特點(diǎn) OPT算法是一種理想化的算法,可用來(lái)作為評(píng)價(jià)其它頁(yè)面替換算法好壞的標(biāo)準(zhǔn)。3 之 1例 子本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法3 之 2 一個(gè)程序共有5個(gè)頁(yè)面組成,程序執(zhí)行過(guò)程中的頁(yè)地址流如下:P1, P2, P1, P5, P4, P1, P3, P4, P2, P4 假設(shè)分配給這個(gè)程序的主存儲(chǔ)器共有3個(gè)頁(yè)面。給出FIFO、LRU、OPT 三種頁(yè)面替換算法對(duì)這3頁(yè)主存的使用情況,包括調(diào)入、替換和命中等。在虛擬存儲(chǔ)器中,實(shí)際上有可能采用只有FIFO和LRU兩種算法。三種

28、頁(yè)面替換算法對(duì)同一個(gè)頁(yè)地址流的調(diào)度過(guò)程時(shí)間12345678910實(shí)際命中次數(shù)頁(yè)地址流P1P2P1P5P4P1P3P4P2P4FIFO算法1111 *444 *4 *222次2222 *1111 *4555 *3333*調(diào)入調(diào)入命中調(diào)入替換替換替換命中替換替換LRU算法11111 *111 *224次222 *444 *44455 5 *333 *3 *調(diào)入調(diào)入命中調(diào)入替換命中替換命中替換命中OPT算法111111 *3 *3 *335次2222 *222225 *444444調(diào)入調(diào)入命中調(diào)入替換命中替換命中命中命中3 之 3堆棧型算法本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)頁(yè)面替換算法 定義 對(duì)任意一個(gè)程序的頁(yè)地

29、址流作兩次主存頁(yè)面數(shù)分配,分別分配m個(gè)主存頁(yè)面和n個(gè)主存頁(yè)面,并且有mn。如果在任何時(shí)刻t,主存頁(yè)面數(shù)集合Bt都滿(mǎn)足關(guān)系:Bt(m) Bt(n),則這類(lèi)算法稱(chēng)為堆棧型替換算法。 基本思想 隨著分配給程序的主存頁(yè)面數(shù)增加,主存的命中率也提高,至少不下降。 例子 LFU、LRU和OPT算法是堆棧型替換算法,而FIFO算法不是。2 之 1FIFO 替換算法是非堆棧型算法2 之 2提高主存命中率的方法本章內(nèi)容虛擬存儲(chǔ)系統(tǒng) 影響主存命中率的主要因素:程序執(zhí)行過(guò)程中的頁(yè)地址流分布情況所采用的頁(yè)面替換算法頁(yè)面大小主存容量所采用的頁(yè)面調(diào)度算法頁(yè)面大小的選擇本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)提高主存命中率的方法 頁(yè)面大小的選

30、擇一般要通過(guò)對(duì)典型程序的模擬實(shí)驗(yàn)來(lái)確定,早期一般為1KB,目前大多為4KB、8KB、16KB。頁(yè)面大小 SP命中率 H1S2S頁(yè)面大小 SP命中率 H1S2S主存容量主存容量本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)提高主存命中率的方法 主存命中率H隨著分配給該程序的主存容量S的增加而單調(diào)上升。命中率 H主存容量S1.0頁(yè)面調(diào)度算法本章內(nèi)容虛擬存儲(chǔ)系統(tǒng)提高主存命中率的方法 全取式 該用和能調(diào)入的全部調(diào)入。 請(qǐng)求式 當(dāng)使用到的時(shí)候,再調(diào)入主存。 預(yù)取式 在程序重新開(kāi)始運(yùn)行之前,把上次停止運(yùn)行前一段時(shí)間內(nèi)用到的頁(yè)面先調(diào)入到主存儲(chǔ)器,然后才開(kāi)始運(yùn)行程序。但如果調(diào)入的頁(yè)面用不上,則浪費(fèi)了調(diào)入的時(shí)間,占用了主存資源。Cach

31、e存儲(chǔ)系統(tǒng)本章內(nèi)容存儲(chǔ)系統(tǒng)兩級(jí)存儲(chǔ)器速度比Cache虛擬存儲(chǔ)器要達(dá)到的目標(biāo)提高速度擴(kuò)大容量實(shí)現(xiàn)方法全部硬件軟件為主硬件為輔310倍105倍頁(yè)(塊)大小116字1KB16KB等效存儲(chǔ)容量主存儲(chǔ)器虛擬存儲(chǔ)器透明性對(duì)系統(tǒng)和應(yīng)用程序員僅對(duì)應(yīng)用程序員不命中時(shí)處理方式等待主存儲(chǔ)器任務(wù)切換Cache存儲(chǔ)系統(tǒng)與虛擬存儲(chǔ)系統(tǒng)比較Cache存儲(chǔ)系統(tǒng)本章內(nèi)容基本工作原理地址映象與變換方法Cache替換算法Cache的一致性問(wèn)題Cache性能基本工作原理本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)塊號(hào)B塊內(nèi)地址W主存/Cache地址變換塊號(hào)b塊內(nèi)地址wCacheCache替換策略?xún)?chǔ)器主存替換塊裝入塊已滿(mǎn)未滿(mǎn)未命中命中數(shù)據(jù)送CPU(一

32、個(gè)字)主存地址(來(lái)自CPU)地址映象與變換方法本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)基本概念全相聯(lián)映象及其變換直接映象及其變換組相聯(lián)映象及其變換基本概念本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法 地址映象 把存放在主存中的程序按照某種規(guī)則裝入到Cache中,并建立主存地址與Cache地址之間的對(duì)應(yīng)關(guān)系。 地址變換 當(dāng)程序已經(jīng)裝入到Cache之后,在實(shí)際運(yùn)行過(guò)程中,把主存地址變換成Cache地址。 選擇原則 地址變換的硬件要容易實(shí)現(xiàn);地址變換的速度要快;Cache空間利用率要高;發(fā)生塊沖突的概率要小。全相聯(lián)映象本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法 主存中的任意一塊都可以映象到Cache中的任

33、意一塊。如果Cache的塊數(shù)為Cb,主存的塊數(shù)為Mb,映象關(guān)系共有:CbMb種。3 之 1塊0Cache塊1塊Cb-1塊0塊1塊i塊Mb-1主存儲(chǔ)器全相聯(lián)地址變換本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法3 之 2有效位塊號(hào)B塊內(nèi)地址W1主存地址目錄表(由相聯(lián)存儲(chǔ)器組成,共Cb個(gè)字)主存塊號(hào)BB塊號(hào)b塊內(nèi)地址wCache塊號(hào)b b相聯(lián)比較命中Cache地址特 點(diǎn)優(yōu)點(diǎn):Cache的塊沖突概率最低;Cache的空間利用率最高。缺點(diǎn):代價(jià)相對(duì)較大(相聯(lián)存儲(chǔ)器);速度相對(duì)較低(相聯(lián)比較)。本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法3 之 3直接映象本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法

34、 主存中一塊只能映象到Cache的一個(gè)特定的塊中。通常映射方法為:(Cache塊號(hào))=(主存塊號(hào)) MOD (Cache中的塊數(shù))。4 之 1塊0Cache塊1塊Cb-1塊0塊Cb-1主存儲(chǔ)器塊Cb塊2Cb-1塊Mb-Cb塊Mb-1區(qū)0區(qū)1區(qū)Me-1直接地址變換本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法4 之 2有效位區(qū)號(hào)E塊內(nèi)地址W1主存地址區(qū)號(hào)存儲(chǔ)器(共Cb個(gè)字)區(qū)號(hào)E (按地址訪問(wèn))E 塊號(hào)b塊內(nèi)地址w命中Cache地址塊號(hào)B相等比較塊失效比較相等且有效位為1,訪問(wèn)Cache快速直接地址變換本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法4 之 3有效位區(qū)號(hào)E塊內(nèi)地址w1按地址訪問(wèn)的C

35、ache(區(qū)號(hào)存儲(chǔ)器+Cache)區(qū)號(hào)E塊號(hào)b塊內(nèi)地址w相等塊號(hào)B相等比較訪主存數(shù)據(jù)0D0數(shù)據(jù)1D1數(shù)據(jù)w-1Dw-11/w送CPU主存地址Cache地址特 點(diǎn)缺點(diǎn):Cache的塊沖突概率很高Cache的空間利用率很低優(yōu)點(diǎn):代價(jià)相對(duì)較低(硬件實(shí)現(xiàn)簡(jiǎn)單,無(wú)需相聯(lián)存儲(chǔ)器)速度相對(duì)較快本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法4 之 4組相聯(lián)映象本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法3 之 1 組相聯(lián)映射是目前Cache中用得較多的一種方法,它是介于全相聯(lián)映象和直接映象之間的一種折中方案。它將主存和Cache按同樣大小劃分成塊,還按同樣大小劃分成組,從主存的組到Cache的組之間采用直接

36、映象方法,組內(nèi)的塊采用全相聯(lián)映象方法。 (后圖)相聯(lián)映射和直接映射是組相聯(lián)映射的兩個(gè)極端。如果一個(gè)組內(nèi)有n塊,則稱(chēng)為n-路組相聯(lián)。Gb:每組的塊數(shù)Cg:Cache的組數(shù)Me:主存的區(qū)數(shù)Cb:Cache的塊數(shù)Mb:主存的塊數(shù)3 之 2組相聯(lián)地址變換本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)地址映象與變換方法3 之 3(Cache)組內(nèi)塊號(hào)b區(qū)號(hào)E塊內(nèi)地址W主存地址塊表存儲(chǔ)器 (組內(nèi)相聯(lián)訪問(wèn),組間按地址訪問(wèn))(主存)區(qū)號(hào)E ,組內(nèi)塊號(hào)B相聯(lián)比較 (Gb個(gè)塊)塊內(nèi)地址w相等Cache地址組內(nèi)塊號(hào)B相聯(lián)比較不等組號(hào)G組內(nèi)塊號(hào)b組號(hào)gCache替換算法本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)基本概念輪換法及其實(shí)現(xiàn)LRU算法及其實(shí)

37、現(xiàn)比較對(duì)法堆棧法基本概念本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 為什么需要Cache替換算法? 當(dāng)發(fā)生塊失效,且可以裝入新調(diào)入塊的幾個(gè)Cache塊都已經(jīng)被裝滿(mǎn)時(shí),此時(shí)需要Cache替換算法。直接映象方式實(shí)際上不需要替換算法,而全相聯(lián)映象方式的替換算法最復(fù)雜。 Cache替換算法和虛擬存儲(chǔ)器替換算法 前者全部用硬件實(shí)現(xiàn),后者主要用軟件實(shí)現(xiàn)。輪換法及其實(shí)現(xiàn)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 輪換法本質(zhì)上是一種FIFO算法,通常用于組相聯(lián)映象和地址變換方式中,常見(jiàn)的有兩種實(shí)現(xiàn)方法: 每塊一個(gè)計(jì)數(shù)器 每組一個(gè)計(jì)數(shù)器每塊一個(gè)計(jì)數(shù)器本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法輪換法及

38、其實(shí)現(xiàn) 在塊表中為Cache的每塊都設(shè)置一個(gè)替換計(jì)數(shù)器,長(zhǎng)度與“組內(nèi)塊號(hào)”字段相同。工作方法:裝入或替換時(shí),被裝入或替換的塊計(jì)數(shù)器置0,同組其他塊計(jì)數(shù)器加1;命中時(shí),塊計(jì)數(shù)器不變;需替換時(shí),同組中計(jì)數(shù)器值最大的塊被替換。2 之 1舉 例本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法輪換法及其實(shí)現(xiàn)Solar-16/65機(jī):Cache采用組相聯(lián),每組4塊。2 之 2序列初始值裝入塊00裝入塊01裝入塊10裝入塊11替換塊00塊00000001101100塊01000100011011塊10000110000110塊11000110110001每組一個(gè)計(jì)數(shù)器本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換

39、算法輪換法及其實(shí)現(xiàn) 每組設(shè)置一個(gè)替換計(jì)數(shù)器,長(zhǎng)度與“組內(nèi)塊號(hào)”字段相同。工作方法:本組有替換時(shí),計(jì)數(shù)器加1,計(jì)數(shù)器的值就是要被替換出去的塊號(hào)。LRU算法及其實(shí)現(xiàn)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 在塊表中為Cache的每塊都設(shè)置一個(gè)替換計(jì)數(shù)器,長(zhǎng)度與“組內(nèi)塊號(hào)”字段相同。工作方法:裝入或替換時(shí),被裝入或替換的塊計(jì)數(shù)器置0,同組其他塊計(jì)數(shù)器加1;命中時(shí),命中塊計(jì)數(shù)器置0,同組中比他置0前的值小的計(jì)數(shù)器加1,其他不變;需替換時(shí),同組中計(jì)數(shù)器值最大(一般為全1)的塊被替換。2 之 1舉 例本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法2 之 2IBM 370/165機(jī):Cache采用組相

40、聯(lián),每組4塊。塊地址流主存塊1主存塊2主存塊3主存塊4主存塊5主存塊4塊號(hào)計(jì)數(shù)器塊號(hào)計(jì)數(shù)器塊號(hào)計(jì)數(shù)器塊號(hào)計(jì)數(shù)器塊號(hào)計(jì)數(shù)器塊號(hào)計(jì)數(shù)器Cache塊0100101110111500501Cacheache塊20110300301310310Cache塊3011011400401400動(dòng)作裝入裝入裝入裝入替換命中比較對(duì)法本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 比較對(duì)法本質(zhì)上是一種LRU算法,采用硬聯(lián)邏輯實(shí)現(xiàn)。 一個(gè)兩態(tài)的器件(觸發(fā)器)能夠記錄兩個(gè)塊之間的先后順序,多個(gè)塊之間的先后順序可以用多個(gè)兩態(tài)器件的組合來(lái)實(shí)現(xiàn),從而可以在多個(gè)塊中找出最久沒(méi)有被訪問(wèn)過(guò)的

41、那個(gè)塊。4 之 1舉 例 設(shè)計(jì) 以組中有三個(gè)塊(A、B和C)為例:三塊之間的組合共有C32=3種(AB、AC、BC),可以采用3個(gè)兩態(tài)的觸發(fā)器來(lái)表示,用TAB=1表示B塊比A塊更久沒(méi)有被訪問(wèn),其他類(lèi)似。則三塊最久沒(méi)有被訪問(wèn)過(guò)的表達(dá)式為:本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法4 之 2舉 例 硬件本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法01TABRS01TACRS01TBCRS訪問(wèn)A訪問(wèn)B訪問(wèn)C與門(mén)與門(mén)與門(mén)ALRUBLRUCLRU4 之 3舉 例 成本本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 假設(shè)每組的塊數(shù)為Gb,則需要與門(mén)的個(gè)數(shù)為Gb個(gè),每個(gè)與門(mén)的輸入端個(gè)數(shù)為Gb 1個(gè),需

42、要觸發(fā)器的個(gè)數(shù)為: 當(dāng)每組的塊數(shù)較多時(shí),所要的觸發(fā)器個(gè)數(shù)和與門(mén)輸入端個(gè)數(shù)很多,硬件實(shí)現(xiàn)的成本很高,此時(shí)可以采用分級(jí)的方法來(lái)實(shí)現(xiàn)。4 之 4堆棧法本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache替換算法 堆棧法本質(zhì)上是一種LRU算法,用棧頂?shù)綏5椎南群蟠涡騺?lái)記錄Cache同一組內(nèi)的各個(gè)塊被訪問(wèn)的先后次序,棧頂是最近被訪問(wèn)過(guò)的塊,棧底是最久沒(méi)有被訪問(wèn)過(guò)的塊。棧頂棧底最近訪問(wèn)過(guò)最久沒(méi)被訪問(wèn)過(guò)被訪問(wèn)過(guò)的塊號(hào)(經(jīng)相聯(lián)比較找到)都下推一行Cache的一致性問(wèn)題本章內(nèi)容 Cache存儲(chǔ)系統(tǒng) 問(wèn)題 在單處理機(jī)中會(huì)出現(xiàn)Cache與主存內(nèi)容不一致問(wèn)題。CPUXI/OXCache主存儲(chǔ)器CPUXI/OXCache主存儲(chǔ)器(a

43、) CPU寫(xiě)Cache(b) I/O寫(xiě)主存Cache與主存不一致的兩種情況Cache的一致性問(wèn)題本章內(nèi)容 Cache存儲(chǔ)系統(tǒng) 解決 選擇合適的Cache寫(xiě)策略。 寫(xiě)命中時(shí)的策略 寫(xiě)缺失時(shí)的策略寫(xiě)命中時(shí)的策略本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache的一致性問(wèn)題 寫(xiě)直達(dá)法(寫(xiě)通過(guò)法: Write-Through) CPU在執(zhí)行寫(xiě)操作時(shí),把數(shù)據(jù)同時(shí)寫(xiě)入Cache和主存。 寫(xiě)回法 (抵觸修改法: Write-Back ) CPU數(shù)據(jù)只寫(xiě)入Cache,不寫(xiě)入主存,僅當(dāng)替換時(shí),才把修改過(guò)的Cache塊寫(xiě)回到主存。2 之 1特點(diǎn)比較可靠性 寫(xiě)直達(dá)法要優(yōu)于寫(xiě)回法。與主存的通信量 一般情況下,寫(xiě)回法少于寫(xiě)直達(dá)法。

44、控制的復(fù)雜性 寫(xiě)直達(dá)法比寫(xiě)回法簡(jiǎn)單。硬件實(shí)現(xiàn)的代價(jià) 寫(xiě)回法要比寫(xiě)直達(dá)法好。本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache的一致性問(wèn)題2 之 2寫(xiě)缺失時(shí)的策略本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache的一致性問(wèn)題 不按寫(xiě)分配法 在寫(xiě)Cache不命中時(shí),只把所要寫(xiě)的字寫(xiě)入主存,而包括所寫(xiě)字在內(nèi)的一個(gè)塊不從主存讀入Cache。 按寫(xiě)分配法 在寫(xiě)Cache不命中時(shí),除了將所要寫(xiě)的字寫(xiě)入主存,還要將包括所寫(xiě)字在內(nèi)的一個(gè)塊從主存讀入Cache。3 之 1例 子本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache的一致性問(wèn)題3 之 2問(wèn):有一個(gè)全相聯(lián)映象的Cache,采用寫(xiě)回法,剛開(kāi)始時(shí)Cache為空,有下面5個(gè)存儲(chǔ)器操作:Writ

45、e Mem100, Write Mem100, Read Mem200, Write Mem200, Write Mem100;分別求在不按寫(xiě)分配法和按寫(xiě)分配法情況下命中次數(shù)、缺失次數(shù)是多少?答:如采用不按寫(xiě)分配法:命中次數(shù)為1、缺失次數(shù)為4;如采用按寫(xiě)分配法:命中次數(shù)為3、缺失次數(shù)為2。提 示目前,在寫(xiě)回法中一般采用按寫(xiě)分配法,在寫(xiě)直達(dá)法中一般采用不按寫(xiě)分配法。本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache的一致性問(wèn)題3 之 3Cache性能評(píng)價(jià)提高Cache性能Cache性能本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能評(píng)價(jià)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能CPU執(zhí)行時(shí)間平均存儲(chǔ)器訪問(wèn)時(shí)間(A

46、MAT)CPU執(zhí)行時(shí)間本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)其中:3 之 1例 子本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)問(wèn):假定有一臺(tái)計(jì)算機(jī),當(dāng)所有存儲(chǔ)器訪問(wèn)操作都能在Cache中命中時(shí),CPI為1.0;數(shù)據(jù)訪問(wèn)只有l(wèi)oad和store指令,這些指令占全部指令的50%;缺失代價(jià)為25個(gè)時(shí)鐘周期,缺失率為2%。問(wèn)當(dāng)所有指令都在Cache中命中時(shí),計(jì)算機(jī)性能能提高多少?答:Cache始終命中時(shí)的計(jì)算機(jī)性能為:3 之 2例 子(續(xù))本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)實(shí)際Cache的計(jì)算機(jī)性能為:兩者的性能比為:結(jié)論:不發(fā)生Cach

47、e缺失時(shí)計(jì)算機(jī)性能是原來(lái)的1.75倍3 之 3平均存儲(chǔ)器訪問(wèn)時(shí)間(AMAT)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)3 之 1例 子本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)問(wèn):一個(gè)由8KB的I-Cache和8KB的D-Cache所構(gòu)成的分立Cache(哈佛結(jié)構(gòu))與一個(gè)16KB的統(tǒng)一Cache哪一個(gè)具有更低的缺失率?假設(shè)命中所需的開(kāi)銷(xiāo)為1個(gè)時(shí)鐘周期,不命中的開(kāi)銷(xiāo)為50個(gè)時(shí)鐘周期,統(tǒng)一Cache的load或store命中需花費(fèi)1個(gè)時(shí)鐘周期的額外開(kāi)銷(xiāo)。75%的存儲(chǔ)器存取是指令訪問(wèn)。Cache大小I-Cache缺失率D-Cache缺失率統(tǒng)一Cache缺失率4KB

48、1.78%15.94%7.24%8KB1.10%10.19%4.57%16KB0.64%6.47%2.87%32KB0.39%4.82%1.99%3 之 2答:分立Cache的整體缺失率為: 由表中可知,16KB的統(tǒng)一Cache的缺失率為2.87%。因此,統(tǒng)一Cache結(jié)構(gòu)具有較低的缺失率。 盡管分立Cache具有較高的缺失率,但其AMAT與統(tǒng)一Cache的AMAT是基本相同的,可見(jiàn)哈佛結(jié)構(gòu)有優(yōu)勢(shì)。大多數(shù)現(xiàn)代處理器都采用分立Cache技術(shù)。例 子(續(xù))本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能Cache性能評(píng)價(jià)3 之 3提高Cache性能本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能 可見(jiàn)主要途徑

49、有: 降低缺失代價(jià) 降低缺失率 通過(guò)并行性降低缺失代價(jià)/缺失率 降低Cache命中時(shí)間 降低缺失代價(jià)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能多級(jí)Cache請(qǐng)求字處理技術(shù)給出讀缺失對(duì)寫(xiě)的優(yōu)先級(jí)合并寫(xiě)緩沖區(qū)犧牲者Cache多級(jí)Cache本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)基本思想性能分析設(shè)計(jì)考慮基本思想本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)多級(jí)Cache 通過(guò)在原始Cache和存儲(chǔ)器之間增加另一級(jí)Cache,第一級(jí)Cache可以小到足以跟上飛快的CPU,而第二級(jí)Cache能夠大到足以捕捉到對(duì)主存進(jìn)行的大多數(shù)訪

50、問(wèn),因而可以減少有效缺失代價(jià)。性能分析本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)多級(jí)Cache 局部缺失率 本級(jí)Cache的缺失數(shù)除以對(duì)本級(jí)Cache的存儲(chǔ)器訪問(wèn)總數(shù)。例如:第一級(jí)Cache的局部缺失率為缺失率L1,第二級(jí)Cache的局部缺失率為缺失率L2 全局缺失率 本級(jí)Cache的缺失數(shù)除以CPU產(chǎn)生的存儲(chǔ)器訪問(wèn)總數(shù)。例如:第一級(jí)Cache的全局缺失率為缺失率L1,第二級(jí)Cache的全局缺失率為缺失率L1缺失率L2。設(shè)計(jì)考慮本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)多級(jí)Cache 第二級(jí)Cache的容量? 采用大容量設(shè)計(jì)。因?yàn)榈谝?/p>

51、級(jí)Cache中的所有信息都可能會(huì)出現(xiàn)在第二級(jí)Cache中,所以第二級(jí)Cache應(yīng)該比第一級(jí)Cache大得多。如果第二級(jí)Cache只是稍微大一點(diǎn),則局部缺失率會(huì)很高。 第二級(jí)Cache采用組相聯(lián)映射還是直接映射? 采用組相聯(lián)映射比采用直接映射性能要好。2 之 1設(shè)計(jì)考慮本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)多級(jí)Cache2 之 2是否第一級(jí)Cache中所有數(shù)據(jù)都包含在第二級(jí)Cache中?多級(jí)包含 L1中的數(shù)據(jù)通常都出現(xiàn)在L2中。這是通常做法,因?yàn)樗阌趯?shí)現(xiàn)I/O和Cache之間內(nèi)容一致性的檢測(cè)。多級(jí)排除 L1中的數(shù)據(jù)從不會(huì)出現(xiàn)在L2中。當(dāng)L2 Cache容量略大

52、于L1 Cache時(shí)可以采用此法,不浪費(fèi)L2 Cache的空間。請(qǐng)求字處理技術(shù) 思想 因?yàn)镃PU在同一時(shí)刻只需要塊中的一個(gè)字(請(qǐng)求字),所以本技術(shù)不必等到全部塊裝入就可以將所需字送出,然后重新啟動(dòng)CPU。 方法 請(qǐng)求字優(yōu)先 首先向存儲(chǔ)器請(qǐng)求缺失的字,一旦它到了就將它發(fā)送到CPU中;讓CPU繼續(xù)執(zhí)行,同時(shí)裝入塊中的其他字。本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià) 盡早重啟動(dòng) 按正常次序獲取字,只要被請(qǐng)求的字一到達(dá)就將它發(fā)送到CPU中,讓CPU繼續(xù)執(zhí)行。2 之 1局限性 本技術(shù)的收益取決于塊的大?。▔K越大,收益越大)和對(duì)塊中未裝入部分的訪問(wèn)可能性。本章內(nèi)容 Cach

53、e存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)2 之 2給出讀缺失對(duì)寫(xiě)的優(yōu)先級(jí)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià) 問(wèn)題 對(duì)于一個(gè)寫(xiě)直達(dá)的Cache,需要設(shè)置容量適中的寫(xiě)緩沖區(qū)(見(jiàn)后圖)。然而寫(xiě)緩沖區(qū)使得存儲(chǔ)器訪問(wèn)變的復(fù)雜,因?yàn)槠渲锌赡馨x缺失時(shí)所需要的更新數(shù)據(jù)。SW R3,512(R0) ;M512R3 (Cache Index 0)LW R1,1024(R0) ;R1 M1024 (Cache Index 0)LW R2,512(R0) ;R2 M512 (Cache Index 0)R2R3?!3 之 1給出讀缺失對(duì)寫(xiě)的優(yōu)先級(jí)本章內(nèi)容 Cac

54、he存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)writebufferCPUin out DRAM (or lower mem)3 之 2給出讀缺失對(duì)寫(xiě)的優(yōu)先級(jí)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià) 解決 最簡(jiǎn)單的解決方法:讀缺失等待,直到寫(xiě)緩沖區(qū)為空為止;但該方法會(huì)增加讀缺失代價(jià)。另一種解決方法:在讀缺失時(shí)查看寫(xiě)緩沖區(qū)中的內(nèi)容,如果沒(méi)有沖突而且存儲(chǔ)器系統(tǒng)可以訪問(wèn),就可繼續(xù)處理讀缺失;即:使讀缺失優(yōu)先于寫(xiě)缺失。3 之 3在寫(xiě)回法的Cache中,在替換塊時(shí)也要使用一個(gè)簡(jiǎn)單的寫(xiě)緩沖,同樣處理。合并寫(xiě)緩沖區(qū)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cac

55、he性能降低缺失代價(jià) 思想 在寫(xiě)緩沖區(qū)中,將多個(gè)連續(xù)的數(shù)據(jù)組合起來(lái),提高寫(xiě)緩沖區(qū)的空間利用率,減少因?qū)懢彌_區(qū)滿(mǎn)而等待的時(shí)間。64bit64bit64bit64bit犧牲者Cache本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià) 思想 在Cache和它的替換路徑之間增加一個(gè)小的、全相聯(lián)的Cache(犧牲者Cache),這個(gè)犧牲者Cache中只包含Cache中因?yàn)槿笔Ф惶鎿Q出的塊(犧牲者),然后在缺失發(fā)生時(shí),在要訪問(wèn)下層存儲(chǔ)器之前,先檢查犧牲者Cache,看其中是否包含有期望的數(shù)據(jù),如果有,則犧牲塊與Cache塊互換(見(jiàn)后圖) 。 性能 依賴(lài)于特定的程序,一個(gè)包含4個(gè)存

56、儲(chǔ)字的犧牲者Cache能減少20%90%的沖突缺失。2 之 1犧牲者Cache本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失代價(jià)2 之 2降低缺失率本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能導(dǎo)致缺失的原因降低缺失率的技術(shù)增加Cache塊大小增加Cache容量增加相聯(lián)度路預(yù)測(cè)和偽相聯(lián)Cache編譯優(yōu)化導(dǎo)致缺失的原因本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率 強(qiáng)制(Compulsory)缺失 對(duì)一個(gè)塊的第一次訪問(wèn)一定不在Cache中,所以該塊必須被調(diào)入到Cache中(這也稱(chēng)為:冷啟動(dòng)缺失、首次訪問(wèn)缺失等)。 容量(Capacity

57、)缺失 如果Cache容納不了一個(gè)程序持續(xù)執(zhí)行所需要的所有塊,當(dāng)某些塊被替換后,若又重新被訪問(wèn)就會(huì)發(fā)生缺失。 沖突(Conflict)缺失 如果采用組相聯(lián)/直接相聯(lián),若太多的塊映射到同一組(塊)中,則會(huì)出現(xiàn)該組中某塊被別的塊替換后又被重新訪問(wèn),這就發(fā)生沖突缺失。4 之 13Cs總?cè)笔?2B blocks; LRU;SPEC92;DECstation 5000;本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率4 之 2Miss Rate per Type0.020.040.060.080.10.120.14Cache Size (KB) 01248163264128Com

58、pulsory Capacity 4-way2-way1-way8-wayConflict2:1Cache經(jīng)驗(yàn)規(guī)律 一個(gè)容量為N的直接映射Cache同容量為N/2的2-路組相聯(lián)Cache有著大致相同的總?cè)笔省?本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率4 之 3Conflict3Cs缺失率分布(相對(duì)值)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率4 之 4Conflict增加Cache塊大小五種不同容量Cache的缺失率與塊大小的關(guān)系本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率0.49%1.15%3.29%9.5

59、1%22.01%2560.49%1.02%2.77%7.78%16.64%1280.51%1.06%2.64%7.00%13.76%640.70%1.35%2.87%7.24%13.34%321.09%2.04%3.94%8.57%15.05%16256641641Cache size (KB)Block size (B)5 之 1圖 示本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率1K4K16K64K256KCache SizeBlock Size (bytes) Miss Rate 0%5%10%15%20%25%1632641282565 之 2分 析 增加塊大小

60、會(huì)先降低后增加缺失率 增加塊大小會(huì)降低強(qiáng)制缺失率,這是利用了空間局部性原理。但因?yàn)樗鼫p少了Cache中的塊數(shù),加重了沖突缺失,如果Cache容量較小時(shí),甚至?xí)腥萘咳笔А?增加塊大小會(huì)增加缺失代價(jià)本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率塊大小應(yīng)為多大AMAT最?。? 之 3AMAT與塊大小本章內(nèi)容 Cache存儲(chǔ)系統(tǒng)Cache性能提高Cache性能降低缺失率 假設(shè)命中時(shí)間為1個(gè)時(shí)鐘周期,缺失時(shí)系統(tǒng)開(kāi)銷(xiāo)為80個(gè)時(shí)鐘周期,以后每2個(gè)時(shí)鐘周期傳送16B,缺失率參見(jiàn)前表。結(jié)果顯示:32/64B是目前Cache所通用的塊大小。5 之 4塊大小的選擇本章內(nèi)容 Cache存儲(chǔ)系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論