ARM MMU简介

本文详细介绍了ARM MMU中CP15寄存器的使用,包括C0到C13寄存器的功能和访问指令。接着阐述了MMU的工作原理,涉及虚拟地址、变换后的虚拟地址和物理地址的转换。最后提供了一个MMU编程实例,展示了如何以段方式映射内存地址,创建一级页表,并启用MMU。
摘要由CSDN通过智能技术生成

一. CP15寄存器

mcr

ARM处理器的寄存器中的数据写到CP15中的寄存器中

mrc

CP15中的寄存器中的数据读到ARM处理器的寄存器中

4.1.2 CP15寄存器介绍

寄存器编号

基本作用

MMU中的作用

PU中的作用

0

ID编码(只读)

ID编码和cache类型

1

控制位(可读写)

各种控制位

2

存储保护和控制

地址转换表基地址

Cachability的控制位

3

存储保护和控制

域访问控制位

Bufferablity控制位

5

存储保护和控制

内存失效状态

访问权限控制位

6

存储保护和控制

内存失效地址

保护区域控制

7

高速缓存和写缓存

高速缓存和写缓存控制

8

存储保护和控制

TLB控制

保留

9

高速缓存和写缓存

高速缓存锁定

10

存储保护和控制

TLB锁定

保留

13

进程标识符

进程标识符

CP15的寄存器C0

CP15中寄存器C0对应两个标识符寄存器,由访问CP15中的寄存器指令中的<opcode_2>指定要访问哪个具体物理寄存器,<opcode_2>与两个标识符寄存器的对应关系如下所示:

0b000

主标识符寄存器

0b001

cache类型标识符寄存器

1)主标识符寄存器

访问主标识符寄存器的指令格式如下所示:

mrc p15, 0, r0, c0, c0, 0 ;将主标识符寄存器C0,0的值读到r0

ARM不同版本体系处理器中主标识符寄存器的编码格式说明如下。

ARM7之后处理器的主标识符寄存器编码格式如下所示:

31 24 23 20 19 16 15 4 3 0

由生产商确定

产品子编号

ARM体系版本号

产品主编号

处理器版本号

说 明

[3: 0]

生产商定义的处理器版本号

[15: 4]

生产商定义的产品主编号,最高4位可能的取值为0~7但不能是07

[19: 16]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值