2

MIPS FPU には単精度と倍精度の 2 つの精度があることは誰もが知っています。命令セットを見てみると、同じ演算で単精度と倍精度の命令に違いはありませんでした。

たとえば、MIPS Architecture For Programmers Volume II から:命令 ADD.fmtここに画像の説明を入力

倍精度でも単精度でも、オペランドと関数コードは同じです。デコーダーはそれが単精度または倍精度の命令であることをどのように認識しますか? または、5 ビットの fmt 領域に隠された情報はありますか? グーグルから良い答えが見つかりません。誰かがこの指示がどのように機能するかを説明できますか?

4

1 に答える 1

3

これに関する詳細は、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 には実装されていません。

于 2015-07-10T00:49:43.050 に答える