单精度指令和双精度指令的区别
Difference between single and double precision instructions
我们都知道MIPS FPU有两种精度,单精度或双精度。我看指令集的时候,发现同一个操作,单精度和双精度的指令没有区别。
例如,这里来自 MIPS Architecture For Programmers Volume II: ,指令 ADD.fmt
无论是双精度还是单精度,操作数和功能码都是一样的。解码器如何知道它是单精度还是双精度指令?或 5 位 fmt 区域中的任何隐藏信息?我无法从 google 找到任何好的答案,谁能解释一下这个指令是如何工作的?
MIPS 文档在 "FPU Operand Format Field" 下有这方面的详细信息。 fmt
字段包含该特定数据。
fmt
字段长度为 5 位,可以取以下值:
0-15: reserved
16: single
17: double
18-19: reserved
20: word
21: long
22-31: reserved
Word 和 Long 未实现 ADD.S 和 ADD.D。
我们都知道MIPS FPU有两种精度,单精度或双精度。我看指令集的时候,发现同一个操作,单精度和双精度的指令没有区别。
例如,这里来自 MIPS Architecture For Programmers Volume II: ,指令 ADD.fmt
无论是双精度还是单精度,操作数和功能码都是一样的。解码器如何知道它是单精度还是双精度指令?或 5 位 fmt 区域中的任何隐藏信息?我无法从 google 找到任何好的答案,谁能解释一下这个指令是如何工作的?
MIPS 文档在 "FPU Operand Format Field" 下有这方面的详细信息。 fmt
字段包含该特定数据。
fmt
字段长度为 5 位,可以取以下值:
0-15: reserved
16: single
17: double
18-19: reserved
20: word
21: long
22-31: reserved
Word 和 Long 未实现 ADD.S 和 ADD.D。