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