存儲(chǔ)器層次結(jié)構(gòu)_第1頁(yè)
存儲(chǔ)器層次結(jié)構(gòu)_第2頁(yè)
存儲(chǔ)器層次結(jié)構(gòu)_第3頁(yè)
存儲(chǔ)器層次結(jié)構(gòu)_第4頁(yè)
存儲(chǔ)器層次結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第五章存儲(chǔ)器層次結(jié)構(gòu)5.1

引言一.存儲(chǔ)器的兩大功能:

1、存儲(chǔ)(寫(xiě)入Write)

2、取出(讀出Read)二.三個(gè)主要性能指標(biāo):

1、容量

2、速度

3、價(jià)格5.1

引言三.存儲(chǔ)器分類(lèi)(1)內(nèi)存(Memory)主要存放CPU當(dāng)前使用的程序和數(shù)據(jù)(2)輔存(外存)存放大量的后備程序和數(shù)據(jù)。速度較慢容量大(3)高速緩存(Cache)存放CPU在當(dāng)前一小段時(shí)間內(nèi)多次使用的程序和數(shù)據(jù)。速度很快容量小速度快容量有限5.1

引言四.提高存儲(chǔ)性能的基本思路:利用局部性原理構(gòu)建存儲(chǔ)器層次結(jié)構(gòu)

局部性原理

時(shí)間局部性:如果某個(gè)數(shù)據(jù)項(xiàng)被訪問(wèn),那么在不久的將來(lái)它可能再次被訪問(wèn)。空間局部性:如果某個(gè)數(shù)據(jù)項(xiàng)被訪問(wèn),與它地址相鄰的數(shù)據(jù)項(xiàng)可能很快也被訪問(wèn)。存儲(chǔ)器層次結(jié)構(gòu)一種由多存儲(chǔ)器層次組成的結(jié)構(gòu),存儲(chǔ)器容量和訪問(wèn)時(shí)間隨著離處理器距離的增加而增加。5.1

引言存儲(chǔ)器層次的基本結(jié)構(gòu)處理器存儲(chǔ)器存儲(chǔ)器存儲(chǔ)器速度價(jià)格(美元/位)容量當(dāng)前技術(shù)最快最慢最小最大最高最低

Cache(SRAM)內(nèi)存(DRAM)磁盤(pán)/閃存5.1

引言三級(jí)存儲(chǔ)體系結(jié)構(gòu)

高速緩存—

內(nèi)存—

外存內(nèi)存-外存層次目的:增大容量構(gòu)成虛擬存儲(chǔ)器Cache-內(nèi)存層次目的:提高速度構(gòu)成主存儲(chǔ)器CPUCache主存

命中不命中5.1

引言相關(guān)概念:命中率:在高層存儲(chǔ)器中找到目標(biāo)數(shù)據(jù)的存儲(chǔ)訪問(wèn)比例。缺失率(失效率):在高層存儲(chǔ)器中沒(méi)有找到目標(biāo)數(shù)據(jù)的存儲(chǔ)訪問(wèn)比例。命中時(shí)間:訪問(wèn)高層存儲(chǔ)器所需要的時(shí)間,包括判斷是否命中所需時(shí)間。缺失代價(jià)(開(kāi)銷(xiāo)):將相應(yīng)的塊從低層存儲(chǔ)器替換到高層存儲(chǔ)器所需的時(shí)間。平均訪存時(shí)間(AMAT)

AMAT=命中時(shí)間+缺失率x缺失代價(jià)5.2

存儲(chǔ)器技術(shù)一.SRAM(Static

RAM)技術(shù)利用雙穩(wěn)態(tài)觸發(fā)器存儲(chǔ)信息每個(gè)基本存儲(chǔ)單元由6-8個(gè)晶體管組成

5.2

存儲(chǔ)器技術(shù)一.SRAM(Static

RAM)技術(shù)組織成存儲(chǔ)陣列結(jié)構(gòu),采用隨機(jī)存取方式,因此對(duì)任何數(shù)據(jù)訪問(wèn)時(shí)間都是固定的。速度快只需最小功率即可保持電荷,無(wú)需刷新價(jià)格貴主要用于二級(jí)Cache

5.2

存儲(chǔ)器技術(shù)二.DRAM(Dynamic

RAM)技術(shù)依靠電容存儲(chǔ)電荷的原理存儲(chǔ)信息寫(xiě)字線(wordline)設(shè)為高電平,設(shè)置位線(bitline)為高(寫(xiě)“1”),或?yàn)榈停▽?xiě)“0”)

讀位線先預(yù)充電(在高低電平之間),字線設(shè)為高電平,SenseAmp根據(jù)位線電位的變化,讀1/0。

WordLineBitLineCSenseAmp.

.

.5.2

存儲(chǔ)器技術(shù)二.DRAM(Dynamic

RAM)技術(shù)DRAM邏輯組織(64Mibit)

ColumnDecoderSense

Amps&I/OMemoryArray(16,384×16,384)A0…A13…Addressbuffer14DatainDQWordLineStorageCellDataoutRowDecoder…BitLine5.2

存儲(chǔ)器技術(shù)二.DRAM(Dynamic

RAM)技術(shù)速度低于SRAM價(jià)格低于SRAM需要刷新DRAM是依靠電容上存儲(chǔ)電荷來(lái)暫存信息。平時(shí)無(wú)電源供電,時(shí)間一長(zhǎng)電容上存儲(chǔ)的電荷會(huì)逐漸泄露。需定期向電容補(bǔ)充電荷,以保持信息不變,即為刷新。按行刷新用作內(nèi)存

5.2

存儲(chǔ)器技術(shù)三.閃存是一種電可擦除可編程只讀存儲(chǔ)器(EEPROM)

具有非易失性,可以在線擦除和重寫(xiě)集成度高、高可靠性、抗振動(dòng)單位價(jià)格在DRAM和磁盤(pán)之間

5.2

存儲(chǔ)器技術(shù)四.磁盤(pán)存儲(chǔ)器利用磁層上不同方向的磁化區(qū)域表示信息。容量大,記錄信息可以長(zhǎng)期保存,具有非易失性。非破壞性讀出,記錄介質(zhì)可以重復(fù)使用順序存取方式,速度慢

5.3

數(shù)據(jù)校驗(yàn)方法數(shù)據(jù)校驗(yàn)的實(shí)現(xiàn)原理:數(shù)據(jù)校驗(yàn)碼是在合法的數(shù)據(jù)編碼之間,加進(jìn)一些額外的編碼,使合法的數(shù)據(jù)編碼出現(xiàn)錯(cuò)誤時(shí)成為非法編碼。這樣就可以通過(guò)檢測(cè)編碼的合法性達(dá)到發(fā)現(xiàn)錯(cuò)誤的目的。碼距(漢明距離):碼距指任何一種編碼的任兩組二進(jìn)制代碼中,其對(duì)應(yīng)位置的代碼最少有幾個(gè)二進(jìn)制位不相同。5.3

數(shù)據(jù)校驗(yàn)方法一.奇偶校驗(yàn)1)奇偶校驗(yàn)碼:它是在被傳送的n位信息組上,加上一個(gè)二進(jìn)制位作為校驗(yàn)位,使配置后的n+1位二進(jìn)制代碼中1的個(gè)數(shù)為奇數(shù)(奇校驗(yàn))或偶數(shù)(偶校驗(yàn))。例: 數(shù)據(jù) 奇校驗(yàn)編碼 偶校驗(yàn)編碼

00000000

000000001

000000000

01110101

011101010

011101011

其中,最后一位為校驗(yàn)位,其余八位為數(shù)據(jù)位。2)碼距=?25.3

數(shù)據(jù)校驗(yàn)方法3)奇偶校驗(yàn)邏輯

主要采用異或門(mén)實(shí)現(xiàn)校驗(yàn)碼的生成和檢錯(cuò)。⊕⊕⊕⊕⊕⊕⊕⊕偶形成偶校錯(cuò)D7D6D5D4D3D2D1D0校驗(yàn)位偶數(shù)個(gè)10:正確00奇數(shù)個(gè)111:錯(cuò)誤能發(fā)現(xiàn)奇數(shù)個(gè)錯(cuò),不能發(fā)現(xiàn)偶數(shù)個(gè)錯(cuò)。能發(fā)現(xiàn)一位出錯(cuò),但不能判斷出錯(cuò)位數(shù),因此不能糾錯(cuò)。5.3

數(shù)據(jù)校驗(yàn)方法二.海明(漢明)校驗(yàn)(SEC/DED)

海明校驗(yàn)實(shí)質(zhì)上是一種多重奇偶校驗(yàn),即將代碼按一定規(guī)律組織為若干小組,分組進(jìn)行奇偶校驗(yàn),各組的檢錯(cuò)信息組成一個(gè)指誤字,不僅能檢測(cè)是否出錯(cuò),而且在只有1位出錯(cuò)的情況下指出是哪1位出錯(cuò),從而將該位自動(dòng)變反糾正。設(shè)校驗(yàn)碼為N位,其中有效信息為k位,校驗(yàn)位為r位,分成r組作奇偶校驗(yàn),產(chǎn)生r位檢錯(cuò)信息。這r位檢錯(cuò)信息構(gòu)成一個(gè)指誤字,可指出2r種狀態(tài),其中一種狀態(tài)表示無(wú)錯(cuò),剩下的2r–1種狀態(tài)可指出2r–1位中某位出錯(cuò)。所以N=k+r<=2r–1例:k=4,則N=4+r<=2r–1,所以r=3,即4位有效信息加3位校驗(yàn)位。5.3

數(shù)據(jù)校驗(yàn)方法N=k+r<=2r–1有效信息位數(shù)與校驗(yàn)位位數(shù)的關(guān)系k12~45~1112~2627~5758~120…r234567…分組原則

海明碼中,位號(hào)數(shù)(1,2,3,…,n)中為2的權(quán)值的那些位(1(20),2(21),4(22),…,2r-1),作為校驗(yàn)位,記作P1,P2,…,Pr,余下的作為有效信息位。5.3

數(shù)據(jù)校驗(yàn)方法例:N=11,k=7,r=4的海明碼位數(shù)為:

位號(hào)1234567891011Pi占位P1P2XP3XXXP4XXXX為有效信息,海明碼的每一位都被P1,P2,…,Pr中的一至若干位所校驗(yàn)。規(guī)律:第i個(gè)校驗(yàn)位負(fù)責(zé)校驗(yàn)位號(hào)數(shù)的二進(jìn)制形式從右起第i位為1的數(shù)位如:P1校驗(yàn)第1(0001)、3(0011)、5(0101)、7(0111)、9(1001)、11(1011)位。P3校驗(yàn)第4(0100)、5(

0101)、6(0110)、7(0111)位。5.3

數(shù)據(jù)校驗(yàn)方法歸納得下表:每個(gè)校驗(yàn)位所校驗(yàn)的位數(shù)校驗(yàn)位位號(hào)被校驗(yàn)位位號(hào)1(P1)2(P2)4(P3)8(P4)1、3、5、7、9、112、3、6、7、10、114、5、6、78、9、10、115.3

數(shù)據(jù)校驗(yàn)方法例:N=7,k=4,r=3。4位有效信息為A1A2A3A4=1010。解:1)分組,設(shè)校驗(yàn)位,偶校驗(yàn)1234567指誤字第3組

第2組

第1組正確碼

1位錯(cuò)1010√

√√√11011

110

10√

√√√01√

√√√

1G3G2G1=101P1P2

A1

P3

A2A3A4G3G2G1=000G3=G2=G1=5.3

數(shù)據(jù)校驗(yàn)方法2)編碼如下:

10110103)查錯(cuò)和糾錯(cuò)看指誤字G3G2G1=?,如果為0,則正確,如果不為0,則其值就是出錯(cuò)的位號(hào)。

G1=P1⊕A1⊕A2⊕A4G2=P2⊕A1⊕A3⊕A4G3=P3⊕A2⊕A3⊕A4碼距=

3

練習(xí)求1011的海明校驗(yàn)碼,采用偶校驗(yàn)。解:因?yàn)閗=4,則設(shè)r=3,組成7位校驗(yàn)碼:

第一組:P1101形成偶校驗(yàn)碼:P1=0

1234567P1P21P3011

第二組:P2111形成偶校驗(yàn)碼:P2=1

第三組:P3011形成偶校驗(yàn)碼:P3=0

所以最后形成的海明校驗(yàn)碼為:0110011該方法只能進(jìn)行一位的查錯(cuò)和糾錯(cuò)。怎樣做到糾正1位錯(cuò)并檢測(cè)2位錯(cuò)?改進(jìn)方法:增加一位奇偶校驗(yàn)碼,對(duì)整個(gè)字進(jìn)行校驗(yàn)。

其中,H=G3G2G1,整字校驗(yàn)結(jié)果為G4。會(huì)出現(xiàn)以下四種情況:1)H為0并且G4為偶,表示沒(méi)有錯(cuò)誤發(fā)生2)H為非0并且G4為奇,表示出現(xiàn)了一位可糾正錯(cuò)誤3)H為0并且G4為奇,表示P4出錯(cuò)4)H為非0并且G4為偶,表示出現(xiàn)了兩位錯(cuò)12345678P1P2d1P3d2d3d4P45.3

數(shù)據(jù)校驗(yàn)方法三.循環(huán)校驗(yàn)碼CRC循環(huán)冗余校驗(yàn)碼CRC是磁表面存儲(chǔ)器、網(wǎng)絡(luò)通信等串行通信中廣泛使用的校驗(yàn)方法。一般是在k位有效信息后拼接r位校驗(yàn)碼。校驗(yàn)規(guī)則:讓校驗(yàn)碼能為某一約定代碼除盡;如果除得盡,表明代碼正確;如果除不盡,余數(shù)將指明出錯(cuò)位所在位置。5.3

數(shù)據(jù)校驗(yàn)方法1.模2運(yùn)算

模2運(yùn)算是指以按位模2相加為基礎(chǔ)的四則運(yùn)算,運(yùn)算時(shí)不考慮進(jìn)位和借位。1)模2加減:

即按位加,可用異或邏輯實(shí)現(xiàn)。模2加與模2減的結(jié)果相同,即

0+0=0,

0+1=1,

1+0=1,

1+1=0。5.3

數(shù)據(jù)校驗(yàn)方法2)模2乘:按模2加求部分積例:1010

X10110100000

10101000103)模2除:按模2減求部分余數(shù),每求一位商使部分余數(shù)少一位。5.3

數(shù)據(jù)校驗(yàn)方法上商的原則是:當(dāng)部分余數(shù)的首位為1時(shí),商1;當(dāng)部分余數(shù)的首位為0時(shí),商0;當(dāng)部分余數(shù)的位數(shù)小于除數(shù)的位數(shù)時(shí),該余數(shù)即為最后余數(shù)。例:

101//商

10110000

101//部分余數(shù)首位為1

010

000//部分余數(shù)首位為0100

101//部分余數(shù)首位為101//余數(shù)5.3

數(shù)據(jù)校驗(yàn)方法2.編碼

將有效信息視為數(shù)字,用多項(xiàng)式描述,定義有效信息為M(x),約定的除數(shù)為G(x),用來(lái)產(chǎn)生余數(shù),G(x)又叫生成多項(xiàng)式,余數(shù)為R(x),就是校驗(yàn)位。

如:有效信息1011M(x)=x3+x+11)將M(x)左移r位,變成M(x).xr,右邊空出r位,以便拼接r位校驗(yàn)信息。即:信息碼:k位左移r位:k位r位5.3

數(shù)據(jù)校驗(yàn)方法2)用r+1位的生成多項(xiàng)式G(x)對(duì)M(x).Xr作模2除,得到商Q(x)和余數(shù)R(x)。

所以M(x).Xr=Q(x).G(x)+R(x)3)上式即:

M(x).Xr-R(x)=Q(x).G(x)

M(x).Xr+R(x)=Q(x).G(x)

//模2時(shí)加和減效果一樣。

因?yàn)镸(x).Xr的后r位是0,所以上式就是將M(x)左移r位后與R(x)相拼接,從而形成循環(huán)冗余校驗(yàn)碼。4)在實(shí)際應(yīng)用中,通常把R(x)稱為校驗(yàn)碼,記CRC5.3

數(shù)據(jù)校驗(yàn)方法例:將4位有效信息1100編成循環(huán)冗余校驗(yàn)碼,生成多項(xiàng)式為x3+x+1。解:M(x)=x3+x2

即:1100G(x)=x3+x+1即:1011,所以:r=3M(x).xr=x6+x5即:1100000

所以:M(x).Xr_______________=G(x)1100000___________

1011010=1110+_____

1011M(x).Xr+R(x)=1100000+010=1100010即:循環(huán)冗余校驗(yàn)碼為11000105.3

數(shù)據(jù)校驗(yàn)方法

出錯(cuò)模式表G(x)=1011A1A2A3A4A5A6A7余數(shù)出錯(cuò)位正確1100010000無(wú)出錯(cuò)110001111000001100110110101011100101000010010001000101010001111011110176543215.3

數(shù)據(jù)校驗(yàn)方法特點(diǎn):1、余數(shù)不為0,表示有錯(cuò),其值與出錯(cuò)位序號(hào)一一對(duì)應(yīng)。2、余數(shù)繼續(xù)除下去,將按上表循環(huán)。邏輯實(shí)現(xiàn)簡(jiǎn)單。3、生成多項(xiàng)式要特別選取。練習(xí)求1101的CRC(循環(huán)冗余校驗(yàn)碼),生成多項(xiàng)式G(x)=1011。解:M(X)=x3+x2+1即:1101

M(X)·Xr=x6+x5+x3,即:1101000(r=3)

G(X)=x3+x+1即:1011

M(X)·Xr

G(X)

=11010001011=1111+

0011011M(X)·Xr+R(X)=1101000+001=1101001

所以循環(huán)冗余校驗(yàn)碼為:11010015.4Cache的基本原理一.基本概念Dataiscopiedinblock-sizedtransferunits012345678910111213141589143CacheMemoryLarger,slower,cheapermemoryviewedaspartitionedinto“blocks”Smaller,faster,moreexpensivememorycachesasubsetoftheblocks4441010105.4Cache的基本原理命中012345678910111213141589143CacheMemoryDatainblockbisneededRequest:1414Blockbisincache:Hit!5.4Cache的基本原理缺失012345678910111213141589143CacheMemoryDatainblockbisneededRequest:12Blockbisnotincache:Miss!BlockbisfetchedfrommemoryRequest:12121212BlockbisstoredincachePlacementpolicy:

determineswherebgoesReplacementpolicy:

determineswhichblock

getsevicted(victim)5.4Cache的基本原理二.基本工作原理

主存儲(chǔ)器

塊號(hào)B

塊內(nèi)地址W

主存-Cache

地址變換

命中

缺失

塊號(hào)b

塊內(nèi)地址wCacheCache

替換算法

已滿

未滿

調(diào)出塊

裝入塊

一個(gè)字?jǐn)?shù)據(jù)

送CPU

地址

來(lái)自CPU主存地址Cache地址5.4Cache的基本原理需要解決的4個(gè)問(wèn)題:1.當(dāng)把一個(gè)塊調(diào)入Cache時(shí),可以放在哪些位置上?

(映射規(guī)則)2.

如何判斷訪問(wèn)的數(shù)據(jù)項(xiàng)在Cache中?若在,如何找到它?

(查找算法)3.當(dāng)發(fā)生缺失時(shí),應(yīng)替換哪一塊?

(替換算法)4.當(dāng)進(jìn)行寫(xiě)訪問(wèn)時(shí),應(yīng)進(jìn)行哪些操作?

(寫(xiě)策略)5.4Cache的基本原理三.直接映射方式直接映射:一種Cache結(jié)構(gòu),其中每個(gè)存儲(chǔ)器地址僅僅對(duì)應(yīng)到Cache中的一個(gè)位置。Cache8Block32Block(塊地址)mod(cache中的塊數(shù))index5.4Cache的基本原理Cache訪問(wèn)ByteoffsetIndexTAGBlockaddress MODNumbersofCacheBlockIndexVTagData000N001N010N011N100N101N110N111Na.Theinitialstateofthecacheafterpower-onValidbit例:訪問(wèn)序列如下:10110,11010,10110,11010,10000,00011,10000,10010IndexVTagData000N001N010N011N100N101N110Y(10)2Memory(10110)111Nb.Afterhandlingamissofaddress(10110)IndexVTagData000N001N010Y(11)2Memory(11010)011N100N101N110Y(10)2Memory(10110)111Nc.Afterhandlingamissofaddress(11010)IndexVTagData000N001N010Y(11)2Memory(11010)011N100N101N110Y(10)2Memory(10110)111Nd.Afterhandlingahitofaddress(10110)IndexVTagData000N001N010Y(11)2Memory(11010)011N100N101N110Y(10)2Memory(10110)111Ne.Afterhandlingahitofaddress(11010)例:訪問(wèn)序列如下:10110,11010,10110,11010,10000,00011,10000,10010IndexVTagData000Y(10)2Memory(10000)001N010Y(11)2Memory(11010)011N100N101N110Y(10)2Memory(10110)111Nf.Afterhandlingamissofaddress(10000)IndexVTagData000Y(10)2Memory(10000)001N010Y(11)2Memory(11010)011Y(00)2Memory(00011)100N101N110Y(10)2Memory(10110)111Ng.Afterhandlingamissofaddress(00011)IndexVTagData000Y(10)2Memory(10000)001N010Y(11)2Memory(11010)011Y(00)2Memory(00011)100N101N110Y(10)2Memory(10110)111Nh.Afterhandlingahitofaddress(10000)IndexVTagData000Y(10)2Memory(10000)001N010Y(11)→(10)2Memory(10010)011Y(00)2Memory(00011)100N101N110Y(10)2Memory(10110)111Ni.Afterhandlingamissofaddress(10010)5.4Cache的基本原理直接映射Cache結(jié)構(gòu)Cache的位數(shù)例1:假設(shè)一個(gè)直接映射的cache,有16KiB的數(shù)據(jù)需要裝入cache,塊大小為4個(gè)字,內(nèi)存地址為32位,那么該cache總共需要多少位?解:16KiB=4K個(gè)字=212

個(gè)字,1個(gè)塊=4個(gè)字=22個(gè)字塊數(shù)=212÷22=210

個(gè)塊,索引位(indexbits)=10bit標(biāo)記位(Tagbits)=地址位-索引位-字節(jié)偏移位

=32-10-4=18bit塊的大小=4×32=128bit有效位(Validbit)=1bitCache總位數(shù)=(塊的大小+標(biāo)記位+有效位)×210

=(128+18+1)×210=147×210=147Kib

=18.4KiB所以Cache容量18.4KiB,是數(shù)據(jù)量的1.15倍。

例2:假設(shè)一個(gè)cache中有64個(gè)塊,每塊大小為16字節(jié),采用直接映射。那么內(nèi)存中字節(jié)地址為1200的數(shù)據(jù)將被映射到cache中的哪一塊?解:塊地址=字節(jié)地址÷每塊字節(jié)數(shù)

=1200÷16

=75Cache塊號(hào)=(塊地址)mod(cache中的塊數(shù))

=

75mod

64

=

11所以映射到cache中11塊。

5.4Cache的基本原理Cache缺失處理Cache缺失(misses)

:由于數(shù)據(jù)不在Cache中而導(dǎo)致被請(qǐng)求的數(shù)據(jù)不能滿足。

兩種缺失:指令缺失數(shù)據(jù)缺失5.4Cache的基本原理指令缺失處理:1)把程序計(jì)數(shù)器(PC)的原始值(當(dāng)前PC-4)送到存儲(chǔ)器中。2)通知主存執(zhí)行一次讀操作,并等待主存訪問(wèn)完成。3)寫(xiě)cache項(xiàng),將主存取回的數(shù)據(jù)寫(xiě)入cache中,并將地址的高位寫(xiě)入標(biāo)記域,設(shè)置有效位。4)重啟指令執(zhí)行第一步,重新取指,這次該指令在cache中。數(shù)據(jù)缺失處理:與指令缺失的控制基本相同,發(fā)生缺失時(shí),處理器發(fā)生阻塞,直到從存儲(chǔ)器中取回?cái)?shù)據(jù)后才響應(yīng)。5.4Cache的基本原理寫(xiě)操作處理寫(xiě)策略:

⑴寫(xiě)直達(dá)法(Write-through)也叫寫(xiě)貫穿法,這種方法所實(shí)行的是,當(dāng)CPU進(jìn)行寫(xiě)操作時(shí),在寫(xiě)Cache的同時(shí)也將內(nèi)容寫(xiě)入到相應(yīng)的主存單元中,即兩個(gè)內(nèi)容同時(shí)改寫(xiě)⑵寫(xiě)回法(Write-back)這種方法的要點(diǎn)有二,一是當(dāng)CPU寫(xiě)數(shù)據(jù)時(shí),只寫(xiě)Cache,不寫(xiě)主存;二是當(dāng)已改寫(xiě)的塊被替換出Cache時(shí),將其內(nèi)容寫(xiě)回主存。

Cache中每塊增設(shè)“改寫(xiě)位”。5.4Cache的基本原理兩種方案比較:

(1)寫(xiě)直達(dá)法是在每次寫(xiě)Cache時(shí)都有寫(xiě)主存的操作,能始終保持?jǐn)?shù)據(jù)塊的一致性。寫(xiě)回法則僅在數(shù)據(jù)塊被置換時(shí)寫(xiě)入主存,可減少訪問(wèn)主存的開(kāi)銷(xiāo),但存在Cache塊與主存塊的瞬間不一致。(2)寫(xiě)直達(dá)法一次寫(xiě)入一個(gè)字,僅需一個(gè)奇/偶校驗(yàn)位;而寫(xiě)回法一次寫(xiě)入一個(gè)數(shù)據(jù)塊,需要多個(gè)校驗(yàn)位。(3)寫(xiě)直達(dá)法需要較多的緩沖寄存器存放需要寫(xiě)入主存的數(shù)據(jù);而寫(xiě)回法相應(yīng)要簡(jiǎn)單些。5.4Cache的基本原理直接映射的優(yōu)缺點(diǎn):優(yōu)點(diǎn):硬件實(shí)現(xiàn)簡(jiǎn)單,只需比較標(biāo)記位,速度較快。缺點(diǎn):塊的沖突率較高。解決辦法:全相聯(lián)映射和組相聯(lián)映射Cache8Block32Blockindex四.全相聯(lián)和組相聯(lián)映射方式

Cache:8

blocks,Memory:32blocks四路組相聯(lián)映射方式5.4Cache的基本原理例:對(duì)于具有2GB主存,128KB高速緩存的32位MIPS機(jī)器,塊大小為64B,當(dāng)CPU訪問(wèn)內(nèi)存地址為01000000000100010000101110000101時(shí),如果高速緩存采用直接映像的話,此地址映射到Cache的行號(hào)是多少?如果高速緩存采用2-Way(每行2塊)組相聯(lián)映像的話,此地址映射到Cache的行號(hào)又是多少?解:直接映像:塊大小為64B=26個(gè)字節(jié),字節(jié)偏移位=6bit,即:01000000000100010000101110000101Cache的塊數(shù):128KB÷64B

=

2K

=

211

索引位占11bit,

即:01000000000100010000101110000101所以:此地址映射到Cache的行號(hào)是100001011105.4Cache的基本原理例:對(duì)于具有2GB主存,128KB高速緩存的32位MIPS機(jī)器,塊大小為64B,當(dāng)CPU訪問(wèn)內(nèi)存地址為01000000000100010000101110000101時(shí),如果高速緩存采用直接映像的話,此地址映射到Cache的行號(hào)是多少?如果高速緩存采用2-Way(每行2塊)組相聯(lián)映像的話,此地址映射到Cache的行號(hào)又是多少?解:2-Way(每行2塊)組相聯(lián)映像:塊大小為64B=26個(gè)字節(jié),字節(jié)偏移位=6bit,即:01000000000100010000101110000101Cache的組(set)數(shù):128KB÷(64B*2)=

1K

=

210

索引位占10bit,

即:01000000000100010000101110000101所以:此地址映射到Cache的行號(hào)是00001011105.4Cache的基本原理五.Cache置換策略Cache的容量總是比主存儲(chǔ)器小得多,因此,必然會(huì)出現(xiàn)CPU需要訪問(wèn)的數(shù)據(jù)不在Cache中的情況。這時(shí),就要從主存中調(diào)入新的數(shù)據(jù)塊。如果這時(shí)可以裝入新塊的幾個(gè)Cache塊都已經(jīng)裝滿時(shí),就必須淘汰其中某塊中的數(shù)據(jù)以裝入新數(shù)據(jù),選擇被淘汰塊的方法稱為Cache置換策略(替換算法)。在直接映象方式下,不存在塊替換的算法,因?yàn)槊恳粔K的位置映象是固定的,需要哪一塊數(shù)據(jù)就可直接確定地將該塊數(shù)據(jù)調(diào)入上層確定位置。而其他兩種映象就存在替換策略的問(wèn)題,就是要選擇替換到哪一個(gè)Cache塊。置換策略直接影響Cache—主存體系的命中率。5.4Cache的基本原理1.隨機(jī)法隨機(jī)數(shù)產(chǎn)生器產(chǎn)生一個(gè)隨機(jī)數(shù),以此確定要被替換的塊。2.先進(jìn)先出法(FIFO)這種算法的思想是這樣的,不管已調(diào)入塊的使用頻率如何,選擇最早調(diào)入的塊作為替換的對(duì)象。3.最近最少使用法(LRU)這種算法又稱為最久未使用法。選擇近期最久沒(méi)有被訪問(wèn)的塊作為被替換的塊.5.5

虛擬存儲(chǔ)器虛擬存儲(chǔ)器:一種將主存當(dāng)作輔助存儲(chǔ)器(如磁盤(pán))的高速緩存的技術(shù)。構(gòu)造虛擬存儲(chǔ)器的兩個(gè)動(dòng)機(jī):擴(kuò)大編程空間,消除主存容量對(duì)程序設(shè)計(jì)造成的影響。允許云計(jì)算在多個(gè)虛擬機(jī)之間有效而安全地共享存儲(chǔ)器。5.5

虛擬存儲(chǔ)器虛擬機(jī):基本定義:通過(guò)配置軟件,擴(kuò)充機(jī)器功能后形成的一臺(tái)計(jì)算機(jī),而實(shí)際硬件在物理功能上并不具備這種語(yǔ)言功能。系統(tǒng)虛擬機(jī):可以在本地硬件上運(yùn)行不同的指令集系統(tǒng)結(jié)構(gòu),但它們都與硬件匹

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論