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

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

ID:30776559

大小:484.50 KB

页数:11页

时间:2019-01-03

arm920t虚拟地址原理分析及实现_第1页
arm920t虚拟地址原理分析及实现_第2页
arm920t虚拟地址原理分析及实现_第3页
arm920t虚拟地址原理分析及实现_第4页
arm920t虚拟地址原理分析及实现_第5页
资源描述:

《arm920t虚拟地址原理分析及实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第五章虚拟内存及缓冲区管理在刚开始接触TQ2440并测试TEST程序时,当时就产生了一个疑惑,把程序下载到NAND和SDRAM中,其中断均能正确执行,当时以为,程序有可能采用了动态添加中断向量技术,即在SDRAM中运行时在向量0x18处添加跳转指令的二进制编码。虽然能够实现,但在实际编程时会非常麻烦。ARM采用了虚拟内存映射技术即MMU,负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查,通过使用CACHE及WRITEBUFFER技术缩小处理器和存储系统的差别,从而提高系统的整体性能。在系统加电时,将R0M/FLASII

2、映射为地址0,进行一些初始化工作并将程序加载到SDRAM中去,然后启用MMU,将虚拟地址0映射到SDRAM地址(0x30000000),这样当中断产生时读取0x18处的指令时实际读取的是0x30000018处的指令,这样屮断就就可以正确执行。S3c2440内存管理单元有如下特征:4种映射长度,段1M、大页64k、小页4k,极小页lk指令TLB(含64个条目)、数据TLB(含64个条目)硬件访问页表地址映射、权限检查由硬件自动完成第一节CP15寄存器的功能及读写ARM的虚拟地址管理主要通过CP15相关寄存器来实现的,CP15包括了16

3、个32位寄存器,编号为0~15,实际上对于某些编号的寄存器可能对应有多个物理寄存器,在指令编码时指定标志位来区分。CP15寄存器功能编号MMU功能coID编码(只读)Cl开启/禁止MMU/CACIIE/WRITE等功能C2地址转换表基地址03域访问控制C4保留C5内存失效状态C6内存失效状态C7CACHE及WRITE控制08TLB控制C9CACHE锁定CIOTLB锁定Cll保留C12保留C13进程P1DC14保留C15CP15寄存器的读写MCRARM寄存器到协处理器寄存器数据传送MRC协处理器寄存器到ARM寄存器数据传送格式:MCR

4、/MRCP15,0,,,,{,<0PC0DE_2»其屮RD为ARM寄存器CRN为协处理器寄存器CRM附加的目标寄存器或源操作数寄存器,用于区分一个编号的不同物理寄存器,当指令不需要提供附加信息时,将CRMC0指定为,OPCODE2指定为0MCRP15,0,R4,Cl,C0,0R4->C1MRCP15,0,R4,Cl,C0,0R4<-C1Cl寄存器位相关功能M[0]:0禁止I1启用MMUA[l]:0禁止地址对齐检查丨1使能地址对齐检查C⑵:0禁止数据CACHE

5、1使能数据CACHEW[3]:0禁止写缓冲I1

6、使能写缓冲1[12]:0禁止代码CACHEI1使能代码CACHE第二节地址转换过程MMU地址转换过程及描述符定义描述符定义:第一级段、粗页和细页描述符类型31—2019—12111098—5彳3210粗页二级页表基地址[31:10]Domain101段物理地址基地址[31:20]APDomain1CB10细页二级页表基地址[31:12]Domain111第二级极大页、小页和极小页描述符31—1615-1211109-87-65-43210极大物理地址基地址[31:16]64kAp3Ap2AplApOCB01小页物理地址基地址[31:

7、12]4kAp3Ap2AplApOCB10极小物理地址基地址[31:10]lkapCB11艰拟地址空间到物理地址空I'可映射是以内存块为单位进行的,即虚拟存储空间中一块连续的存储空间被映射成物理存储空间中同样大小的一块连续存储空间,每一个描述符实际记录了一个虚拟地址与物理地址之间的对应关系,ARM支持多种地址变换。通常,以段为单位的地址变换过程只需要一级页表,而以页为单位的地址变换过程还需要二级页表。地址转换过程1.从CP15寄存器C2得到一级页表的基地址2.将虚拟地址[31:20]作为页表的索引,得到页表中该虚拟地址的描述符。3.

8、判断该描述符是否为段描述符,如为段描述符,将该描述符[31:20]和虚拟地址[19:0]作为偏移量组成一个32位的物理地址进行访问。4.如为粗页表描述符,则将该粗页表描述符[31:10]作为二级页表的基地址,并将虚拟地址[19:12]位作为索引得到在二级页表中该虚拟地址的描述符。判断二级页表符的类型①为极大页描述符表将该描述符[31:16]作为基地和虚拟地址[15:0]作为偏移量得到该虚拟地址的32位物理地址进行访问。②为小页描述符表将描述符[31:12]作为基地和虚拟地址[11:0]作为偏移量得到该虚拟地址的32位物理地址进行访问

9、。5.如为细页表描述符,将该组页表描述符[31:12]作为二级页表的基地址,并将虚拟地址[19:10]位作为索引得到在二级页表中该虚拟地址的描述符。判断二级页表符的类型①为大页描述符表将该描述符[31:16]作为基地和熄拟地址[15:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。