パイプラインハザード対策には、分岐予測やパーシャルフラッシュ
これを補うための方策として広く利用されているのが、分岐予測機構である。パイプラインハザードは要するに、「間違った方向の命令をデコードするから発生する」とも言えるわけで、正しく命令をデコードすればこうした事態は防げる。そこで、デコードの際に分岐命令を発見したら、「次にどちらの方向に分岐するか」をきちんと判断して次の命令を決める仕組みが、今のCPUには搭載されている。
また「パーシャルフラッシュ」と呼ばれる仕組みを搭載しているものもある。図4では分岐ミスが発生した場合、パイプライン全体をフラッシュしていた。しかし図4の場合、間違っているのは命令5~7までの処理で、命令8以降はそのまま継続しても問題ない。そこで、命令5~7を処理しているステージのみフラッシュすることで、パイプラインハザード時のペナルティを軽減しようというものだ。
実際図5の場合、ペナルティは3サイクル分で済んでいる。もっともこの機構は単純なパイプラインでは実装しやすいが、さまざまなテクニックを駆使している昨今のパイプラインでは、機構的に複雑になりすぎてしまうため実装されないこともある。
ほかにも、分岐ミスが発生することを前提に、発生した場合のペナルティを軽減する仕組みがある。Decodeで分岐を確認した場合、その分岐先を2つとも内部のテーブルに格納しておくというものだ。これにより分岐ミスが発生した場合も、ただちに次のデコードを開始できる。
もっと積極的な方法としては、「投機実行」という仕組みを実装しているCPUもある。例えばインテルのItaniumだ。図3では、命令4のどちらか片方だけを実行するから、外れた場合にペナルティが大きい。それならば、命令4の後に命令5/6/7と命令8/9/10の両方を同時に処理をしておき、命令4の結果が確定した時点で、間違った分岐の結果を捨てるという、Partial Flushをもっと積極的に行なうような仕組みだ。ただこれはCPUが複雑になりすぎることもあって、採用例はほとんどない。
パイプラインの問題とそれをカバーする技術をざっとおさらいしたところで、次回は別の高速化技法である「スーパースカラー」について紹介したい。
この連載の記事
-
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU -
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ