■
RISC命令の特徴は以下のようだ。例外はあるが典型的なものを。
- すべての操作はレジスタに対してのみ行われる。
- メモリに影響するのはロード命令とストア命令のみ。
- 命令形式は少数、固定長
パイプラインを処理するためにはシンプルな命令の方がいいそうだ。命令を並列させるのだから、全命令が同じ処理時間(クロック周期以内)で処理されなきゃいけない。ということは一番処理が遅い命令によってクロック周期が決まってくる。パイプラインの段数を増やすということは、命令を細かく分割することで一つの命令を処理する時間が短くなる→よってクロック周波数を上げることができるってことなのかな。
MIPS64は拡張された64bit命令でニーモニックの先頭か最後にDのが付いているとのこと。
5段パイプラインでは以下のようにサイクルが別れる。
- 命令フェッチサイクル(IF)
- 命令デコード/レジスタフェッチサイクル(ID)
- 演算/実行アドレスサイクル(EX)
- ライトバックサイクル(WB)
命令フェッチではメモリにプログラムカウンタを送り、メモリから命令をフェッチする。
命令デコードではレジスタからレジスタ識別子に一致するレジスタを読み込む。分岐命令かどうかを読み出されたレジスタ間で比較。