2
我们都知道MIPS FPU有两个精度单精度或双精度。当我在指令集中查看它时,我发现对于相同的操作,单精度和双精度的指令没有区别。单精度指令与双精度指令的区别
例如,这里从MIPS Architecture For Programmers Volume II:,指令ADD.fmt
无论是双或单精度,操作数和功能码都相同。解码器如何知道它是单精度指令还是双精度指令?或者5位fmt区域中的隐藏信息?我无法从谷歌找到任何好的答案,有人可以解释这条指令的工作原理吗?
指令ADD.fmt中的fmt区域只有5位。但在你的回答中,fmt包含完全32位的寄存器。这个文件是一个独立的寄存器吗?当我们实现这个指令时,两种不同精度的硬件是相同的吗?我的意思是如果FPU支持双精度,那么硬件是双精度的,不管指令是单精度还是双精度。 –
我写了“可能的**值**”,而不是位的位置。 5位是0-31。 – karatedog
@帅雨强我更新了答案,以避免更进一步的混淆。 – karatedog