MIPS架构中没有X86中的PC(程序计数)寄存器,它的程序计数器不是一个寄存器。因为在MIPS这样具有流水线结构的CPU中,程序计数器在同一时刻可以有多个给定的值,如
jal指令的返回地址跟随其后的第二条指令。
...
jal printf
move $4, $6
xxx # return here after call
MIPS32中也没有条件码,比如在X86中常见的状态寄存器中的Z、C标志位在MIPS32中是没有的,但是MIPS32中是有状态寄存器
MIPS32中不同于其它的RISC架构的地方是其有整数乘法部件,这个部件使用两个特殊的寄存器HI、LO,并且提供相应的指令 mfhi/mthi,mthi/mtlo来实现整数乘法结果--hi/lo寄存器与通用寄存器之间的数据交换
它有cp0,可以配置cpu各个寄存器来实现特定功能(它是一组很多算是cpu配置寄存器)
常见的cpu控制寄存器:
SR( 状态寄存器) 12
Config (CPU参数设置寄存器)-16
/* 前两个在系统引导时用到
加电后:你需要设置SR和Config寄存器,以确保CPU进入正确的引导状态,并且SR寄存器还设置了中断码。以决定系统响应哪些中断
*/
EPC (例外程序寄存器)13、
CAUSE(导致中断和异常的原因寄存器) 14、
BadVaddr(地址错误时存放地址的寄存器)8
Index-0、Random-1、EntryLo0-2、EntryLo1-3、EntryHi-10、PageMask
Count-9、Compare-11共同组成了高精度的时钟
进入任何异常:处理任何例外都会调