パイプライン
CPU
は
命令
を1つずつ5つのステージに分けてステージごとに実行している.
命令
の読み込み
命令
の
デコード
記憶装置
から
データ
を取り出す.
命令
の実行
メモリ
への書き込み
レジスタ
への書き込み
1つ目の「
命令
の読み込み」が終わったら 2つ目の「
命令
の読み込み」を開始することで次の
命令
の実行を早めることができる.
阻害される要因
実行順序を変更する
分岐処理
関数コール
や
return
小さい
関数
は
インライン展開
で負荷を削減する.
先読みする動作が切り替わってしまうため.
パイプラインフラッシュ
が発生する.
分岐予測ユニット
がやり直しを削減する.
静的分岐
は分岐先が固定されている.
傾向から
確率
が高い方を選ぶなど.