新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:存儲管理單元MMU

        ARM存儲器之:存儲管理單元MMU

        作者: 時間:2013-09-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257009.htm

        引起存儲訪問失效的存儲訪問類型如表15.32所示。

        表中,對齊失效的編碼可以為0b0001或0b0011。

        表15.32 存儲訪問失效的存儲訪問類型

        優先級

        引起存儲訪問失效的原因

        失效狀態字段

        域字段

        失效地址寄存器c6

        最高

        極端異常(TerminalException)

        0b0010

        無效

        生產商定義

        中斷向量訪問異常(VectorException)

        0b0000

        無效

        有效

        地址對齊(Alignment)

        0b00x1

        無效

        有效

        擴展地址變換失效(頁表訪問失效)

        一級頁表

        0b1100

        有效

        有效

        二級頁表

        0b1110

        無效

        有效

        地址變換失效

        段失效

        0b0101

        無效

        有效

        頁失效

        0b0111

        有效

        有效

        域控制失效

        段失效

        0b1001

        有效

        有效

        頁失效

        0b1011

        有效

        有效

        訪問權限控制失效

        段失效

        0b1101

        有效

        有效

        頁失效

        0b1111

        有效

        有效

        基于Cache的外部存儲訪問系統異常

        段失效

        0b0100

        有效

        有效

        頁失效

        0b0110

        有效

        有效

        最低

        非Cache預取時外部存儲訪問異常

        段失效

        0b1000

        有效

        有效

        頁失效

        0b1010

        有效

        有效

        在域控制字段(bits[3:0])中存在無效值,是因為無效發生在域訪問之前。

        當不同的存儲訪問類型同時引起存儲訪問失效時,按照優先級由高到低的次序,先保存優先級高的存儲訪問失效相關信息,在表中各存儲訪問優先級由上到下依次遞減。

        圖15.36顯示了判斷存儲訪問失效的全過程。

        下面分別介紹各種類型的存儲訪問失效方式。

        ①極端異常(terminalexception)

        極端異常指的是發生了不可恢復的存儲訪問失效。具體屬于哪種情況,有生產商定義。

        ②中斷向量訪問異常(vectorexception)

        在數據訪問周期,如果訪問異常中斷向量表(地址0x0到0x1f)時發生存儲訪問失效,這種存儲訪問失效稱為中斷向量訪問異常。當被禁止時是否產生中斷向量訪問異常由生產商決定。

        ③地址對齊失效

        在數據訪問周期,如果訪問字單元地址時地址bits[1:0]位不是0b00,或者訪問半字單元時地址bits[0]位不是0b0,則產生的存儲訪問失效稱為地址對齊失效。在指令預取周期不會產生地址對齊失效。在數據訪問周期,如果訪問字節單位,不會產生地址訪問失效。

        ④地址變換失效

        有兩種類型的地址變換失效。一種是基于段的地址變換失效,它指當一級頁表描述符的位bits[1:0]=0b00時,表示該一級描述符頁表項無效,這時產生基于段的地址變換失效。第二種是基于頁的地址變換失效。當二級描述符的位bits[1:0]=0b00時,表示該二級描述符頁表項無效,這時產生基于頁的地址變換失效。

        圖15.36判斷存儲訪問失效的全過程。

        存儲器相關文章:存儲器原理




        關鍵詞: ARM 存儲管理單元 MMU

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鲁甸县| 洛浦县| 张北县| 金坛市| 海淀区| 秀山| 巩义市| 德兴市| 溧阳市| 穆棱市| 定边县| 江安县| 偃师市| 冀州市| 喀喇| 石棉县| 介休市| 金阳县| 乌拉特前旗| 肃宁县| 郯城县| 华坪县| 互助| 佳木斯市| 城固县| 昌江| 湘西| 休宁县| 东至县| 连城县| 泌阳县| 武平县| 远安县| 增城市| 康定县| 鹿邑县| 伊金霍洛旗| 兴和县| 汉中市| 成都市| 于都县|