文章目录
1. 协处理器CP0
对于MIPS32架构的4个协处理器,只进行CP0的实现
CP0内部只实现比较有用的7个寄存器
- count(Register9) :处理器计数周期
- Compare(Register11):定时中断控制
- Status(Register12):处理器状态和控制寄存器
- Cause(Register13):保存上一次异常原因
- EPC(Register14):保存上一次异常的程序计数器
- PRId(Register15):处理器标志和版本
- Config(Register16):配置寄存器,设置CPU的参数
2. CP0的实现
- int_i:6个外部硬件中断输入
- count_o:Count寄存器的值
…… - timer_int_o:是否有定时中断发生
CP0的连接类似HILO的处理
- count每时钟周期加1
- compare和status的结果
- timer,定时器的中断
- mfc0指令读取Status寄存器的值,存到$2,是0x10000401