电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

ARM920T虚拟地址原理分析及实现

ARM920T虚拟地址原理分析及实现_第1页
1/12
ARM920T虚拟地址原理分析及实现_第2页
2/12
ARM920T虚拟地址原理分析及实现_第3页
3/12
第五章 虚拟内存及缓冲区管理 在刚开始接触 TQ2440并测试 TEST程序时,当时就产生了一个疑惑,把程序下载到 NAND和 SDRAM中,其中断均能正确执行,当时以为,程序有可能采用了动态添加中断向量技术,即在 SDRAM中运行时在向量 0x18处添加跳转指令的二进制编码。虽然能够实现,但在实际编程时会非常麻烦。 ARM采用了虚拟内存映射技术即 MMU,负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查,通过使用 CACHE及 WRITE BUFFER技术缩小处理器和存储系统的差别,从而提高系统的整体性能。 在系统加电时,将 ROM/FLASH映射为地址 0,进行一些初始化工作并将程序加载到 SDRAM中去,然后启用 MMU,将虚拟地址 0映射到 SDRAM地址(0x30000000),这样当中断产生时读取0x18处的指令时实际读取的是0x30000018处的指令,这样中断就就可以正确执行。 S3c2440内存管理单元有如下特征: 4种映射长度,段1M、大页 64k、小页 4k,极小页 1k 指令 TLB(含 64个条目)、数据 TLB(含 64个条目) 硬件访问页表地址映射、权限检查由硬件自动完成 第一节 CP15寄存器的功能及读写 ARM的虚拟地址管理主要通过 CP15相关寄存器来实现的,CP15包括了 16个 32位寄存器,编号为 0~15,实际上对于某些编号的寄存器可能对应有多个物理寄存器,在指令编码时指定标志位来区分。 CP15寄存器功能 编号 MMU功能 C0 ID编码(只读) C1 开启/禁止 MMU/CACHE/WRITE等功能 C2 地址转换表基地址 C3 域访问控制 C4 保留 C5 内存失效状态 C6 内存失效状态 C7 CACHE及 WRITE控制 C8 TLB控制 C9 CACHE锁定 C10 TLB锁定 C11 保留 C12 保留 C13 进程 PID C14 保留 C15 CP15寄存器的读写 MCR ARM寄存器到协处理器寄存器数据传送 MRC 协处理器寄存器到 ARM寄存器数据传送 格式: MCR/MRC P15,0,,,,{,} 其中RD为ARM寄存器 CRN为协处理器寄存器 CRM附加的目标寄存器或源操作数寄存器,用于区分一个编号的不同物理寄存器,当指令不需要提供附加信息时,将CRMC0指定为,OPCODE_2指定为0 MCR P15,0,R4,C1,C0,0 R4->C1 MRC P15,0,R4,C1,C0,0 R4<-C1 C1寄存器位相关功能 M[0]:0禁止|1启用MMU A[1]:0禁止地址对齐检查|1使能地址对齐检查 C[2]:0禁止数据CACHE|1使能数据CACHE W[3]:0禁止写缓冲|1使能写缓冲 I[12]:0禁止代码CACHE|1使能代码CACHE 第二节 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

ARM920T虚拟地址原理分析及实现

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部