ARM记忆体管理单元.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM记忆体管理单元.ppt

嵌入式系统教案 祥寶科技股份有限公司 ARM儲存系統概述 與其他中低檔單片機不同,ARM處理器中一般都包含一個記憶體管理部件,用於對記憶體的管理 。 爲了適應不同的嵌入式應用, ARM儲存系統的體系結構存在很多差別。簡單的可以使用如單片機系統中使用的平板式地址映射機制即可;而一些複雜的系統中則可能包含多種技術來提供功能強大的儲存系統 。 ARM所使用的儲存系統技術 系統中可能包含多種類型的記憶體件,如FLASH、ROM、SDRAM、SRAM等;而且不同類型的記憶體件要求不同的速度、資料寬度等 ; 通過CACHE和WRITE BUFFER技術縮小處理器和儲存系統速度差別,從而提高系統性能 ; 記憶體管理單元使用記憶體映射技術實現虛擬空間到真實空間的映射 。 引入儲存保護機制,增強系統的安全性 ; 引入一些機制保證I/O操作映射成記憶體操作後,各種I/O操作能夠得到正確的結果。 S3C44B0X記憶體組織示意圖 用於儲存管理的系統控制協處理寄存器 CP15 在基於ARM的嵌入式系統中,儲存系統通常使用CP15來完成記憶體的大部分管理工作;除了CP15之外,在具體的儲存機制中可能還會用到其他技術如:頁表技術等 。 CP15可以保護16個32位的寄存器,編號0-15。實際上對於某些編號的寄存器可能對應有多個物理寄存器,在指令中指定特定的標誌位元來區分相應的寄存器 。 CP15寄存器列表-1 CP15寄存器列表-2 CP15寄存器列表-3 存取CP15寄存器的指令 存取CP15寄存器的指令有如下兩條 : MCR Register - Coprocessor Register MRC Coprocessor Register - Register 注意:這兩條指令只能在系統模式下執行;在用戶模式下執行該指令將引起異常 。 MCR 存取CP15 指令語法 MCR {cond} p15, op1, Rd,CRn,CRm{, op2} MCR2 p15, op1, Rd,CRn,CRm{, op2} OP1爲輔助運算器將執行的操作的代碼。對於CP15來說,該值必須爲 0; Rd爲源寄存器,其值將被傳送到輔助運算器中;該寄存器不能爲PC ; CRn是輔助運算器的目標寄存器,可以是C0-15 ;是附加的目標寄存器或源運算元寄存器,用於區分同一編號的不同物理寄存器,當指令中不需要附加資訊時要將C0指定爲CRm ; OP2也提供附加資訊,用於區分同一編號的不同物理寄存器,當指令中不需要附加資訊時,可以省略或者將其置0 。 MCR存取CP15示例 MCR P15, 0, R4, C1, C0, 0 上述指令從ARM寄存器R4中將資料傳送到輔助運算器CP15的寄存器C1中。其中R4爲ARM寄存器,存放源運算元;C1和C0爲輔助運算器寄存器,爲目標寄存器;操作碼1爲0,操作碼附加資訊也爲0 。 MRC存取CP15 指令语法 MRC {cond} p15, op1, Rd,CRn,CRm{, op2} MRC2 p15, op1, Rd,CRn,CRm{, op2} OP1爲輔助運算器將執行的操作的代碼。對於CP15來說,該值必須爲0 ; Rd爲目標寄存器,指令處理的結果將存放在該寄存器中 ; CRn是輔助運算器寄存器,存放第一個源運算元 ; CRm是附加的源運算元寄存器,用於區分同一編號的不同物理寄存器,當指令中不需要附加資訊時要將C0指定爲CRm ; OP2也提供附加資訊,用於區分同一編號的不同物理寄存器,當指令中不需要附加資訊時,可以省略或者將其置0 。 儲存管理單元MMU的作用 實現虛擬位址空間到物理儲存空間的映射 ; 記憶體存取許可權的控制 ; 設置虛擬儲存空間的緩衝特性。 頁表是實現上述功能的一個重要手段,它實際上是位於記憶體中的一個對照表。 記憶體單元的段頁式管理 爲了實現不同層次的管理,系統提供了基於段或頁的記憶體存取方式 段(section):由1MB 的記憶體塊構成 大頁(large page):由64KB 的記憶體塊構成 小頁(small page):由4KB 的記憶體塊構成 微頁(tiny page):由1KB 的記憶體塊構成 用於儲存管理的頁表 地址變換條目:頁表的每一行對應與虛擬位址空間的一個頁,該行同時保含了該虛擬記憶體頁對應的實體記憶體頁的地址、該頁的存取許可權以及緩衝特性等。我們將頁表中的一行稱爲地址變換條目 。 頁表存放在記憶體中,系統通常有一個寄存器來保存頁表的基底位址。ARM系統中使用的就是CP15的寄存器C2。 快表:從虛擬位址到物理位址的轉換實際上就是查詢頁表的過程。由於程式在執行過程中具有局部性,

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档