![第五-章-存儲系統(tǒng)cache要點(diǎn)課件_第1頁](http://file4.renrendoc.com/view/50bc34bd8f32c97f6f29b541f15ed949/50bc34bd8f32c97f6f29b541f15ed9491.gif)
![第五-章-存儲系統(tǒng)cache要點(diǎn)課件_第2頁](http://file4.renrendoc.com/view/50bc34bd8f32c97f6f29b541f15ed949/50bc34bd8f32c97f6f29b541f15ed9492.gif)
![第五-章-存儲系統(tǒng)cache要點(diǎn)課件_第3頁](http://file4.renrendoc.com/view/50bc34bd8f32c97f6f29b541f15ed949/50bc34bd8f32c97f6f29b541f15ed9493.gif)
![第五-章-存儲系統(tǒng)cache要點(diǎn)課件_第4頁](http://file4.renrendoc.com/view/50bc34bd8f32c97f6f29b541f15ed949/50bc34bd8f32c97f6f29b541f15ed9494.gif)
![第五-章-存儲系統(tǒng)cache要點(diǎn)課件_第5頁](http://file4.renrendoc.com/view/50bc34bd8f32c97f6f29b541f15ed949/50bc34bd8f32c97f6f29b541f15ed9495.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
5.3并行主存儲器
所謂并行主存儲器,是指在一個主存周期內(nèi)可以并行讀取多個數(shù)據(jù)字的主存儲器。通常采用單體多字和交叉存取方式。尋址方式有單體多字尋址方式、多體存儲器的尋址方式和多體交叉尋址方式。下一頁上一頁5.3并行主存儲器所謂并行主存儲器,是指在一個
當(dāng)并行的存儲器共用一套地址寄存器和地址譯碼電路時稱為單體方式,其結(jié)構(gòu)原理圖如下。下一頁上一頁⒈單體多字尋址方式當(dāng)并行的存儲器共用一套地址寄存器和地址譯碼電路時
多個并行存儲器與同一地址寄存器連接,所以同時被一個單元地址驅(qū)動,一次訪問讀出的是沿n個存儲器順序排列的n個字,故也稱單體多字方式。與單體單字結(jié)構(gòu)的存儲器相比,單體多字尋址方式在存取速度方面有明顯的優(yōu)點(diǎn),因為,單體單字存儲器的每一個主存周期只能讀出一條指令或一個數(shù)據(jù),在取指和讀取數(shù)據(jù)的周期內(nèi),CPU處于等待狀態(tài),因此工作效率低。在本例所示的單體4字的尋址方式中,一次能讀出4個字長為w位的數(shù)據(jù)或指令,然后再以單字長的形式送給CPU執(zhí)行。當(dāng)然,若處理的數(shù)據(jù)不是連續(xù)地存放在主存中,或者在程序中經(jīng)常使用轉(zhuǎn)移指令,單體多字尋址方式的效果就不顯著了。下一頁上一頁多個并行存儲器與同一地址寄存器連接,所以同時被一個單元地下一頁上一頁⒉多體存儲器的尋址方式下圖是多體存儲器原理圖下一頁上一頁⒉多體存儲器的尋址方式下圖是多體存儲器原理圖下一頁上一頁
計算機(jī)系統(tǒng)中的大容量主存是由多個存儲體組成的,每個存儲體都有自己的讀寫線路、地址寄存器和數(shù)據(jù)寄存器,能以同等的方式與CPU交換信息,每個存儲體容量相等,它們既能同時工作又獨(dú)立編址。圖中MAR為模塊地址寄存器,MDR為模塊數(shù)據(jù)寄存器,主存地址寄存器的高位表示模塊號,低位表示塊內(nèi)地址。這種結(jié)構(gòu)的尋址方式有利于并行處理,能夠?qū)崿F(xiàn)多個分體的并行操作,一次訪問并行處理的n個字,不像單體方式那樣一定是沿存儲器順序排列的存儲單元內(nèi)容,而是分別由各分體的地址寄存器指示的存儲單元的內(nèi)容。因為各分體工作獨(dú)立,因此,只要進(jìn)行合理的調(diào)度,就能實現(xiàn)并行處理,兩個存儲體可以同時進(jìn)行不同的操作。例如一個存儲體被CPU訪問時,另一個存儲體可用來與外部設(shè)備進(jìn)行直接存儲器存?。―MA)操作。下一頁上一頁計算機(jī)系統(tǒng)中的大容量主存是由多個存儲
多體交叉是多體存儲器的另一種組織形式,下面以一個四體交叉存儲器的組織形式為例,來說明多體交叉存儲器的工作原理。下圖是四體交叉原理圖。下一頁上一頁⒊多體交叉尋址方式多體交叉是多體存儲器的另一種組織形式,下面以一個四體
多體交叉尋址方式與多體存儲器尋址方式不同,多體存儲器是以高位地址作為模塊號,低位地址作為體內(nèi)地址,每個模塊體內(nèi)地址是連續(xù)的;多體交叉尋址方式是以低位地址作為模塊號,高位地址作為體內(nèi)地址,各模塊間地址編號采用交叉方式。上圖所示的4個模塊M0、M1、M2、M3的編址如下表所示??騼?nèi)序號表示存儲單元的地址編號J=0,1,2…。下一頁上一頁多體交叉尋址方式與多體存儲器尋址方式不同,多體存儲器是以
⑴地址連續(xù)的兩個單元分布在相鄰的兩個模塊中,地址按模塊號方向順序編號。⑵同一模塊內(nèi)相鄰的兩個單元地址之差等于n。例如在四體交叉存儲器結(jié)構(gòu)方式下,兩個單元地址之差等于4。⑶任何一個存儲單元的二進(jìn)制地址編號的末2位正好指示該單元所屬模塊的編號,訪問主存時只要判斷這幾位就能決定訪問的是那個存儲模塊。在四體交叉存儲器結(jié)構(gòu)方式下,M0模塊的每個單元地址的二進(jìn)制編碼最后兩位都是00,M1模塊的每個單元地址最后兩位都是01,M2模塊的每個單元地址最后兩位都是02,M3模塊的每個單元地址最后兩位都是03。
⑷同一模塊內(nèi)每個單元地址除去模塊號后的高位地址正好是模塊內(nèi)單元的順序號,由此就可決定訪問單元在模塊中的位置。下一頁上一頁n體交叉尋址方式的規(guī)則滿足以下4點(diǎn)⑴地址連續(xù)的兩個單元分布在相鄰的兩個模塊中,地址按模塊號5.5Cache存儲器5.5.1多級存儲體系結(jié)構(gòu)5.5.2Cache工作原理5.5.3主存與Cache的地址映射和地址變換5.5.4Cache的替換策略及寫操作策略5.5Cache存儲器5.5.2Cache工作原理中央處理器主存外存cacheCPUM1M2M3輔助硬件輔助軟硬件5.5.1多級存儲體系結(jié)構(gòu)為解決存儲容量、存取速度和價格之間的矛盾,通常將各種不同存儲容量、不同存取速度的存儲器,按一定的體系結(jié)構(gòu)組織起來,形成一個統(tǒng)一整體.典型的三級存儲系統(tǒng):圖5.25三級存儲系統(tǒng)示意圖中央處理器主存外存cacheCPUM1M2M3輔助輔助5.5
Cache-主存層次
Cache一般由SRAM構(gòu)成,容量小,存取速度快,依據(jù)程序局部性原理,存放的是主存中當(dāng)前最需要執(zhí)行的信息副本.
目的:主存容量不足的問題.
利用輔助硬件和操作系統(tǒng)中的存儲管理軟件,將主存和輔存構(gòu)成一個整體.目的:解決CPU和主存速度不匹配的問題.
主存-輔存層次
總體效果:存取速度接近Cache,而存儲容量接近于輔存,整體價格也較合理.Cache-主存層次Cache一般由SRAM5.5Cache存儲器5.5.1多級存儲體系結(jié)構(gòu)5.5.2Cache工作原理5.5.3主存與Cache的地址映射和地址變換5.5.4Cache的替換策略及寫操作策略5.5Cache存儲器5.5.2Cache工作原理1.問題的提出避免CPU“空等”現(xiàn)象CPU和主存(DRAM)的速度差異緩存CPU主存容量小速度高容量大速度低字塊1.問題的提出避免CPU“空等”現(xiàn)象CPU和主存(主存塊
調(diào)入
緩存主存塊與緩存塊建立
了對應(yīng)關(guān)系標(biāo)記記錄與某緩存塊建立了對應(yīng)關(guān)系的主存塊號命中未命中主存塊與緩存塊未建立對應(yīng)關(guān)系主存塊
未調(diào)入
緩存2.
Cache的命中率主存塊調(diào)入緩存主存塊與緩存塊建立了對應(yīng)關(guān)系標(biāo)記記錄命中率CPU欲訪問的信息在Cache中的比率命中率
與Cache的容量
與
塊長
有關(guān)
命中率CPU欲訪問的信息在Cache中的比率命中率命中率CPU欲訪問的信息在Cache中的比率命中率
與Cache的容量
與
塊長
有關(guān)
命中率CPU欲訪問的信息在Cache中的比率命中率Cache–主存系統(tǒng)的效率效率e
與命中率有關(guān)
設(shè)Cache命中率為h,訪問Cache
的時間為tc
,
訪問主存的時間為tm
則
e=×100%tc
h
×tc+(1-h(huán))×tm
訪問Cache的時間
平均訪問時間
e=×100%Cache–主存系統(tǒng)的效率效率e與命中率有關(guān)3.Cache的讀操作
訪問Cache取出信息送CPU
訪問主存取出信息送CPU將新的主存塊調(diào)入Cache中執(zhí)行替換算法騰出空位
結(jié)束命中?Cache滿?CPU發(fā)出訪問地址
開始是否是否3.Cache的讀操作訪問Cache訪問主存4.Cache的基本結(jié)構(gòu)Cache替換機(jī)構(gòu)Cache存儲體主存Cache地址映像變換機(jī)構(gòu)由CPU完成4.Cache的基本結(jié)構(gòu)Cache主存Cache由CPU
5.5.2Cache工作原理Cache的工作機(jī)制
Cache工作是以程序訪問的局部性原理為基礎(chǔ)的,即,一個程序的指令大都順序存放、順序執(zhí)行,與程序相關(guān)的數(shù)據(jù)在存儲器中也相對集中.所以程序運(yùn)行時,尤其有循環(huán)程序段和子程序段時,在較短時間區(qū)間內(nèi),常會對局部范圍的存儲器頻繁訪問,而此范圍之外的地址訪問甚少.這種現(xiàn)象稱為程序訪問的局部性.把局部范圍的主存內(nèi)容從主存放到一個高速小容量存儲器中,使CPU在這一段時間內(nèi)直接訪問它,以減少或不去訪問慢速的主存,程序運(yùn)行速度將明顯提高.5.5.2Cache工作原理Cache的工作機(jī)制C
2.Cache工作原理例:某機(jī)主存容量為1MB,Cache容量為8KB,若以字節(jié)編址,每512B為一塊,則主存有2048塊,Cache有16塊.塊000000H00001H…..001FFH…塊2047FFE00HFFE01H…FFFFFH主存塊00000H0001H…..01FFH…塊151E00H1E01H…1FFFH
Cache塊的概念一般將主存和Cache的存儲空間分塊,每塊大小相同,包括相同數(shù)量的存儲單元.2.Cache工作原理例:某機(jī)主存容量為1MB,CaCache構(gòu)成及工作過程CPU主存主存地址寄存器MAR主存—Cache地址變換機(jī)構(gòu)(塊表)Cache存儲器Cache地址寄存器替換控制部件ABDB單字寬多字寬不命中命中(塊)
Cache包括Cache存儲器及相應(yīng)控制部件,全部由硬件組成,速度快,對所有程序員均透明.CARCache構(gòu)成及工作過程CPU主主存主存—CacheCa
Cache命中率
設(shè)Nc為Cache完成存取的總次數(shù),Nm為主存完成存取的總次數(shù),h為命中率,則有:
設(shè)r=tm/tc表示主存慢于Cache的倍率,e表示訪問效率,則有:
高速緩存命中率:CPU訪存時,信息恰巧在Cache中的概率.h=Nc/(Nc+Nm)
若tc表示命中時的Cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則Cache/主存系統(tǒng)的平均訪問時間ta為:ta=htc+(1-h)tm
e=tc/ta=tc/[htc+(1-h)tm]=1/[h+(1-h)r]=1/[r+(1-r)h]Cache命中率設(shè)Nc為Cache例:CPU執(zhí)行一段程序時,Cache完成存取的次數(shù)1900次,主存完成存取的次數(shù)為100次,已知Cache的存取周期為1ns,主存存取周期為5ns,求Cache/主存系統(tǒng)的效率和平均訪問時間.解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
r=tm/tc=5ns/1ns=5e=1/[r+(1-r)h]=1/[5+(1-5)X0.95]=83.3%ta=tc/e=1ns/0.833=1.2ns例:某計算機(jī)的存儲系統(tǒng)由Cache和主存組成,某程序執(zhí)行過程中訪存1000次,其中訪問Cache缺失(未命中)50次,則Cache的命中率是().A.5%B.9.5%C.50%D.95%例:CPU執(zhí)行一段程序時,Cache完成存取的次數(shù)1900次
影響
Cache命中率的因素☆Cache的大小容量相對較大的Cache,命中率也相應(yīng)提高,但容量太大,成本會變得不合理.
☆程序的特點(diǎn)遵循局部性原理的程序在運(yùn)行時Cache的命中率也會很高,相反,在程序中頻繁且無規(guī)則地使用Call或JMP命令,將嚴(yán)重影響基于Cache的系統(tǒng)性能.
☆Cache的組織結(jié)構(gòu)
Cache組織結(jié)構(gòu)的好壞,對命中率也會產(chǎn)生較大影響.Cache的組織結(jié)構(gòu)有三種類型:全相聯(lián)映射、直接映射和組相聯(lián)映射.
影響Cache命中率的因素5.5Cache存儲器5.5.1多級存儲體系結(jié)構(gòu)5.5.2Cache工作原理5.5.3主存與Cache的地址映射和地址變換5.5.4Cache的替換策略及寫操作策略5.5Cache存儲器5.5.2Cache工作原理
5.5.3主存與Cache的地址映射和地址變換1.全相聯(lián)映射:允許主存中的每一個塊可以映射到Cache的任何一塊位置上.映射過程如下圖所示:
一.全相聯(lián)映射及其地址變換
二者密切相關(guān)--地址變換由地址映射方式?jīng)Q定.主存--Cache地址變換:程序運(yùn)行時,根據(jù)地址映射把主存地址變換成Cache地址.
主存--Cache地址映射(mapping):把存放在主存中的程序按某種規(guī)則裝入Cache中,并依此建立主存地址與Cache地址的對應(yīng)關(guān)系,即塊表.
●塊表—存放數(shù)據(jù)或指令在內(nèi)存中所在單元地址的存儲器,用于判斷Cache命中以及實現(xiàn)地址映射,其字?jǐn)?shù)等于Cache的塊數(shù).5.5.3主存與Cache的地址映射和地址變換1……塊0
塊1塊15塊0塊1塊2047Cache主存…全相聯(lián)映射
2.全相聯(lián)映射方式下的地址變換主存塊號塊內(nèi)地址
(1)主存地址格式:
(標(biāo)志字段)圖5.26全相聯(lián)映射示意圖……塊0塊1塊15塊0塊1塊2047Cache主存…全相聯(lián)例:某機(jī)主存容量為1MB,Cache容量為8KB,若以字節(jié)編址,每512B為一塊,則主存有2048塊,Cache有16塊。主存地址格式:
0000000000000000000000000000000111111111…塊號(0塊)塊內(nèi)存儲單元(0-511)…塊號(1塊)
塊內(nèi)存儲單元(0-511)0000000000100000000000000000001111111111…塊號(2047塊)塊內(nèi)存儲單元(0-511)1111111111100000000011111111111111111111……例:某機(jī)主存容量為1MB,Cache容量為8KB,若以字節(jié)Cache塊號塊內(nèi)地址
主存塊號轉(zhuǎn)換為Cache塊號,塊內(nèi)地址不變(3)地址變換(將主存地址轉(zhuǎn)換為Cache地址):
(2)Cache地址格式:…塊號(0塊)塊內(nèi)存儲單元(0-511)…塊號(1塊)
塊內(nèi)存儲單元(0-511)00010000000000001111111111…塊號(15塊)塊內(nèi)存儲單元(0-511)11110000000001111111111111……0000000000000
0000111111111Cache塊號塊內(nèi)地址主存塊號轉(zhuǎn)換為Cache塊號,塊內(nèi)地主存塊號B(標(biāo)志字段)塊內(nèi)地址WCache塊號b塊內(nèi)地址w主存塊號BCache塊號bBb??????比較命中MARCAR
圖5.27全相聯(lián)映射的地址變換塊表(塊表容量的計算:字?jǐn)?shù)等于高緩塊數(shù),字長由主存塊數(shù)和高緩塊數(shù)決定)不命中則訪問主存注意:在全相聯(lián)映射中,主存塊號作為識別是否命中的標(biāo)志,標(biāo)志位的長度由主存塊數(shù)決定.主存塊號B(標(biāo)志字段)塊內(nèi)地址WCache塊號b塊內(nèi)地址w主字塊0字塊1字塊2C-1…標(biāo)記標(biāo)記標(biāo)記設(shè)Cache有2C-1塊,主存有2m-1塊,即Cache塊地址有c位,主存塊地址有m位.字塊0字塊1字塊2C-1……字塊2m-1主存地址格式:主存字塊標(biāo)記塊內(nèi)地址m位圖5.28全相聯(lián)映射的另一種常見圖解字塊0字塊1字塊2C-1…標(biāo)記標(biāo)記標(biāo)記設(shè)Cache有2C-
3.全相聯(lián)映射的優(yōu)缺點(diǎn)
i=jmodm(m為Cache中總塊數(shù))
映射規(guī)則:主存中任何一組的第i塊只能放入Cache的第i塊.
主存第j塊(大排塊數(shù))和Cache第i塊有如下函數(shù)關(guān)系:1.直接映射:首先,主存在分塊的基礎(chǔ)上分組,每組大小與Cache的大小相同。二.直接映射及其地址變換
(2)缺點(diǎn):塊表的查找時間長,速度慢.(1)優(yōu)點(diǎn):塊沖突概率最低,只有當(dāng)Cache中全部裝滿后,才有可能出現(xiàn)塊沖突,塊分配靈活;其中,商為主存第j塊所在主存的組數(shù),余數(shù)為在該組的塊數(shù).3.全相聯(lián)映射的優(yōu)缺點(diǎn)i=jmodm塊0塊1塊15Cache....…..0組1組127組塊0
塊1
塊15
塊16塊17
塊31
塊2047…主存塊2032塊2033圖5.29直接映射示意圖2.直接聯(lián)映射方式下的地址變換
Cache塊號
組號塊內(nèi)地址Cache塊號塊內(nèi)地址組內(nèi)塊號
(2)Cache地址格式:(1)主存地址格式:塊0Cache....…..0組1組127組塊0塊…塊號(0塊)塊內(nèi)存儲單元(0-511)…塊號(1塊)
塊內(nèi)存儲單元(0-511)00000000001
00000000000000000001
111111111…塊號(2047塊)塊內(nèi)存儲單元(0-511)11111111111
00000000011111111111
111111111……主存地址格式:00000000
000
00000000000000000
000
111111111組號(0-127)組內(nèi)塊號(0-15)…塊號塊內(nèi)存儲單元…塊號塊內(nèi)存儲單元000000000(3)地址變換(將主存地址轉(zhuǎn)換為Cache地址):Cache塊號b組號G(標(biāo)志字段)MARCache塊號b塊內(nèi)地址wCAR命中不命中訪問主存塊內(nèi)地址W比較組號GCache地址根據(jù)CAR的內(nèi)容訪問Cache
主存地址中的“組內(nèi)塊號(Cache塊號)+塊內(nèi)地址”=Cache地址注意:在直接映射中,主存組號作為識別是否命中的標(biāo)志,標(biāo)志位的長度由主存組數(shù)決定.(3)地址變換(將主存地址轉(zhuǎn)換為Cache地址):Cach3.直接映射的優(yōu)缺點(diǎn):塊內(nèi)地址(9位)
組內(nèi)塊號(4位)組號(7位)
Cache地址格式塊內(nèi)地址(9位)
塊號(4位)解:(1)主存地址格式
(1)分別寫出主存地址格式和Cache地址格式;(2)畫出直接映射及地址變換圖;(3)主存地址為0022AH的單元在Cache中什么位置?例題:某機(jī)主存容量為1MB,Cache容量為8KB,每塊512B,如果采用直接映射,請回答:(2)缺點(diǎn):Cache的空間利用率低,塊沖突較多,命中率也低.(1)優(yōu)點(diǎn):硬件實現(xiàn)簡單,成本低.3.直接映射的優(yōu)缺點(diǎn):塊內(nèi)地址(9位)組內(nèi)塊號(4位)組塊0塊1塊15Cache....…..0組1組塊0
塊1
塊15
塊16塊17
塊31
塊2047…塊2032塊2033127組主存7位4位9位組號G組內(nèi)塊號b塊內(nèi)地址主存地址比較組號不命中,訪問主存Cache地址01…b……15(2)直接映射及地址變換示意圖命中,MARCAR4位9位則根據(jù)CAR的內(nèi)容訪問Cache地址映射地址變換塊0Cache....…..0組1組塊0塊1塊1(3)主存地址為0022AH的單元在Cache中什么位置組(0組)組內(nèi)塊號(1塊)塊內(nèi)地址(42字)另外一種求法:
0022AH=(0000
0000001000101010)2因為主存第j塊和Cache第i塊有如下函數(shù)關(guān)系:i=jmodm(m為Cache中總塊數(shù))這里,j=1,m=16,所以i=1mod16=1(3)主存地址為0022AH的單元在Cache中什么例:設(shè)一個Cache中有8個塊,訪問主存進(jìn)行讀操作的塊地址序列為22、26、22、26、16、4、16、18,求每次訪問后Cache中的內(nèi)容.解:地址命中與否地址轉(zhuǎn)換關(guān)系
不命中22MOD8=6
不命中26MOD8=2
22命中22MOD8=6
命中26MOD8=216不命中16MOD8=04不命中4MOD8=416命中16MOD8=018不命中18MOD8=2直接映象下Cache訪問情況例:設(shè)一個Cache中有8個塊,訪問主存進(jìn)行讀操作的塊地址序
直接映象的塊分配情況訪問順序12345678地址222622261641618塊分配情況22操作狀態(tài)調(diào)進(jìn)2226調(diào)進(jìn)2226命中2226命中222616調(diào)進(jìn)2241626調(diào)進(jìn)2216264命中2216184替換直接映象的塊分配情況訪問順序123練習(xí)1.設(shè)有一個Cache的容量為2K字,每塊16字,在直接映象方式下,求:(1)該Cache可容納多少個塊?(2)如果主存的容量為256K字,則有多少個塊?(3)主存的地址格式?Cache的地址格式?(4)主存中的第032AB單元映象到Cache中哪一塊?練習(xí)2.設(shè)計算機(jī)的存儲器為64K×16位,直接地址映射的Cache容量為1K字,每塊4字,問:(1)主存中地址的標(biāo)志字段、塊號和塊內(nèi)地址字段分別有多少位?(2)Cache中可裝入多少塊數(shù)據(jù)?練習(xí)1.設(shè)有一個Cache的容量為2K字,每塊16字,在直三.組相聯(lián)映射及其地址變換n路組相聯(lián):每組中有n塊.有全相聯(lián)映射:主存第g組第i塊可映射到Cache第i組中任一塊的位置.
有直接映射:主存第g組第i塊只能映射到Cache第i組.
1.組相聯(lián)映射:Cache分成大小相等的組,各組再分成大小相等的塊.
主存在分塊的基礎(chǔ)上分組,每組塊數(shù)等于Cache組數(shù).
映射規(guī)則:Cahe分為m組,每組有n塊,則有以下關(guān)系:i=jmodm
其中,i為Cache組號,j為主存塊號(大排).商為主存第j塊所在組數(shù),余數(shù)為該組所在塊數(shù).
三.組相聯(lián)映射及其地址變換n路組相聯(lián):每組中有n塊.有全相塊0塊1塊2塊3…塊14塊150組1組7組Cache主存塊0塊1塊2塊3…塊7塊8塊15塊16塊17…塊2047…圖5.30組相聯(lián)映射示意圖同上例,采用2路組相聯(lián)…
塊90組1組…塊0塊1塊2塊3…塊14塊150組1組7組Cache主存塊
2.組相聯(lián)映射方式下的地址變換塊內(nèi)地址
(Cache組號)(1)主存地址格式:(主存字塊標(biāo)記)
(2)Cache地址格式:塊內(nèi)地址組號組內(nèi)塊號
組號組內(nèi)塊號2.組相聯(lián)映射方式下的地址變換塊內(nèi)地址(Cache組(3)地址變換(將主存地址轉(zhuǎn)換為Cache地址):塊內(nèi)地址組號組內(nèi)塊號塊內(nèi)地址
(Cache組號)(主存字塊標(biāo)記)
組號組內(nèi)塊號(3)地址變換(將主存地址轉(zhuǎn)換為Cache地址):塊內(nèi)地址主存字塊標(biāo)記組號G塊內(nèi)地址WMAR組號g組內(nèi)塊號b塊內(nèi)地址wCAR比較不命中訪問主存命中主存字塊標(biāo)記Cache組內(nèi)塊號b┇┇┇┇●●訪問Cache圖5.31組相聯(lián)映射的地址變換示意圖塊表主存字塊標(biāo)記組號G塊內(nèi)地址WMAR組號g組內(nèi)塊號b塊內(nèi)地址w
例:某計算機(jī)的Cache共有16塊,采用2路組相聯(lián)(即每組2塊).每個主存塊大小為32字節(jié),按字節(jié)編址.主存129號單元所在主存應(yīng)裝入到得Cache組號是().A.0B.2C.4D.6
例:在下列因素中,與Cache的命中率無關(guān)的是().A.Cache塊的大小
B.Cache的容量
C.主存的存取時間例:某計算機(jī)的Cache共有16塊,采用2路組相聯(lián)(即每組
例:假設(shè)主存容量為512K×16位,Cache容量為4096×16位,塊長為4個16位的字,訪存地址為字地址.(1)在直接映射方式下,設(shè)計主存地址格式.(2)在全相聯(lián)映射方式下,設(shè)計主存地址格式.(3)在2路組相聯(lián)映射方式下,設(shè)計主存地址格式.
解:(1)在直接映射方式下,Cache分4096/4=210塊,主存分219/4=217塊,主存分219/212=27組.
故主存地址格式:主存組數(shù)(7位)組內(nèi)塊數(shù)(10位)塊內(nèi)地址(2位)例:假設(shè)主存容量為512K×16位,Cache容量為409(2)在全相聯(lián)方式下,Cache分4096/4=210塊,主存分219/4=217塊.故主存地址格式:主存塊數(shù)(17位)塊內(nèi)地址(2位)
(3)在組相聯(lián)映射方式下,Cache分4096/4=210塊,2塊一組,Cache分210/2=29組;主存分219/4=217塊,每組分29塊,主存分217/29=28組.故主存地址格式:塊內(nèi)地址
(Cache組號)(主存字塊標(biāo)記)組號(8位)組內(nèi)塊號(9位)(2位)(2)在全相聯(lián)方式下,Cache分4096/4=210塊,主練習(xí)1.設(shè)有一個Cache的容量為2K字,每塊16字,在直接映象方式下,求:(1)該Cache可容納多少個塊?(2)如果主存的容量為256K字,則有多少個塊?(3)主存的地址格式?Cache的地址格式?(4)主存中的第032ABH單元映象到Cache中哪一塊?
解:(1)
Cache可容納的塊數(shù)為:2K/16=27=128(塊)(2)主存的可容納的塊數(shù)為:256K/16=214(塊)
(3)主存地址格式為:塊內(nèi)地址(4位)
組內(nèi)塊號(7位)組號(7位)
Cache地址格式為:塊內(nèi)地址(4位)
組內(nèi)塊號(7位)練習(xí)1.設(shè)有一個Cache的容量為2K字,每塊16字,在直(4)主存中的032ABH單元:032ABH=(00000011001010101011)2
6組42塊11字另外一種求法:因為主存第j塊和Cache第i塊有如下函數(shù)關(guān)系:i=jmodm(m為Cache中總塊數(shù))這里,j=29+28+25+23+21=810,m=128,所以i=1modm=810mod128=42
(4)主存中的032ABH單元:6組42塊115.5Cache存儲器5.5.1多級存儲體系結(jié)構(gòu)5.5.2Cache工作原理5.5.3主存與Cache的地址映射和地址變換5.5.4Cache的替換策略及寫操作策略5.5Cache存儲器5.5.2Cache工作原理5.5.4Cache的替換策略及寫操作策略LRU----LeastRecentlyUsedFIFO----FirstInFirstOutRAND
常用替換算法:
注意:只有全相聯(lián)和組相聯(lián)的高速緩存中有替換策略問題.
替換策略(replacementpolicy):Cache地址變換中一旦發(fā)生不命中,需將主存中一個新塊調(diào)入Cache,如果此時發(fā)生塊沖突,決定從Cache中選擇哪一個數(shù)據(jù)塊,并將其從Cache中移去,將新的數(shù)據(jù)塊寫入的方法.
一.Cache的替換策略5.5.4Cache的替換策略及寫操作策略LRU----
1.RAND算法
特點(diǎn):符合局部性原理,命中率較高.
方法:根據(jù)局部性原理選擇近期用的最少的數(shù)據(jù)塊作為替換的塊.具體做法:為每一塊設(shè)置一個計數(shù)器,當(dāng)某一塊命中時,其計數(shù)器清0,其它各塊的計數(shù)器增1,當(dāng)需要替換時,將計數(shù)值大的塊替換出.3.LRU算法
特點(diǎn):較簡單,但沒有體現(xiàn)程序局部性規(guī)律,不能提高Cache命中率.方法:選擇最早調(diào)入Cache的塊進(jìn)行替換.
2.FIFO算法
方法:隨機(jī)地確定替換塊.特點(diǎn):容易實現(xiàn),執(zhí)行速度快,但沒有體現(xiàn)程序局部性規(guī)律,不能提高Cache命中率.1.RAND算法特點(diǎn):符合局部性原理,命中二、Cache的寫操作策略
Cache內(nèi)容是主存部分內(nèi)容的副本,在命中的情況下,如果CPU對Cache寫入,改變了Cache(dirtyblock)的內(nèi)容,如何保證主存內(nèi)容與Cache內(nèi)容一致.
缺點(diǎn):當(dāng)CPU向主存寫操作時,Cache無高速緩沖功能,降低了Cache的功效.
優(yōu)點(diǎn):寫主存與寫Cache同步.
1.直達(dá)法(writethrough
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 娛樂行業(yè)招聘策略總結(jié)
- 2025年全球及中國螺旋藻蝦青素行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國合成生物學(xué)智造平臺行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球輕型柴油發(fā)動機(jī)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球反流檢測設(shè)備行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球裝飾金屬板光纖激光切割機(jī)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球降膜式風(fēng)冷螺旋式冷水機(jī)組行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國無塑工業(yè)軟包涂層紙行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國聚合物氫氣分離膜行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國搖擺式生物工藝容器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 搞笑小品劇本《大城小事》臺詞完整版
- 物業(yè)服務(wù)和后勤運(yùn)輸保障服務(wù)總體服務(wù)方案
- 人大代表小組活動計劃人大代表活動方案
- 《大模型原理與技術(shù)》全套教學(xué)課件
- 2023年護(hù)理人員分層培訓(xùn)、考核計劃表
- 《銷售培訓(xùn)實例》課件
- 2025年四川省新高考八省適應(yīng)性聯(lián)考模擬演練(二)地理試卷(含答案詳解)
- 【經(jīng)典文獻(xiàn)】《矛盾論》全文
- Vue3系統(tǒng)入門與項目實戰(zhàn)
- 2024年寧夏回族自治區(qū)中考英語試題含解析
- 光伏發(fā)電項目試驗檢測計劃
評論
0/150
提交評論