メディア

CPUアーキテクチャの基礎福田昭のデバイス通信 ARMが語る、最先端メモリに対する期待(5)(2/2 ページ)

» 2016年03月02日 09時30分 公開
[福田昭EE Times Japan]
前のページへ 1|2       

インオーダー実行とアウトオブオーダー実行

 全ての命令をプログラムの順番通りに実行していくこと(「インオーダー実行」と呼ぶ)は、実効的な処理性能を高めるときには望ましくないことがある。例えば、キャッシュにアクセスするときに待ち時間が発生したり、あるいは、実行するのに時間のかかる命令に遭遇したりすると、処理性能が低下する。

 そこで、あえて命令の実行順序を入れ替えることで待ち時間を削減し、実効的な処理性能を上げる手法がある。これが「アウトオブオーダー実行」である。複数のパイプラインを備えて並列に実行するスーパースカラー構造のCPUでは特に、アウトオブオーダー実行が威力を発揮する。

 ただし、アウトオブオーダー実行を採用すると実効的なスループットは高まるものの、回路は大規模になる。シリコン面積と消費電力は増加する。そして、メモリ・システムが複雑になる。

インオーダー実行とアウトオブオーダー実行の概要(クリックで拡大) 出典:ARM

マルチコアという選択肢

 これまで説明してきたのは、CPUコアが1個、すなわちシングルコアで処理性能を向上させる工夫である。しかし既に説明したように、シングルコアで性能を向上させる手段は、消費電力の制約によって行き詰まりを迎えている。

 そこでマルチコアという選択肢が登場した。シングルコアでパイプラインを増やす代わりに、CPUコアの数を増やすことによって性能向上を図る。一般的には、シングルコアで動作周波数を上げたり、能力を高めたりすることに比べると、少ない消費電力でスループットを高められる。

 ただし複数のCPUコアを高効率で利用するソフトウェアの作成と、CPUコア間の物理的な通信リンクの確立という課題が生じる。そしてここでもまた、メモリ・システムが複雑になるのだ。

マルチコアの利点と弱点(クリックで拡大) 出典:ARM

(次回に続く)

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.