新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM核920T性能優(yōu)化之MMU

ARM核920T性能優(yōu)化之MMU

作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏


任務(wù)切換需要以下步驟:

1)保存活躍任務(wù)的上下文,并將該任務(wù)置于睡眠態(tài);

2)清除cache,如果使用回寫策略,則需要清理D-cache;

3)清除TLB,從而移除原任務(wù)的轉(zhuǎn)換數(shù)據(jù);

4)配置MMU,以使用新的頁表,把虛擬運行空間轉(zhuǎn)換為被喚醒任務(wù)在物理存儲器中的位置;

5)恢復(fù)被喚醒任務(wù)的上下文

6)繼續(xù)執(zhí)行恢復(fù)的任務(wù)

二.頁表

ARM MMU硬件采用2級頁表結(jié)構(gòu):一級頁表(L1)和二級頁表(L2)。一級頁表只有一個L1主頁表(L1 master page table)。L1主頁表包含兩種類型的頁表項:保存指向二級頁表起始地址指針的頁表項和保存用于轉(zhuǎn)換1MB段的頁表項。L1主頁表也稱為段頁表(section page table)。L1主頁表將4GB的地址空間劃分為多個1MB的段(section),因此L1頁表包含4096個頁表項,L1主頁表是一個混合表,可作為L2頁表的頁目錄,也可作為用于轉(zhuǎn)換1MB虛擬空間的L2粗(coarse)頁表或L2細(xì)(fine)頁表的指針;當(dāng)L1頁表用于轉(zhuǎn)換一個1MB的段時,其頁表項(PTE)包含的是物理存儲器中1MB頁幀(page frame)的首地址。目錄頁表項和1MB的段頁表項可以共存于L1主頁表。


一級頁表項:

一級頁表支持4種類型的頁表項:

1)1MB段轉(zhuǎn)換項

2)指向L2細(xì)頁表的目錄項

3)指向L2粗頁表的目錄項

4)產(chǎn)生中止異常的錯誤項


二級頁表項:

L2頁表有4種可能的頁表項:

1)定義64KB頁幀屬性的大(large)頁表項;

2)定義4KB頁幀的?。╯mall)頁表項;

3)定義1KB頁幀的微(tiny)頁表項;

4)訪問時產(chǎn)生頁錯誤中止異常的錯誤頁表項;



L1轉(zhuǎn)換表基址

CP15:c2寄存器保存轉(zhuǎn)換表基地址TTB(Translation Table Base address)-指向L1主頁表在虛存中的位置。CP15:c2寄存器的格式如圖:


三.轉(zhuǎn)換旁路緩沖器(TLB)

單步頁表搜索:

如果MMU搜索的是1MB大小的段頁,則硬件能用單步搜索找到所要的頁表項,因為1MB的頁表項是存放在L1主頁表里的。


關(guān)鍵詞: ARM核920T性能優(yōu)化MM

評論


技術(shù)專區(qū)

關(guān)閉