单精度和双精度指令之间的区别

时间:2015-07-09 23:58:42

标签: mips mips32 fpu mips64

我们都知道MIPS FPU有两个精度,单或双。当我在指令集中查看它时,我发现相同的操作,单精度和双精度的指令没有区别。

例如,这里来自MIPS Architecture For Programmers Volume II:,指令ADD.fmt enter image description here

无论是双精度还是单精度,操作数和功能代码都是相同的。解码器如何知道它是单精度还是双精度指令?或者5位fmt区域中的任何隐藏信息?我无法从谷歌找到任何好的答案,有人可以解释这个指令是如何工作的吗?

1 个答案:

答案 0 :(得分:3)

MIPS文档在“FPU操作数格式字段”下有详细说明。 fmt字段包含该特定数据。

fmt字段长度为5位,可以采用以下值:

0-15: reserved
16: single
17: double
18-19: reserved
20: word
21: long
22-31: reserved
对于ADD.S和ADD.D,

Word和Long 未实现