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]: 条件