Chinaunix首页 | 论坛 | 博客
  • 博客访问: 416958
  • 博文数量: 380
  • 博客积分: 75
  • 博客等级: 民兵
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-05 15:35
文章分类

全部博文(380)

文章存档

2014年(1)

2013年(2)

2012年(19)

2011年(358)

我的朋友

分类:

2011-09-05 18:28:00


主标识符寄存器

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) |
给主人留下些什么吧!~~