mips乘法 和中断的联系

2007/3/10 20:05:31
mips乘法 和中断的联系:
由于 mips是precise中断机制,当有如下指令 mflo $8 mult $9, $10 如果在执行mflo的时候发生异常,由于mips是pipeline的,而且mult指令在另外一条流水线上执行,所以异常并不会终止 mult的指令,当异常执行完的时候,从新执行mflo,lo寄存器已经被mult的结果替换了,这样就破坏了precise的原则,就是指令 异常的时候,cpu的寄存器不能被破坏 解决方法是在mflo和mult之间多放几条指令,这样当mflo异常的时候,mult还没开始执行,所以重新执行mflo的时候,lo寄存器就没有被破坏
posted @ 2011-04-05 13:51  konggang  阅读(624)  评论(0编辑  收藏  举报