4

我正在研究类似 CPU 的 MIPS32,我想知道 MIPS32 异常和中断处理是如何工作的。MIPS32 特权资源架构指南没有提供太多信息。我想知道几件事是:

  1. 如果异常或中断处理程序中有异常或中断会发生什么?

  2. MIPS32 在原因寄存器中有 5 个硬件中断和 2 个软件中断。是软件中断异常还是仅在异常代码值中显示的异常?

  3. 有不同的中断和异常向量吗?

  4. 如果管道中有 2 个异常在它为异常清除之前发生了,会发生什么?例如,有一个溢出异常,然后是另一个异常,以及一个中断。发生什么了?

任何有用资源的链接将不胜感激。

4

1 回答 1

2
  1. 异常处理程序在保存 EPC、SR 等之前不应重新启用异常。
  2. 软件中断是例外。
  3. 一些 MIPS CPU 已经构建了不同的中断和异常向量,但事实证明这并不是很有用。
  4. MIPS 有精确的异常:即异常出现在指令序列中,只有流水线中的第一个异常在架构上是可见的。

请参阅 MIPS Run Linux是 MIPS 异常和 MIPS PRA 的最佳和最易读的参考。

于 2012-11-26T02:10:21.690 回答