帶Cache的內(nèi)核簡要介紹PPT學(xué)習(xí)教案_第1頁
帶Cache的內(nèi)核簡要介紹PPT學(xué)習(xí)教案_第2頁
帶Cache的內(nèi)核簡要介紹PPT學(xué)習(xí)教案_第3頁
帶Cache的內(nèi)核簡要介紹PPT學(xué)習(xí)教案_第4頁
帶Cache的內(nèi)核簡要介紹PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、會計學(xué)1帶帶Cache的內(nèi)核簡要介紹的內(nèi)核簡要介紹CacheARM內(nèi)核地址地址寫緩沖MMU或MPU數(shù)據(jù)讀數(shù)據(jù)寫數(shù)據(jù)控制邏輯CP15AMBA總線接口JTAG 及非AMBA信號AMBA接口第1頁/共53頁第2頁/共53頁外部存儲器CPUCache地址數(shù)據(jù)總線接口第3頁/共53頁n對回寫數(shù)據(jù)cache而言, 任何改過的數(shù)據(jù)都要寫到存儲器中第4頁/共53頁第5頁/共53頁主存儲器0 x00000 x00100 x00200 x00300 x00400 x00500 x00600 x00700 x00800 x0090Cache00.0110010 x006400tagindexword地址tag ra

2、m數(shù)據(jù)=第6頁/共53頁主存儲器0 x00000 x00100 x00200 x00300 x00400 x00500 x00600 x00700 x00800 x0090Way 0Way 1Set 02-Way, 4 Sets?數(shù)據(jù)=tagindex=tagindexWay 0Way 1目標(biāo)計數(shù)器n替換策略:n隨機(jī)n循環(huán)n最近最少使用 (LRU):當(dāng)前ARM處理器未用第7頁/共53頁nIndex:索引,存儲器地址的一部分,它決定可以存儲cache 行的塊。第8頁/共53頁31 10 9 5 4 2 1 0地址Cache 行53注:每一個地址索引映射到一個cache 行,該行可存于4維的任意一

3、維中(4維結(jié)合)存于 TAG中的地址 (22 位)IndexWordUnusedDataway 0TAGLine 0Line 1Line 30Line 31這里是一個4k cache 的例子: 4 waysx 32 lines (sets)x 8 words = 4kb cachevd0d1v- 有效位 d0,d1 臟位01234567d0d1第9頁/共53頁01234567d0d131 7 6 5 4 2 1 0地址Cache line23注:每個地址索引映射到單一的塊,每個塊可以存儲64不同的地址標(biāo)簽 (64 ways holding 4 lines).存于 TAG中的地址(25 位)In

4、dexWordUnused這里是 ARM922T的例子: 4 setsx 64 lines (ways)x 8 words = 8kb cache用內(nèi)容設(shè)定地址的存儲器 (CAM)DataSet 0TAGLine 0Line 1Line 62Line 63第10頁/共53頁第11頁/共53頁包含32 行 (塊).n單一的目標(biāo)計數(shù)器選擇將要替換的維.n閉鎖固定了計數(shù)器的基值所以該值以下的通道完全免于替換.n閉鎖具有一維的間隔尺寸 (1/4的cache大小).VictimCounterDataway 2TAGLine 0Line 1Line 30Line 31閉鎖行Dataway 0TAGLine

5、 1Line 0Line 30Line 31Dataway 1TAGLine 1Line 0Line 30Line 31Dataway 3TAGLine 0Line 1Line 30Line 31第12頁/共53頁n單一的目標(biāo)計數(shù)器選擇將要替換的維(每個塊中相同數(shù)字的行).n閉鎖固定了計數(shù)器的基值所以該值以下的塊完全免于替換.n閉鎖具有一行的間隔尺寸 (1/64的cache大小).VictimCounter閉鎖行 (通道)Dataset 0TAGLine 62Line 63Line 0Line 1Dataset 1TAGLine 62Line 63Line 0Line 1Dataset 2TA

6、GLine 62Line 63Line 0Line 1Dataset 3TAGLine 62Line 63Line 0Line 1第13頁/共53頁第14頁/共53頁nHCLK 必須能被 CLK整除第15頁/共53頁ignoredBCLKFCLKFastBusn 內(nèi)核及外部總線由BCLK同步.BCLKFCLKAsynchronousn FCLK的頻率必須比 BCLK.高.n 二者相位關(guān)系沒有限制.n ASB操作需 BIU與 BCLK 同步.n 最大個 BCLK 周期的同步延遲.BCLKFCLKSynchronousn FCLK 的頻率必須比 BCLK.高n BCLK 只可以在FCLK 為高期間

7、改變.n ASB操作需 BIU與 BCLK 同步.n 最大1 個BCLK 周期的同步延遲.第16頁/共53頁地址寄存器數(shù)據(jù)寄存器內(nèi)部數(shù)據(jù)總線a0d1a1a2a3d2d3d4d5d6d7內(nèi)核時鐘總線時鐘內(nèi)部地址總線總線接口單元d0第17頁/共53頁第18頁/共53頁CPUCacheWrite BufferAccess Mode 0Non cacheable, non bufferable0GCd GBd0Non cacheable, bufferable11WT, Write Through01WB, Write Back1ExternalMemorynWrite Back:nIf locati

8、on is within the cache, only the cache is updatedCPUCacheWrite BufferAccess Mode 0Non cacheable, non bufferable0GCd GBd0Non cacheable, bufferable11WT, Write Through01WB, Write Back1ExternalMemoryCPUCacheWrite BufferAccess Mode 0Non cacheable, non bufferable0GCd GBd0Non cacheable, bufferable11WT, Wri

9、te Through01WB, Write Back1ExternalMemorynWrite Through:nIf location is within the cache, the cache is updated. nWrite is also sent to memory via the Write Buffer訪問模式 0非 cache, 非緩沖0GCd GBd0非 cache, 可緩沖11WT, 直寫01WB, 回寫1n直寫:n如果位置在cache之內(nèi), cache 將被更新. 數(shù)據(jù)也通過寫緩沖送至存儲器.n回寫:n如果位置在cache之內(nèi),只有 cache 被更新.n注: 如果

10、數(shù)據(jù)位置不在cache之內(nèi), 數(shù)據(jù)將被直接寫到存儲器中。如果存儲器是可cache或可緩沖的,寫緩沖將被使用 。CPUCache寫緩沖外部存儲器wbwt第19頁/共53頁第20頁/共53頁n內(nèi)核通過寫CP15 的寄存器來配置(CDP,LDC,STC)或在非特權(quán)模式使用 MCR/MRC訪問CP15 將導(dǎo)致未定義指令異常.第21頁/共53頁第22頁/共53頁n保護(hù)單元必須在cache使能之前有效第23頁/共53頁0 x25FFFFFF0 x240000000 x1FFFFFFF0 x100000000 x0003FFFF0 x00000000BackgroundSRAMPeripheralsFlas

11、h指令區(qū)域圖n 讀寫n不可cachen 不可緩沖BackgroundSRAMFlashn只讀n可Cachen 只讀n 可Cachen只讀n可Cachen讀寫n 可Cachen 可緩沖數(shù)據(jù)區(qū)域圖.第24頁/共53頁等都通過c1 設(shè)置第25頁/共53頁第26頁/共53頁n第27頁/共53頁保護(hù) & 中止虛擬存儲器物理存儲器 變換和校驗機(jī)制.Process CProcess BProcess AManagerProcess DMMURAMRAMVRAMROMRAMRAMRAM變換表I TLBD TLB第28頁/共53頁第29頁/共53頁n好的間隔尺度要求更多的頁表,因此也需要更多的物理存儲空

12、間!第30頁/共53頁檢查TLB是否包含該虛擬地址虛擬地址得到物理地址頁表浮動得到物理地址是否更新 TLB第31頁/共53頁地址粗略頁表錯誤詳細(xì)頁表段313029282726252423222120191817161514131211109876543210段基地址1AP域選擇C B 1 0粗略的第二級描述基地址1域選擇0 1詳細(xì)的第二級描述基地址1域選擇1 10 0第32頁/共53頁大頁錯誤微頁小頁313029282726252423222120191817161514131211109876543210大頁基地址0 10 0AP3 AP2 AP1 AP0 C B小頁基地址C B1 0AP3

13、 AP2 AP1 AP0微頁基地址1 1C BAP第33頁/共53頁虛擬地址第一級轉(zhuǎn)換頁表CBDomain SelectorAP0 x00011 0CBDomain SelectorAP0 x00211 0CBDomain SelectorAP0 xFFC11 0CBDomain SelectorAP0 xFFF11 0CBDomain SelectorAP0 xFFF11 0CBDomain SelectorAP0 xFFF11 0CBDomain SelectorAP0 xFFF11 00 x002 000000 x003 000000 x004 000000 x001 000000 x0

14、05 000000 x006 000000 xFFF 000000 xFFE 000000 xFFD 000000 xFFC 00000物理地址 4096 項 1 MB 段 1 MB 段 錯誤0 x001 000000 x003 000000 x004 000000 x002 000000 x005 000000 x006 000000 xFFF 000000 xFFE 000000 xFFD 000000 xFFC 000000 x000 000000 x000 000000 00 0Fine Table Base11 1Domain SelectorCoarse Table Base10

15、1Domain Selector粗略第二級轉(zhuǎn)換頁表細(xì)致第二級轉(zhuǎn)換頁表第34頁/共53頁 虛擬地址 第一級頁表項 物理地址 段索引段基地址1AP域C B 1 0段基地址313029282726252423222120191817161514131211109876543210段索引索引進(jìn)入第一級頁表+TTB第35頁/共53頁第二級轉(zhuǎn)換頁表CBAP3Large Page Base0 1AP2 AP1 AP00 0CBAP3Small Page Base1 0AP2 AP1 AP01 1CBTiny Page Base1 1APCBAP3Small Page Base1 0AP2 AP1 AP0CB

16、AP3Large Page Base0 1AP2 AP1 AP00 0 粗略頁表 - 256 項 細(xì)致頁表 - 1024 項微頁1024頁1kB大頁16頁64kB大頁16 頁64kB小頁256 頁4kB小頁256頁4kB錯誤第36頁/共53頁 虛擬地址 物理地址313029282726252423222120191817161514131211109876543210頁索引索引進(jìn)入第一級頁表第一級頁表項 第二級頁表項 頁索引大頁/小頁/微頁基地址索引進(jìn)入第二級頁表大頁/小頁/微頁基地址x xC BAP粗略/細(xì)致第二級描述基地址1頁x 1+TTB+第37頁/共53頁D15 D14 D13 D12

17、 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 31 0nMMU 訪問主要由域控制第38頁/共53頁 Process ID SBZ31 25 24 0n寫操作將更新進(jìn)程標(biāo)識第39頁/共53頁VA24:0進(jìn)程 IDOS進(jìn)程管理VA31:25判決邏輯來自內(nèi)核的指令地址VA31:0MVA31:0修改過的地址送入 Cache和 MMU第40頁/共53頁4 GB32 MB來自內(nèi)核的虛擬地址 (VA)MMU虛擬地址 (MVA)4 GB32 MB0 MB進(jìn)程 IDn如果 ( 0 VA 32 MB ) 則 MVA = (32MB Process ID) + VAP0P1P2P3P

18、4P31P300 MB第41頁/共53頁設(shè)置第42頁/共53頁第43頁/共53頁第44頁/共53頁0 x00000000TCM混疊64MB Instruction Memory64MBData Memory0 x040000000 x08000000128MBAHB Buffered256MBAHB Unbuffered0 x100000000 xFFFFFFFF256MBAHB UnbufferedInstruction Memory 64KBInstruction Alias 1 64KBData Alias 204732KBInstruction Alias 102364KBData M

19、emory 32KBData Alias 132KB0 x000000000 x000100000 x040000000 x040080000 x07FFFFFF0 x03FF00000 x07FF8000物理存儲區(qū)圖第45頁/共53頁TCM存儲器映射內(nèi)核 TCM 存儲器際大小, 將發(fā)生TCM 混淆現(xiàn)象n如果小于其實際大小, 某些存儲空間將不會出現(xiàn)n隨后可以放置在更好的地址n使能后, TCM 不可以重疊1/2 Size1/2 Size0-1024 KBTCM0-1024 KBTCM0-1024 KBTCM (Alias 1)0-1024 KBTCM0-1024 KBTCM (Alias 1)0

20、-1024 KBTCM0-1024 KBTCM1/2 Size1/2 Size0-1024 KBTCM0-1024 KBTCM0-1024 KBTCM (Alias 1)0-1024 KBTCM0-1024 KBTCM (Alias 1)0-1024 KBTCM第46頁/共53頁第47頁/共53頁第48頁/共53頁n更早的 ARM 處理器 - ARM710a, ARM610 等.第49頁/共53頁TM720T740T920T940TSA110926E946E966E1020EXScaleArchitectureVon NeumanVon NeumanHarvardHarvardHarvardH

21、arvardHarvardHarvardHarvardHarvardCache8K Unified4 words/line8K Unified4 words/line16K Instr16K Data8 Words/Line4K Instr4K Data4 Words/Line16K Instr16K Data4 Words/Line4-128K Instr4-128K Data8 Words/Line0-1024K Instr0-1024K Data8 Words/LineNone16K Instr16K Data8 Words/Line32K Instr32K Data8 Words/LineSet Associativity4 way4 way64 way64 way32 way4 way4 wayNA64 way32 wayTightly CoupledSSRAMNoNoNoNoNoYes0-1024K Instr0-1024K DataYes0-1024K Instr0-1024K DataYes0-64M Instr0-64M DataNoNoReplacementRandomRandomRandom/Round RobinRandomRound RobinRandom/Round RobinRa

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論