MMU内存管理单元(3)-系统控制协处理器CP15

来源:互联网 发布:添加网络打印机步骤xp 编辑:程序博客网 时间:2024/06/05 06:29

CP15是用于ARM存储管理的系统控制协处理器,并非CPU核外部件。它属于MMU(存储管理单元的)的一部分,起控制作用。CP15有16个32位寄存器c0-c15。和ARM核类似有些寄存器存在影子寄存器,即名称相同但是在不同模式下表示不同的寄存器。CP15指令中指定特定的标志位来区分这些寄存器。
MCR:把ARM处理器寄存器内容传到CP15寄存器中
MRC:把CP15寄存器内容传到ARM寄存器中
MCR p15, 0, rx, cx1, cx2,
1 2 3 4 5 6 7
1:cond条件码,无条件执行则忽略
3:这里0是操作码1(opcode1),p15固定为0
4:ARM寄存器
5:CP15寄存器c0-c15
6:附加寄存器,用于区分统一编号不同寄存器,无需附加信息则指定为c0
7:用于区分统一编号不同寄存器,无需附加信息则指定为0
例:把ARM r4寄存器内容传送到c1
MCR p15, 0 ,r4, c1, c0, 0
CP15中寄存器:

寄存器 作用 c0 ID编号和cache类型 c1 各种控制位 c2 地址转换表基址 c3 域访问控制位 c4 保留 c5 内存失效状态 c6 内存失效地址 c7 高速缓存和写缓存控制 c8 TLB控制 c9 高速缓存锁定 c10 TLB锁定 c11 保留 c12 保留 c13 进程标识符 c14 保留

c0:操作码opcode2=0,c0为存放ARM处理器信息;opcode2=1,c0存放cache属性信息。
opcode2=0

31-24 23-20 19-16 15-4 3-0 厂商决定 产品子编号 ARM体系版本号 产品主编号 处理器版本号

opcode2=1

31-29 28-25 24 23-12 11-0 000 属性 指令和数据cache是否分开 数据cacae相关属性 指令cache相关属性

[23:12]和[11:0]结构类似

11-9 8-6 5-3 2 1-0 000 容量 其他属性 M 块大小

控制寄存器c1,[31-16]保留,介绍重要的几位
M,bit[0]=1使能MMU
A,bit[1]=1使能地址对齐检查
C,bit[2]=1使能cache
W,bit[3]=1使能写入缓冲
P,bit[4]=0异常中断进入32位地址模式
B,bit[7]=1选择大印第安序
Z,bit[11]=1使能跳转预测功能
I,bit[12]=1使能指令cache
V,bit[13]=0异常向量表位置为0x00-0x1c,否则0xffff0000-0xffff001c
RR,bit[14]选择淘汰算法

原创粉丝点击