文件名称:mips-精确异常和延时槽.doc
文件大小:65KB
文件格式:DOC
更新时间:2022-08-12 11:21:08
控制器/处理器
一、非精确异常 在多发射乱序执行的流水线 CPU 上,从指令进入流水线到异常事件的发生,期间要经过若干流水级,此时 PC 的值已指向其后的某条指令,在实现非精确异常的 CPU 上就把此时的 PC 值作为引起异常指令的所在(为了表达的方便,记为 eptr)。 简单地说就是 eptr 的指向,并非真正的引起异常的指令之所在,而是其后面的某条指令所在。 二、精确异常 简单地说就是 eptr 的指向就是真正引起异常的指令之所在 而实现精确异常的 CPU,则在最后指令提交时 (commit) 按指令流的顺序提交,异常的产生也在该指令提交时,这样就能精确计算出引起异常的指令相对于当前 PC 的偏移,从而保证精确异常。