MIPS汇编:协处理器CP0中的寄存器的功能

学习了有关协处理器的内容,觉得有必要把CP0中的寄存器的功能记录下来。

标号 寄存器助记符/名称 功能描述 备注
0 Index TLB阵列的入口索引 与MMU、TLB有关
1 Random 产生TLB阵列的随机入口索引 与MMU、TLB有关
2 EntryLo0 偶数虚拟页的入口地址的低位部分 与MMU、TLB有关
3 EntryLo1 奇数虚拟页的入口地址的低位部分 与MMU、TLB有关
4 Context 指向内存虚拟页表入口地址的指针 与MMU、TLB有关
5 PageMask 控制TLB入口中可变页面的大小 与MMU、TLB有关
6 Wired 控制固定的TLB入口的数目 与MMU、TLB有关
7 保留
8 BadVAddr 记录最近一次地址相关异常的地址
9 Count 处理器记数周期
10 EntryHi TLB入口地址的高位部分 与MMU、TLB有关
11 Compare 定时中断控制
12 Status 处理器状态和控制寄存器
13 Cause 保存上一次异常原因
14 EPC 保存上一次异常时的程序计数器
15 PRId 处理器标志和版本
16 Config 配置寄存器,用来设置CPU的参数
17 LLAddr 加载链接指令要加载的数据存储器地址
18 WatchLo 观测点watchpoint地址的低位部分 与调试有关
19 WatchHi 观测点watchpoint地址的高位部分 与调试有关
20 保留
21 保留
22 保留
23 Debug 调试控制和异常状况 与调试有关
24 DEPC 上一次调试异常的程序计数器 与调试有关
25 保留
26 ErrCtl 控制Cache指令访问数据和SPRAM 与Cache有关
27 保留
28 TagLo/DataLo Cache中Tag接口的低位部分 与Cache有关
29 保留
30 ErrorEPC 上一次系统错误时的程序计数器
31 DESAVE 用于调试处理的暂停寄存器 与调试有关

摘自《自己动手写CPU》

后来,又去查了一下最新官方文档《Architecture For Programmers Vol. III: MIPS32®/microMIPS32™ Privileged Resource Architecture》(Revision 5.05),发现上面的表格并不完整,所以如果确实需要,还是建议去官网上找最新文档看看。

你可能感兴趣的:(汇编)