
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、arm核920t性能優(yōu)化之cache程序在執(zhí)行過(guò)程中會(huì)常見的運(yùn)行小范圍的循環(huán)代碼,而這些循環(huán)又會(huì)對(duì)數(shù)據(jù)存儲(chǔ)器的局部區(qū)域反復(fù)拜訪。cache同時(shí)用法了時(shí)光和空間的局部性原理。假如對(duì)存儲(chǔ)器的拜訪受時(shí)光影響,在時(shí)光上有延續(xù)性,則這種時(shí)光上密集的拜訪被稱為時(shí)光局部性拜訪;假如多次對(duì)存儲(chǔ)器的地址拜訪相近,則這種空間上鄰近的拜訪被稱為空間局部性拜訪。一存儲(chǔ)層次:最頂層:存儲(chǔ)層次的最頂層在處理器內(nèi)核中,該存儲(chǔ)器被稱為寄存器文件。這些寄存器被集成在處理器內(nèi)核中,在系統(tǒng)中提供最快的存儲(chǔ)拜訪。一級(jí)存儲(chǔ):緊耦合存儲(chǔ)器(tcm),一級(jí)cache和主存在這一級(jí)。二級(jí)存儲(chǔ):輔助存儲(chǔ)器(輔助存儲(chǔ)器),用來(lái)存儲(chǔ)正在運(yùn)行的較大
2、的程序未被用法的部分,或者存放當(dāng)前沒(méi)有運(yùn)行的程序。二寫緩沖器作為暫時(shí)緩沖協(xié)助cache釋放存儲(chǔ)空間。三規(guī)律mmu與物理mmu假如帶cache的處理器核支持虛擬存儲(chǔ),那么cache就可以放在處理器內(nèi)核和存儲(chǔ)管理單元mmu之偶爾者mmu與物理存儲(chǔ)器之間。規(guī)律cache在虛擬地址空間存儲(chǔ)數(shù)據(jù),它位于處理器和mmu之間。處理器可以挺直通過(guò)規(guī)律cache拜訪數(shù)據(jù)而無(wú)需通過(guò)mmu。物理cache用法物理地址存儲(chǔ)數(shù)據(jù),它位于mmu和主存之間。當(dāng)處理器拜訪存儲(chǔ)器時(shí),mmu必需先把虛擬地址轉(zhuǎn)化為物理地址,cache存儲(chǔ)器才可向內(nèi)核提供數(shù)據(jù)。從arm7arm10都是用法規(guī)律cache,arm11用法物理cache
3、。四cache的結(jié)構(gòu)帶有cache的內(nèi)核采納了2種結(jié)構(gòu):馮諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu)。在用法馮諾依曼結(jié)構(gòu)的處理器內(nèi)核中,惟獨(dú)一個(gè)數(shù)據(jù)和命令公用的cache,這種cache被稱作統(tǒng)一cache。哈佛結(jié)構(gòu)將命令總線和數(shù)據(jù)總線分別,存在命令cache(i-cache)和數(shù)據(jù)cache(d-cache),這種類型的cache被稱作分別cache。上邊的圖是統(tǒng)一cache,cache的兩個(gè)主要組成部分cache控制器和cache存儲(chǔ)器。cache存儲(chǔ)器是一個(gè)專用的存儲(chǔ)器陣列,其拜訪單元稱為cache行。cache有3個(gè)主要的部分:名目存儲(chǔ)段(directory store),狀態(tài)信息段(status info
4、rmation),數(shù)據(jù)項(xiàng)段(data section)。每一個(gè)cache行都由這3部分組成。cache用法名目存儲(chǔ)段來(lái)記錄每個(gè)cache行是由主存的什么地方拷貝而來(lái)。該名目項(xiàng)被稱為“cache標(biāo)簽”。狀態(tài)位用來(lái)記錄狀態(tài)信息,2個(gè)頻繁的狀態(tài)位是有效位(valid bit)和臟位(dirty bit)。cache存儲(chǔ)器必需存儲(chǔ)來(lái)自主存的信息,這些信息被放在數(shù)據(jù)項(xiàng)段里。五cache與主存的關(guān)系1)挺直映射主存的每個(gè)地址都對(duì)應(yīng)著cache存儲(chǔ)器的唯一的一行。,組索引(set index)可以確切的指出全部以0x824結(jié)尾的內(nèi)存地址在cache中所唯一對(duì)應(yīng)的存儲(chǔ)地址;數(shù)據(jù)索引域可以確定字,半字或者字節(jié)在
5、該cache行中的位置;標(biāo)簽域用來(lái)與cache行中的cache-tag相比較。挺直映射這種設(shè)計(jì)使每個(gè)主存塊在cache中惟獨(dú)一個(gè)特定的行可以存放,那么假如程序同時(shí)用到對(duì)應(yīng)于cache同一行的2個(gè)主存塊,那么就會(huì)發(fā)生矛盾。矛盾的結(jié)果就是導(dǎo)致cache行的頻繁置換。這就是挺直映射cache的顛簸問(wèn)題(thrashing)。重復(fù)的cache失效導(dǎo)致cache控制器延續(xù)不斷的將當(dāng)前不用的過(guò)程置換出cache,這就是cache顛簸。2)組相聯(lián)為了削減cache的顛簸頻率,某些cache用法了其他設(shè)計(jì)。將cache分成一些容量相同的小單元,稱作路(way)。這里一個(gè)組索引對(duì)應(yīng)多個(gè)cache行,即在每一路里
6、都有一個(gè)cache行與之對(duì)應(yīng),組索引相同的cache行被稱作處于同一個(gè)組(set)里,這也是組索引指令的由來(lái)。擁有相同組索引的cache行稱為組相聯(lián)的。在cache的同一個(gè)組當(dāng)中,數(shù)據(jù)放置的位置具有排他性,可以防止同樣的數(shù)據(jù)被重復(fù)放在一個(gè)組的不同的cache行。3)全聯(lián)隨著cache控制器的相聯(lián)度提高,矛盾的可能性減小了。抱負(fù)的目標(biāo)是,盡量提高組相聯(lián)程度,使主存地址能夠映射到隨意cache行,這樣的cache被稱為全相聯(lián)cache。硬件設(shè)計(jì)者提高相聯(lián)度的一種辦法就是用法內(nèi)容尋址存儲(chǔ)器cam(content addressable memory)。在arm920t處理器核中,arm用法了cam來(lái)
7、定位cache-tag。arm920t中的cache是64路組相聯(lián)的。cam用法一組,以比較輸入的標(biāo)簽地址和存儲(chǔ)在每一個(gè)有效cache行中的cache-tag。cam采納了與ram相反的工作方式:ram是得到一個(gè)地址后再給出數(shù)據(jù);而cam則是在檢測(cè)到給定的數(shù)據(jù)值在存儲(chǔ)器中后,再給出該數(shù)據(jù)的地址。是arm940t的cache結(jié)構(gòu)圖。拜訪地址的tag部分被作為4個(gè)cam的輸入,輸入標(biāo)簽同時(shí)與存儲(chǔ)在64路中的全部cache標(biāo)簽相比較。假如有一個(gè)匹配,那么數(shù)據(jù)就由cache存儲(chǔ)器提供;假如沒(méi)有匹配,存儲(chǔ)器控制器就會(huì)產(chǎn)生一個(gè)失效(miss)信號(hào)。六cache策略cache策略包括寫策略,替換策略及分配策
8、略。1)寫策略寫策略包括直寫法(writethrough)和回寫法(writeback)。直寫法:假如cache控制器用法直寫策略,那么處理器核寫cache命中時(shí),將同時(shí)修改cache和主存中的內(nèi)容,以確保cache和主存數(shù)據(jù)的全都性?;貙懛ǎ杭偃鏲ache控制器用法回寫策略,那么處理器核寫cache命中時(shí),只向cache存儲(chǔ)器寫數(shù)據(jù)而不立刻寫入主存。配置成回寫法的cache要用法到cache行的狀態(tài)信息塊中的一個(gè)或多個(gè)臟位(dirty bit)。當(dāng)回寫cache控制器向cache存儲(chǔ)器中某一行寫入數(shù)據(jù)時(shí),它會(huì)將臟位設(shè)置為1。假如cache控制器要將一個(gè)臟位被置位的cache行替換出cache
9、存儲(chǔ)器,那么該cache行數(shù)據(jù)會(huì)自動(dòng)被寫到主存單元中去。2)替換策略帶cache的arm核支持兩種替換策略:偽隨機(jī)替換法和輪轉(zhuǎn)法。當(dāng)一個(gè)cache拜訪失效時(shí),cache控制器必需從當(dāng)前有效的組中挑選一個(gè)cache行來(lái)存儲(chǔ)從主存中取得的新信息。被選中的cache行被稱為丟棄者(victim)。假如丟棄者中包含有效的臟數(shù)據(jù),那么在該cache行被寫入新數(shù)據(jù)之前,控制器必需把該行的數(shù)據(jù)寫入到主存。挑選和替換丟棄cache行的過(guò)程被稱作淘汰(eviction)。3)分配策略在cache失效發(fā)生時(shí),arm的cache可以實(shí)行兩種策略來(lái)分配cache行:第一種叫做讀操作分配(read-allocate)策
10、略;其次種叫做讀/寫操作分配(read-write-allocate)策略。假如cache未命中,那么對(duì)于讀操作分配策略,惟獨(dú)舉行存儲(chǔ)器讀操作時(shí),才分配cache行。假如被替換的cache行包含有效數(shù)據(jù),那么在該行被新的數(shù)據(jù)替換之前,要先把本來(lái)的內(nèi)容寫入主存中。采納讀/寫操作分配策略時(shí),不管是存儲(chǔ)器讀操作,還是存儲(chǔ)器寫操作,在cache未命中時(shí),都將分配cache行。七清除(flush)和清理(clean)cache清除cache的意思是清除cache中存儲(chǔ)的所有數(shù)據(jù),對(duì)處理器而言,清除操作只要清零相應(yīng)cache的有效位即可。然而,對(duì)于采納回寫策略的d-cache,就需要用法清理(clean)操作。八cache鎖定cache鎖定是將cache中的部分代碼和數(shù)據(jù)標(biāo)志為非替換(exempt of eviction)的。被鎖定的代碼和數(shù)據(jù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 留守兒童感恩教育主題班會(huì)
- 肺癌的診斷與鑒別診斷
- 速遞網(wǎng)點(diǎn)裝修人工協(xié)議
- 銀行裝修環(huán)保驗(yàn)收?qǐng)?bào)告
- 珠寶玉石運(yùn)輸保險(xiǎn)協(xié)議
- 營(yíng)銷團(tuán)隊(duì)入職培訓(xùn)
- 美術(shù)興趣課程課件
- 腸外營(yíng)養(yǎng)配置規(guī)范
- 鋼材采購(gòu)合同模板范本
- 2024泰州市姜堰區(qū)江淮職業(yè)高級(jí)中學(xué)工作人員招聘考試及答案
- 第5章 層次分析法課件
- 情感糾紛案件調(diào)解協(xié)議書
- 咯血護(hù)理疑難病例討論
- 《車間主任培訓(xùn)》課件
- 感染性休克急救流程及應(yīng)急預(yù)案
- 歷年全國(guó)高考英語(yǔ)完形填空試題匯總及答案
- 《保障農(nóng)民工工資支付條例》宣傳冊(cè)
- 加強(qiáng)疾病預(yù)防控制體系信息化建設(shè)的實(shí)施方案
- 幼兒園優(yōu)質(zhì)公開課:小班語(yǔ)言《小兔乖乖》課件
- 醫(yī)療安全(不良)事件匯總登記表(科室)
- 設(shè)備管理體系課件
評(píng)論
0/150
提交評(píng)論