数式が読み込まれない場合は1回再読み込みしてみてください。まとめシリーズこんにちは、ももやまです。今回は前回に引き続きMIPSアーキテクチャの命令について紹介していきます。分岐命令(強制・条件付き)比較命令パイプライン処理の6つについて説明していきたいと思います。メインメモリ⇔レジスタ間のデータ転送が必要かレジスタに保存できる容量は、4バイト(32ビット)の32本分(合計128バイト)分となっており、メインメモリに比べて非常に容量が少ないです。そのため、基本的に必要なデータはメインメモリにおかれます。メインメモリを転送(コピー)のように、計算したいデータをレジスタに転送させたり、計算が終わったデータをメインメモリに戻してあげるデータ転送の処理が必要となります。ロード命令の実行手順(メインメモリ→レジスタ)ロード命令とは、メインメモリにあるデータをレジスタに転送する命令を指します。MIPSではロード命令は以下の5ステップで実行されます。(IF)プログラムカウンタが示しているアドレス値から4バイト分をメインメモリから命令ジレスタに格納します。このタイミングでプログラムカウンタの値を4増加させ、つぎの命令を指しておきます。(ID)命令レジスタに格納した4バイトの内容を解読(デコード)します。(EX)どのメモリ番地にアクセスすればよいか(どのメモリ番地から読み出すか)を計算します。(このアドレスのことを実効アドレスと呼びます。データ転送命令以外(演算命令など)では、このステップでALUによる演算が行われます。(MEM)Step3で計算されたアドレスからメモリの読み出しをします。メモリの読み書きの必要がない命令(加算やシフトなどの演算命令)ではStep4の操作は行われず、合計4ステップで実行されます。書き込み(WB)読み出されたデータをレジスタに書き込みます。以上の5ステップでロード命令が行われます。ストア命令の実行手順(レジスタ→メインメモリ)ストア命令とは、レジスタにあるデータをメインメモリに戻す命令を表します。MIPSではストア命令は以下の4ステップで実行されます。(IF)(ロード命令と同じです。)プログラムカウンタが示しているアドレス値から4バイト分をメインメモリから命令ジレスタに格納します。(ID)(ロード命令と同じです。)命令レジスタに格納した4バイトの内容を解読(デコード)します。(EX)(ロード命令とほとんど同じです。)どのメモリ番地にアクセスすればよいか(どのメモリ番地から書き出すか)を計算します。(このアドレスのことを実効アドレスと呼びます。(MEM)Step3で求めた実効アドレスにレジスタのデータを書き込みます。ストア命令では、Step5に相当する「レジスタへデータを格納する」必要がないため、以上の4ステップで命令が終了します。2.アドレシングモード命令の操作対象(レジスタ、メモリ、定数など)を指定する方法のことをアドレシングモードと呼びます。MIPSには、レジスタアドレシング(レジスタ指定)即値アドレシング(定数指定)ベースアドレシング(メモリ指定)疑似直接アドレシング(メモリ指定)PC相対アドレシング(メモリ指定)の全部で5つのアドレシングモードがあります。3〜5はすべてメモリを指定するアドレシングモードですが、メモリの指定の仕方が異なります。レジスタアドレシングレジスタをオペランドとして指定する最も基本的なアドレシングモードです。レジスタアドレシングとなっているオペランドの例を紹介します。3つのオペランドすべてがレジスタアドレシングです。値を指定しない第1、第2オペランドはレジスタアドレシングです。他にもレジスタアドレシングでオペランドを指定する命令はたくさんありますが、キリがないので省略します。