2

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

例如,这里来自MIPS Architecture For Programmers Volume II:,指令 ADD.fmt在此处输入图像描述

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

4

1 回答 1

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未实现。

于 2015-07-10T00:49:43.050 回答