JZ2440_4_MMU

来源:互联网 发布:python pdf转html代码 编辑:程序博客网 时间:2024/06/05 05:28
推荐书目: 《ARM体系架构与编程》
嵌入式汇编:    《LINUX内核完全注释》


MMU介绍
1.权限管理
比如windows,windows同一时间只能一个程序在跑,而且每个程序相互之间没有权限访问,所以其中一个程序写的再糟糕不会影响到其他程序
2.地址映射


windows
虚拟地址--->MMU--->物理地址(实际地址)
JZ2440
启动MMU
CPU--(虚拟地址)-->MMU--(物理地址)-->储存管理器--->实际硬件(如:SDRAM)
不启动MMU
CPU--(物理地址)-->储存管理器--(物理地址)-->实际硬件(如:SDRAM)

CPU只关心发出地址(不管是什么虚拟地址和物理地址,虚拟地址和物理地址只和是否开启MMU有关)和读数据


写程序的时候的链接地址是一个单纯的地址,没有虚拟地址和物理地址的概念


虚拟地址怎么转换为物理地址?
ARM架构通过表格从虚拟地址转换为物理地址,32位的最大访问地址为4G

转换表格里分段、大页、小页、极小页。


段映射?
每一段对应的表项可以映射的地址是1M,32为一共访问4G的地址,需要多少个段呢?需要4G/1M = 4096个段(虚拟地址可以访问的物理地址都是1M的整数倍)
以表格的形式联通虚拟地址和物理地址的关系步骤
1.建立表格即映射2.把表格地址告诉MMU3.启动MMU

MMU有加快程序运行的功能(DataCash和InstructionCash功能)
原创粉丝点击