プロセッサ
- パイプライン制御 1命令を複数のステージに分けて処理を実行する 命令には、命令読出し (フェッチ)、解読(デコード)、アドレス計算、オペランド呼出し、実行 の6つがある
パイプライン処理時間を求める公式
(I+D−1)*P
I:実行する命令数
D:パイプラインの深さ(分割するステージ数)
P:パイプラインのピッチ(ステージごとの実行時間)(ex 1サイクル)
コンピューターの命令は、命令部とアドレス部(オペランド)から構成されています※。このうちアドレス部では命令の処理対象となるデータのメモリ上の位置を指定しますが、この指定方法には次に挙げる6種類があります。
1. 直接アドレス指定
アドレス部の値をそのまま有効アドレスとする。
間接アドレス指定
アドレス部の値で主記憶上のアドレスを指定し、そのアドレスに格納されている値を有効アドレスとする。指標(インデックス)アドレス指定
アドレス部の値にインデックスレジスタの値を加えたものを有効アドレスとする。基底(ベース)アドレス指定
アドレス部の値にベースレジスタの値を加えたものを有効アドレスとする。相対アドレス指定
アドレス部の値にプログラムカウンタの値を加えたものを有効アドレスとする。即値アドレス指定
アドレス部の値を有効アドレスではなく、そのまま演算対象データとする。
ポインタ
スタックポインタ
サブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレスプログラムカウンタ
次に読み出す機械語命令が格納されているアドレス命令レジスタ
メモリから読み出された機械語命令ステータスレジスタ
割込みの許可状態,及び条件分岐の判断に必要な演算結果の状態
並列処理におけるプロセッサアーキテクチャ
SISD(Single Instruction Single Data)
単一の命令で単一のデータを処理する最もシンプルな方式SIMD(Single Instruction Multiple Data)
単一の命令で複数のデータを処理できる方式。pentiumプロセッサで採用されている。MISD(Multiple Instruction Single Data)
複数の命令で単一のデータを扱う方式。理論上は存在するが実装例はない。MIMD(Multiple Instruction Multiple Data)
複数の命令で複数のデータを扱う方式で、複数のプロセッサを搭載した並列コンピュータ環境が該当する。OSやコンパイラがMIMDに対応している必要がある