微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM处理器中CP15协处理器的寄存器

ARM处理器中CP15协处理器的寄存器

时间:11-09 来源:互联网 点击:

0b0000写通类型不需要内容清除不支持内容锁定
0b0001写回类型数据块读取不支持内容锁定
0b0010写回类型由寄存器C7定义不支持内容锁定
0b0110写回类型由寄存器C7定义支持格式A
0b0111写回类型由寄存器C7定义支持格式B
控制字段位[23:12]和控制字段位[11:0]的编码格式相同,含义如下所示:
1198653210
000cache容量cache相联特性M块大小
cache容量字段bits[8: 6]的含义如下所示:
编码M=0时含义(单位KB)M=1时含义(单位KB)
0b0000.50.75
0b00111.5
0b01023
0b01146
0b100812
0b1011624
0b1103248
0b1116496
cache相联特性字段bits[5: 3]的含义如下所示:
编码M=0时含义M=1时含义
0b0001路相联(直接映射)没有cache
0b0012路相联3路相联
0b0104路相联6路相联
0b0118路相联12路相联
0b10016路相联24路相联
0b10132路相联48路相联
0b11064路相联96路相联
0b111128路相联192路相联
cache块大小字段bits[1: 0]的含义如下所示:
编码cache块大小
0b002个字(8字节)
0b014个字(16字节)
0b108个字(32字节)
0b1116个字(64字节)

31 16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
附加
L4
RR
V
I
Z
F
R
S
B
L
D
P
W
C
A
M


说明
M0:禁止MMU或者PU;1:使能MMU或者PU
A0:禁止地址对齐检查;1:使能地址对齐检查
C0:禁止数据/整个cache;1:使能数据/整个cache
W0:禁止写缓冲;1:使能写缓冲
P0:异常中断处理程序进入32位地址模式;1:异常中断处理程序进入26位地址模式
D0:禁止26位地址异常检查;1:使能26位地址异常检查
L0:选择早期中止模型;1:选择后期中止模型
B0:little endian;1:big endian
S在基于MMU的存储系统中,本位用作系统保护
R在基于MMU的存储系统中,本位用作ROM保护
F0:由生产商定义
Z0:禁止跳转预测功能;1:使能跳转预测指令
I0:禁止指令cache;1:使能指令cache
V0:选择低端异常中断向量0x0~0x1c;1:选择高端异常中断向量0xffff0000~ 0xffff001c
RR0:常规的cache淘汰算法,如随机淘汰;1:预测性淘汰算法,如round-robin淘汰算法
L40:保持ARMv5以上版本的正常功能;1:将ARMv5以上版本与以前版本处理器兼容,不根据跳转地址的bit[0]进行ARM指令和Thumb状态切换:bit[0]等于0表示ARM指令,等于1表示Thumb指令
附加:

310
一级映射描述符表的基地址(物理地址)


310
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0


31987430
UNP/SBZP
0
域标识
状态标识

其中,域标识bit[7:4]表示存放引起存储访问失效的存储访问所属的域。
状态标识bit[3:0]表示放引起存储访问失效的存储访问类型,该字段含义如表4-3所示(优先级由上到下递减)。
表4-3状态标识字段含义
引起访问失效的原因状态标识域标识C6
终端异常(Terminal Exception)0b0010无效生产商定义
中断向量访问异常(Vector Exception)0b0000无效有效
地址对齐0b00x1无效有效
一级页表访问失效0b1100无效有效
二级页表访问失效0b1110有效有效
基于段的地址变换失效0b0101无效有效
基于页的地址变换失效0b0111有效有效
基于段的存储访问中域控制失效0b1001有效有效
基于页的存储访问中域控制失效0b1101有效有效
基于段的存储访问中访问权限控制失效0b1111有效有效
基于页的存储访问中访问权限控制失效0b0100有效有效
基于段的cache预取时外部存储系统失效0b0110有效有效
基于页的cache预取时外部存储系统失效0b1000有效有效
基于段的非cache预取时外部存储系统失效0b1010有效有效

310
失效地址(虚拟地址)


3132-W 31-W0
cache组内块序号index
0

其中index表示当下一次发生cache未命中时,将预取的存储块存入cache中该块对应的组中序号为index的cache块中。此时序号为0~index-1的cache块被锁定,当发生cache替换时,从序号为index到ASSOCIATIVITY的块中选择被替换的块。
编码格式B如下所示:
3130WW-10
L0cache组内块序号index


说明
L=0当发生cache未命中时,将预取的存储块存入cache中该块对应的组中序号为index的cache块中
续表
说明
L=1如果本次写操作之前L=0,并且index值小于本次写入的index,本次写操作执行的结果不可预知;否则,这时被锁定的cache块包括序号为0~index-1的块,当发生cache替换时,从序号为index到ASSOCIATIVITY的块中选择被替换的块

31 3032-W31-W32-2W31-2W10
可被替换的条目起始地址的base
下一个将被替换的条目地址victim
0
P

说明
victim指定下一次TLB没有命中(所需的地址变换条目没有包含在TLB中)时,从内存页表中读取所需的地址变换条目,并把该地址变换条目保存在TLB中地址victim处
base指定TLB替换时,所使用的地址范围,从(base)到(TLB中条目数-1);字段victim的值应该包含在该范围内
P1:写入TLB的地址变换条目不会受使整个TLB无效操作的影响,一直保持有效;0:写入TLB的地址变换条目将会受到使整个TLB无效操作的影响

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top