主标识符寄存器
ARM处理器的主标识符位于协处理器CP15的寄存器C0中,这是一个只读寄存器。
C0对应两个标识符寄存器,指令中的OP2分别指定要访问那个物理寄存器:
OP2 寄存器
0b000 主标识符寄存器
0b001 Cache类型标识寄存器
其它 保留
获取主标识符指令:
mrc p15, 0, r0, c0, c0, 0 ;将主标识符寄存器C0,0的值读到r0中
如何识别ARM处理器主标识符?
ARM7之后处理器的主标识符寄存器格式如下:
--------------------------------------------------------------------------------
| 31 24 | 23 20 | 19 16 | 15 4 | 3 0|
---------------------------------------------------------------------------------
|由生产厂商决定 | 产品子编码 | ARM版本号 | 产品主编号 | 处理器版本号|
-----------------------------------------------------------------------
位 | 说明
-----------------------------------------------------------------------
Bit[31:24] | 生产商的编号,已经定义的值如下:
| 0x41 = A ARM公司
| 0x44 = D Digital Equipment公司
| 0x69 = I Intel公司
-----------------------------------------------------------------------
Bit[23:20] | 由生产商定义的子产品编号,如当主产品编号相同时,使用子产品编号区分不同的子类
---------------------------------------------------------------------------------
Bit[19:16] | ARM体系版本号,可能取值如下:
| 0x1 ARM V4
| 0x2 ARM V4T
| 0x3 ARM V5
| 0x4 ARM V5T
| 0x5 ARM V5TE
| 其它,保留
---------------------------------------------------------------------------------
Bit[15:4] | 生产商定义的主编号,其中最高4位即[15:12]可能得取值为0~7,但不能为0或者7
---------------------------------------------------------------------------------
Bit[3:0] | 生产商定义的处理器主版本号
---------------------------------------------------------------------------------
对于ARM7以及ARM7以前版本的处理器标识符,不再进行识别,请参考相关资料。
获取Cache类型标识符
mrc p15, 0, r0, c0, c0, 1 ;将Cache类型标识符寄存器C0, 1读取r0中
阅读(291) | 评论(0) | 转发(0) |