版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1存儲管理虛擬存儲的基本原理MIPS處理器對虛存系統(tǒng)的支持LINUX操作系統(tǒng)的存儲管理TLB的性能分析和優(yōu)化2虛擬存儲的基本原理3虛擬存儲原理虛擬存儲的提出和實現(xiàn)是計算機(jī)系統(tǒng)發(fā)展過程中有里程碑作用的事件多進(jìn)程環(huán)境下統(tǒng)一的編程空間多進(jìn)程環(huán)境下的共享與保護(hù)支持大于實際物理內(nèi)存的編程空間虛實地址分開,建立一種從虛地址空間映射到物理內(nèi)存的機(jī)制把兩個層次的存儲轉(zhuǎn)換為一個層次的存儲物理內(nèi)存實際上是磁盤的一個Cache4虛實地址轉(zhuǎn)換與頁表在頁的范圍內(nèi),虛實地址相等TLB是頁表的cacheVirtualPageNumberPageOffsetPageTableMainMemoryPhysicalPageFrame
TLB5多級頁表SegmentSelectorLevel1Level2Level3PageOffsetL2pagetablePTentry+L3pagetablePTentry+L1pagetablePTentry+Pagetablebaseregister合法性檢查6TLBTLB實際上是操作系統(tǒng)中頁表的CacheTLB主要負(fù)責(zé)完成用戶空間到物理空間的轉(zhuǎn)化一般與Cache訪問同時進(jìn)行TLB訪問失效時需要把相應(yīng)的頁表項從內(nèi)存取進(jìn)TLBTLB中還有保護(hù)位7Cache和虛擬存儲比較內(nèi)容Cache虛擬存儲調(diào)度單位塊(16B-128B)頁(4KB-64KB)命中延遲1-3時鐘周期50-150時鐘周期失效延遲8-150時鐘周期1,000,000-10,000,000時鐘周期失效率0.1-10%0.00001-0.001%映射前地址25-45位物理地址32-64位虛地址映射后地址14-20位cache地址25-45位物理地址映射者硬件硬件(TLB)+操作系統(tǒng)組織方式直接相聯(lián)、組相聯(lián)、全相聯(lián)全相聯(lián)、組相聯(lián)(PageColoring)替換方式隨機(jī)、FIFO、LRULRU寫回方式Write-back、Write-throughWrite-back8MIPS處理器對虛存系統(tǒng)的支持9MIPS處理器對虛擬存儲的支持分段,段內(nèi)分頁TLB特殊的控制寄存器特殊指令專用的例外入口10MIPS的訪問權(quán)限UsermodeEXL=0andERL=0andKSU=10SupervisormodeEXL=0andERL=0andKSU=01KernelmodeEXL=1orERL=1orKSU=0011MIPS存儲空間分段情況地址范圍容量映射方式Cached訪問權(quán)限0xe0000000-0xffffffff0.5GB查找TLBYes(TLB)Kernel0xc0000000-0xdfffffff0.5GB查找TLBYes(TLB)Kernel,Supervisor0xa0000000-0xbfffffff0.5GB地址-0xa0000000NoKernel0x80000000-0x9fffffff0.5GB地址-0x80000000Yes(Config)Kernel0x00000000-0x7fffffff2GB查找TLBYes(TLB)Kernel,Supervisor,User32位模式12MIPS的TLB及相關(guān)控制寄存器32位模式全相聯(lián)32-64項13與TLB管理有關(guān)的指令MFC0,MTC0在通用寄存器和控制寄存器之間搬運數(shù)據(jù)TLBR以Index寄存器為索引把TLB內(nèi)容讀到PageMask、EntryHi和EntryLo0/1等寄存器TLBP檢查EntryHi中指定的虛頁是否在TLB中TLBWR,TLBWI分別以Random和Index寄存器為索引把Pagemask、EntryHi和EntryLo0/1寄存器的內(nèi)容寫入TLB14發(fā)生TLB例外時硬件處理過程置BadVaddr,Context,EntryHi,PC=例外入口地址TLBRefill入口=0x80000000其它入口=0x80000180置Status,Cause15TLB例外類型Refill如果查找TLB沒有找到一個虛地址匹配(VPN2+ASID/G)例外入口:80000000(除非exl=1)TLBinvalid如果找到一個虛地址匹配項,但其v=0例外入口:80000180細(xì)分為兩種:TLBLforloads,TLBSforstoresTLBmodify如果找到一個虛地址匹配項,其v=1,但D=0且訪問為store例外入口8000018016例外返回例外處理器在核心態(tài)下進(jìn)行不允許在核心態(tài)下執(zhí)行一條用戶指令不允許在用戶態(tài)下執(zhí)行指令核心指令例外返回的兩種方式j(luò)r+mtc0:mtc0必須在jr的延遲槽中eret:eret沒有延遲槽17一種虛擬存儲實現(xiàn)方式使得發(fā)生例外時context寄存器指向頁表中相應(yīng)項一維線性頁表內(nèi)存頁表每項8個字節(jié),每對頁面占用16字節(jié)頁表進(jìn)程切換時操作系統(tǒng)更改context寄存器中pte_base域,使其指向該進(jìn)程的頁表基地址一維線性頁表需要很大的空間,不能全部分配物理內(nèi)存放在kernelmapped的kseg2/kseg3段需要解決TLBrefill重入問題18TLBrefill過程pte_basevpn20EntryHiPageMaskEntryLo0EntryLo1
TLB
內(nèi)存頁表lw+mtc0tlbwrOrtlbwi632322430Context19TLBrefill代碼setnoreorder.setnoatTLBmissR4K:DMFC0k1,C0_CONTEXT#(1)NOP#(2)LWk0,0(k1)#(3)LWk1,8(k1)#(4)MTC0k0,C0_ENTRYLO0#(5)MTC0k1,C0_ENTRYLO1#(6)NOP#(7)TLBWR#(8)ERET#(9).setat.setreorder20LINUX操作系統(tǒng)的存儲管理21Linux/mips虛擬存儲管理虛擬地址空間頁表和TLB頁表組織例外處理函數(shù)一些優(yōu)化22Linux/MIPS虛擬地址空間安排0xFFFFFFFF
0xC0000000mapped(kseg2/3)內(nèi)核模塊vmalloc0xA0000000Unmappeduncached(kseg1)Uncachedphymem,ROM,Register,PCIIO/MEMetc.
0x80000000Unmappedcached(kseg0)
內(nèi)核數(shù)據(jù)和代碼
0x0000000032-bituserspace(kuseg)(2GB)23內(nèi)存中的頁表組織(32位情況)兩級頁表,每項4個字節(jié)PFN:物理幀號Flags:V、C、DExts:軟件擴(kuò)展位,用于維護(hù)一些硬件沒有實現(xiàn)的功能,例如ref位,modified位頁表存放在kseg0頁表訪問不引起TLB例外頁表存儲空間在使用到的時候分配每個進(jìn)程的頁表基地址存放在進(jìn)程上下文中24Linux/MIPS的兩層頁表25Linux的tlb重填代碼(共18條指令)
mfc0 k0,CP0_BADVADDR#取發(fā)生tlbmiss的地址
srl k0,k0,22#最高10位是第一級頁表的索引
lw k1,pgd_current #取頁表入口指針
sll k0,k0,2#每項4個字節(jié),所以索引*4=偏移
addu k1,k1,k0#*k1指向下一級頁表入口
mfc0 k0,CP0_CONTEXT#context包含失效的虛頁號
lw k1,(k1)#取出第二級頁表
srl k0,k0,1 and k0,k0,0xff8#算出第二級頁表的偏移
addu k1,k1,k0 lw k0,0(k1)#成對存放,一個偶數(shù)頁
lw k1,4(k1)#加一個奇數(shù)頁
srl k0,k0,6#移出6位軟件用的位
mtc0 k0,CP0_ENTRYLO0#寫入偶數(shù)頁表項
srl k1,k1,6 mtc0 k1,CP0_ENTRYLO1#寫入奇數(shù)頁表項
tlbwr#寫入TLB的一個隨機(jī)項
eret#異常返回26例子Array=(int*)malloc(0x1000)用戶程序malloc(0x1000)返回虛地址0x450000操作系統(tǒng)在該進(jìn)程的vma_struct鏈表中記錄地址范圍0x450000-0x4501000為已分配地址,可讀可寫For(I=0;I<1024;I++)Array[i]=0用戶程序試圖寫0x450000,TLB查找失敗,引起tlbrefill例外Tlbrefill從相應(yīng)頁表位置取入頁表內(nèi)容填入TLB。但該頁表還沒初始化例外返回到用戶程序,重新開始訪問TLB表項找到,但是無效,發(fā)生TLBInvalid例外操作系統(tǒng)查找vma_struct,判斷該地址已分配,處于可寫狀態(tài),因此為它分配物理頁面,并將物理地址填入頁表,更新TLB例外返回,寫操作再次重試,成功。用戶程序繼續(xù)寫0x450004,008…,因為TLB項已經(jīng)存在,將全速運行,除非中間發(fā)生進(jìn)程切換導(dǎo)致其TLB項被換出。如果發(fā)生被換出的情況,再次運行時將發(fā)生refill例外從頁表取得有效內(nèi)容,不會再發(fā)生invalid例外(因此,refill頻率>>invalid)為什么要分成兩次例外?27Linux/MIPS中TLB例外的處理tlbrefillexception(0x80000000):(1)getbadvaddr,pgd(2)ptetableptr=badvaddr>>22<2+pgd,(3)getcontext,offset=context>>1&0xff8(bit21-13+threezero),(4)loadoffset(ptetableptr)andoffset+4(ptetableptr),*(5)rightshift6bits,writetoentrylo[01],(6)tlbwrtlbmodifiedexception(handle_mod):(1)loadpte,*(2)if_PAGE_WRITEset,setACCESSED|MODIFIED|VALID|DIRTY,reloadtlb,tlbwi elseDO_FAULT(1)tlbloadexception(handle_tlbl):(1)loadpte(2)if_PAGE_PRESENT&&_PAGE_READ,setACCESSED|VALIDelseDO_FAULT(0)tlbstoreexception(handle_tlbs):(1)loadpte*(2)if_PAGE_PRESENT&&_PAGE_WRITE,setACCESSED|MODIFIED|VALID|DIRTYelseDO_FAULT(1)28TLB的性能分析和優(yōu)化29TLB性能分析和一些優(yōu)化一些數(shù)據(jù)優(yōu)化思路30TLB相關(guān)性能
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年建筑消防改造施工合同
- 2024年新型混凝土路面施工合同
- 2024-2030年礦物瀝青混合機(jī)器公司技術(shù)改造及擴(kuò)產(chǎn)項目可行性研究報告
- 2024-2030年版中國老健康服務(wù)行業(yè)運營管理模式及投資規(guī)劃建議報告
- 2024-2030年版中國建筑檢測行業(yè)發(fā)展?jié)摿巴顿Y規(guī)模分析報告
- 2024-2030年水性建筑晴雨漆搬遷改造項目可行性研究報告
- 2024-2030年新版中國金香品雪項目可行性研究報告
- 2024-2030年新版中國刀刨具項目可行性研究報告
- 2023年多通道腦電圖機(jī)投資申請報告
- 2024-2030年北京市餐飲行業(yè)發(fā)展趨勢及投資經(jīng)營模式分析報告
- 輪扣式模板支撐架安全專項施工方案
- 酒店裝飾裝修工程驗收表
- 中國行業(yè)分類代碼表
- 社會組織協(xié)會換屆選舉會議主持詞
- 呼吸科(呼吸與危重癥醫(yī)學(xué)科)出科理論試題及答案
- 清新個人工作述職報告PPT模板
- 公路工程通用(專用)合同條款匯編.
- 工程施工現(xiàn)場及常用對話場景英語集錦
- 肺癌的靶向治療法PPT課件.ppt
- 凸透鏡成像規(guī)律動畫演示
- 專賣店空間設(shè)計(課堂PPT)
評論
0/150
提交評論