新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM核920T性能優化之MMU

        ARM核920T性能優化之MMU

        作者: 時間:2016-12-02 來源:網絡 收藏


        任務切換需要以下步驟:

        1)保存活躍任務的上下文,并將該任務置于睡眠態;

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

        3)清除TLB,從而移除原任務的轉換數據;

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

        5)恢復被喚醒任務的上下文

        6)繼續執行恢復的任務

        二.頁表

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


        一級頁表項:

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

        1)1MB段轉換項

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

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

        4)產生中止異常的錯誤項


        二級頁表項:

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

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

        2)定義4KB頁幀的小(small)頁表項;

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

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



        L1轉換表基址

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


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

        單步頁表搜索:

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


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 昔阳县| 文山县| 徐汇区| 荥经县| 宁津县| 南京市| 股票| 琼海市| 扶风县| 陵川县| 鹤壁市| 广州市| 湖南省| 广丰县| 开平市| 邹平县| 广昌县| 社旗县| 池州市| 库伦旗| 讷河市| 塔城市| 达日县| 岑溪市| 鸡西市| 积石山| 商水县| 昌平区| 宁南县| 镶黄旗| 黔江区| 道真| 获嘉县| 敦煌市| 黎川县| 稻城县| 隆林| 翁牛特旗| 阳信县| 盐津县| 剑川县|