AT91RM9200的协处理器CP15的操作指令及操作码

CP15 协处理器

 

协处理器 15,或系统控制协处理器 CP15,用于处理 ARM9TDMI 的特殊性能,
• 片上存储器管理单元 (MMU)
• 指令与 / 或数据缓存
• 写缓冲器
为控制这些特性, CP15提供了 16 个额外寄存器,见 Table 12。  

协处理器 15,或系统控制协处理器 CP15,用于处理 ARM9TDMI 的特殊性能,

• 片上存储器管理单元 (MMU)

• 指令与 / 或数据缓存

• 写缓冲器为控制这些特性, CP15提供了 16 个额外寄存器,见 下表。

 

CP15寄存器访问

CP15寄存器只能通过特许模式访问:

•MCR ( 由 ARM 寄存器移入协处理器 ) 指令

•MRC ( 由协处理器移入 ARM 寄存器 ) 指令

其它指令 (CDP、 LDC、 STC) 产生未定义指令异常。

MCR 指令将 ARM 寄存器值写入 CP15。

MRC 指令将 CP15值写入 ARM 寄存器。

两指令汇编代码为:

MCR/MRC{cond} p15, opcode_1, Rd, CRn, CRm, opcode_2

MCR、 MRC 指令位模型如下:

•CRm[3:0]:特定的协处理器操作

确定特定的协处理器操作。其值取决于 CP15寄存器,详见 CP15指定寄存器性能。

•opcode_2[7:5]

确定特定的协处理器操作码,默认情况下设为 0。

•Rd[15:12]: ARM 寄存器

定义向协处理器传输值的 ARM 寄存器。若选择 R15,结果无法预测。

•CRn[19:16]: 协处理器寄存器 

定义目的协处理器寄存器。

•opcode_1[23:20]: 协处理器代码

定义协处理器特定码。 CP15 中为 c15。

•L: 指令位

0 = MCR 指令

1 = MRC 指令

•Cond [31:28]: 条件 

 

 

posted @ 2010-05-20 10:18  东 哥  阅读(1299)  评论(0编辑  收藏  举报