关于功能测试中保留指令功能点的一处疑问

问题出处:功能测试点76,PC值为0xBFC39EDC,指令码为0x45DF00E0,要求报保留指令例外(RI)。
查阅MIPS32手册发现该指令的操作码是COP1,属于CP1指令,但其rs域确实是标记为保留的一个值;而MIPS32手册原文如附图(出处:手册3,72页),有说“若该协处理器不可用,则报协处理器不可用例外”。
疑问:我们的处理器没有实现CP1,则按照手册来说应该报协处理器不可用(CpU)例外,而不是保留指令(RI)例外。这与功能测试所期望的结果相违背。
请为我解惑,谢谢!
 
QQ图片20190521144321.png
已邀请:

龙芯杯答疑

赞同来自:

你看的很认真,说的也很正确。
严格来说,如果未实现CP1,CP1指令需要报CpU例外(协处理器不可用例外)。
大赛为了减少例外种类,未引入CpU例外,统一将未实现的指令报保留指令例外。
 
你可以先暂时修改功能测试,不测试CP1指令的例外。
 
后续我们应该不会更新功能测试包,但在预赛提交后复核你们CPU功能时,会使用修正这一问题的功能点程序程序去复核。

要回复问题请先登录注册