命令フォーマット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/26 13:43 UTC 版)
「Harvard Mark I」の記事における「命令フォーマット」の解説
24チャンネルの入力テープは、それぞれ8チャンネルの3フィールドに分割されている。各アキュムレータ、各スイッチ群、入出力に対応しているレジスタ群、演算装置にはそれぞれ一意なインデックス番号が付与されている。それらの番号が制御テープ上で二進法で表現されている。第1フィールドは操作の結果が格納される場所のインデックス番号を二進法で表したもので、第2フィールドは操作の元となるデータが格納されている場所(のインデックス番号を二進法で表したもの)、第3フィールドは実行すべき操作に対応する「命令コード」である。
※この「命令フォーマット」の解説は、「Harvard Mark I」の解説の一部です。
「命令フォーマット」を含む「Harvard Mark I」の記事については、「Harvard Mark I」の概要を参照ください。
命令フォーマット
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/13 09:59 UTC 版)
「DEC Alpha」の記事における「命令フォーマット」の解説
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 種類 オペコード Ra Rb 未使用 0 機能 Rc 整数演算 オペコード Ra リテラル 1 機能 Rc リテラル付き整数演算 オペコード Ra Rb 機能 Rc 浮動小数点演算 オペコード Ra Rb ディスプレースメント ロード/ストア オペコード Ra ディスプレースメント 分岐 オペコード 機能 CALL_PAL Alpha ISA の命令長は32ビット固定である。命令フォーマットは6種類ある。 整数演算命令のフォーマットでは、オペコード6ビットの後に第1オペランドを指定するRaフィールドと第2オペランドを指定するRbフィールドがある。続く3ビットは未使用で予約されている。その次の1ビットは常に "0" で、リテラルを使用する整数演算命令のフォーマットとの区別に使われている。次に7ビットの機能フィールドがあり、オペコードとの組み合わせで具体的に何をするのかを指定する。最後のRcフィールドは演算結果を書き込むレジスタを指定する。レジスタを指定するフィールドはそれぞれ5ビットで、32種類の値が32本の整数レジスタに対応している。 リテラル整数演算フォーマットでは、オペランドの一方にリテラルを使用する。整数演算命令のフォーマットのうち、5ビットのRbフィールドと3ビットの未使用フィールドを合わせた8ビットをリテラルフィールドとして使用し、リテラルは符号拡張ではなくゼロ拡張で64ビットの値に変換して使用する。 浮動小数点演算フォーマットは整数演算フォーマットと似ているが、機能フィールドが11ビットに拡大している。 ロード/ストア用フォーマットでは、16ビットのディスプレースメント・フィールドで命令の後半が占められている。 分岐用フォーマットには21ビットのディスプレースメント・フィールドがある。Raフィールドは条件分岐の際に調べるレジスタを指定する。条件が成立している場合、プログラムカウンタにディスプレースメントを加算して更新する。ディスプレースメントは符号付き整数であり、正の場合は前方への分岐、負の場合は後方への分岐となる。分岐可能な範囲は 1,048,576 である。設計原則に従い、分岐可能範囲を広くとってある。 CALL_PALフォーマットはCALL_PAL命令で使うもので、PALcode(英語版)サブルーチン呼び出しに使われる。オペコード以外は26ビットの機能フィールドとなっており、PALcodeサブルーチンを指定する整数を示す。
※この「命令フォーマット」の解説は、「DEC Alpha」の解説の一部です。
「命令フォーマット」を含む「DEC Alpha」の記事については、「DEC Alpha」の概要を参照ください。
- 命令フォーマットのページへのリンク