A15とA7の最大の違いはパイプライン
性質がまったく異なる2つのコア
Cortex-A15、Cortex-A7ともにARMv7のプロセッサであり、ソフトウェアは互換性がある。しかし大きな違いは、そのパイプラインだ。Cortex-A15はアウトオブオーダー、3命令以上の同時発行が可能なプロセッサだ。また、仮想化支援機能を持ち、システム仮想化に対応できる。
これに対して、Cortex-A7は、インオーダーで制限付きの2命令同時発行であり、そのパイプラインはシンプルなもの。ただし、仮想化支援機能を備えており、OSを含むソフトウェアからみるとほぼ同一となっている(一部違いがある)。最大4GBの2次キャッシュが利用可能なほか、Cortex-A15と同様に高速な内部バスが利用でき、メモリコントローラーとの接続帯域も広い。
このCortex-A15とCortex-A7の性能比、電力効率比を示したのが下の写真だ。Cortex-A15とCortex-A7では2~3倍程度の性能比になるが、電力効率でみるとCortex-A7は、Cortex-A15の2.3~3.8倍もある。たとえば、整数演算(Dhrystone)であれば、Cortex-A7はCortex-A15の半分程度の性能しかないものの、同じ処理をおこなった場合には28%(電力効率の逆数から)の電力しか消費しないのだ。
この差を利用して、それほど性能を必要としない場合には、CPUをCortex-A15からCortex-A7に切り替えることで、電力消費を3割以下に下げることが可能になるわけだ。
ARMで、実際の利用環境を調べてみたところ、一日の利用のうちCortex-A15を必要とする処理時間はわずか12%程度しかなかったという。また、アプリケーションの種類別に必要な処理速度を見た場合でも、処理時間の多くはあまり高い性能を要求しないものだったという。