週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

Core Mを上回るスマホ向けCPUが登場!?ARM社がCortex-A72&M7の詳細を公開

2015年05月04日 14時00分更新

  英国ARM社は、2月に発表した第2世代64bitプロセッサーである『Cortex-A72』や組み込み用プロセッサー『Cortex-M7』の詳細アーキテクチャーやサーバー、セキュリティー関連情報などを公開した。簡単に言うと、2016年頃のARMコアを利用したモバイル端末向けやサーバー向けSoC(System on a Chip)がどうなるかについての情報だ。

ARM
↑Cortex-M7は組み込み向けの「高性能」プロセッサーでSIMDや浮動小数点演算なども可能なもの。現行のCortex-M系列の最上位になる。

  Cortex-A72は、今年2月にARM社が発表した64bit CPUで、64bit CPUとしてはCortex-A57/53に続く、第2世代のプロセッサーとなる。これで、ARM社のアプリケーションプロセッサー(スマートフォンなどに使われるプロセッサー)は下図のようなラインアップになった。現行では、Cortex-A7とA15が32bitで、64bitはA53とA57だったが、これに昨年発表されたCortex-A17や今年発表されたA72が加わる。

ARM
↑現行のCortex-A系列のラインアップ。大きく“高エネルギー効率”(低消費電力)と、“高性能”にグループ分けされ、Cortex-A72は最上位のプロセッサーとなっている。

  また、GPUであるMaliシリーズは、高性能なMali-T860とT880、低コストなMali-T820とT830というラインアップだ。なお、Maliシリーズは、内部演算コアの数などでバリエーションが組めるため、実際にSoCに組み込まれるバリエーションはもっと多くなる。

ARM
↑ARM社のGPU、Maliシリーズの最新製品は、高性能な系列が『Mali-T860/T880』で、低コストな系列は『Mali-T820/T830』となっている。

 今回はCortex-A72のモバイルとサーバー向けの構成の場合のパフォーマンス情報(試作品による推測値によるもの)や内部アーキテクチャーが公開された。まずは、その性能などから見ていくことにしよう。

 Cortex-A72は14または16ナノメートルプロセスでの製造が想定されている。これに対して、現在のARMプロセッサーは28ナノメートルもしくは20ナノメートルで作られている。一般に製造プロセスが進むと微細化して、動作速度や消費電力の点で有利になる。

 現在出荷されている製品に搭載されているARMプロセッサーとの比較だが、32bitプロセッサーのCortex-A15に対して最大で3.5倍の性能があるという。また、現行のCortex-A57(20ナノメートルプロセスで製造してクロック周波数は2GHz)とは、約1.8倍の性能差があることになるという。

ARM
↑Cortex-A72をモバイル用の16ナノメートルプロセスで製造したとすると最大クロックは2.5GHzで現在のCortex-A15(28ナノメートルプロセスで製造。1.6GHz)の3.5倍の性能がある。

 また、同じ処理を行なわせた場合、A72の消費電力は28ナノメートルで製造したとしてもA15の半分、16ナノメートルでは25%にしかならないという。低消費電力のコア(Cortex-A53を想定)と組み合わせる“big.LITTLE技術”を併用すると、さらに40~60%の削減が見込めるという。簡単に言えば、今年のプロセッサーよりも3.5倍速くて消費電力は1/4以下ということだ。

ARM
↑同じ負荷だと、28ナノメートルプロセスで製造したCortex-A72は、A15の半分の消費電力となり、16ナノメートルプロセスで製造すれば1/4しか電力を消費しない。さらにbig.LITTLE技術を使えば40~60%の電力削減も可能。

 さらにインテルのCore M(2GHzの5Y10C)との比較でも、消費電力は1/4以下でシングルスレッド性能ではわずかに劣るものの、マルチスレッド性能では多くのベンチマークでCore Mを上回るという。

ARM
↑Cortex-A72はサーバー向けの構成も可能で、最大48コア構成までが可能。この場合、製造プロセスは性能優先のものを利用する。

 もしサーバー向けのSoCを作った場合、2.7GHz動作のCortex-A72(20コア構成)は、Xeon E5-2650 v3を上回り、Xeon E5-2660 V3にはわずかに劣る程度の性能を出せるという。このときの消費電力は30ワット以下だ。

ARM
↑サーバー向けに20コアのプロセッサーを作った場合、消費電力は30W以下でXeon E5-2660 v3(消費電力は105W)にわずかに劣る程度の性能を出せる。

 さて、Cortex-A72の内部構造だが、あまり細かい話をするとかなり長くなるので、基本的な部分で従来のCortex-A57よりもなぜ高速化したのかという部分を解説しよう。Cortex-A72は、大きくはCortex-A57と似ているものの、改良により高速化している。

 ARM社の64bit CPUでは、32bitと64bitモードで命令体系が違っている。このため、CPUに取り込まれた命令は、デコーダーステージでいったん内部命令(マイクロ・オペレーションコード。マイクロOPsと略す)に変換される。このような内部形式に変換することで、以後の部分は32bit命令セットでも64bit命令セットでも同じ実行機構が使えるようになる。また、このときに比較的よく使われる2つの命令の組み合わせ(具体的にはどの命令だとは公開されてないが、一般的なケースを考えると、たとえば数値の比較命令と条件分岐命令など)を、ひとつの命令としてマイクロOPsに変換する“インストラクションフュージョン”機能を搭載した。この機能により、3よりも多くの命令をマイクロOPsに変換できる。

 こうして作られたマイクロOPsは、最終的に“ディスパッチ”ステージを経て、目的別の実行ユニットへ送られる。ディスパッチステージは、後続の実行ユニットの稼働状態を見ながら、先に実行できる命令を実行ユニットへ送っていく役割を持つ。ここは、デコーダー側から1クロックに最大3命令を受け取る。ここでいくつかのマイクロOPsは、さらに細かなマイクロOPsに分解されることがある。このようにするのは、デコーダーとディスパッチの間を必要以上に幅を広げずにより多くの命令を1クロックの間で実行するためだ。Cortex-A72では、このディスハッチステージから1クロックで最大5つのマイクロOPsを実行ユニットに対して発行できる。従来のCortex-A57は、ここが3マイクロOPsであり、このあたりがネックになって性能が上がらない場合があったという。

 また、マイクロOPsを実行する実行ユニットの構成は、Cortex-A57と同じだが、命令を処理するのに必要なクロック数が短縮された。たとえば、整数の割り算命令は半分のクロックで、浮動小数点演算ではかけ算が5サイクルから3サイクルに、足し算が4サイクルから3サイクルに短縮されている。

 簡単に言うと、3つ以上の命令がマイクロOPsに分解されたのち、一度に最大5個までのマイクロ命令を実行ユニットに送ることができるようになり、同時に最大8個のマイクロOPsを並行して実行できるようになった。さらにいくつかのマイクロOPsは、計算が終了するまでのクロック数が短縮された。これにより、従来のCortex-A57よりも、平均で1クロックあたりに実行できる命令数が増えた。つまり、同じ周波数で動かしてもプログラムを高速に実行できるようになったわけだ。

ARM
↑Cortex-A72とA52のパイプラインの比較。基本的な構造は同じだが、改良により、1クロックあたりに実行できる平均命令数を増やしている。

 また、分岐予測もアルゴリズムが変わり、より「的中率」が高くなった。命令を順不同で実行するアウトオブオーダー機構では、分岐が行なわれるかどうかを予測しておいて、確率の高いほうを先に実行するが、この予測が当たらないとせっかく先にやっておいた処理が無駄になる。予測が正確になれば、平均的なクロック当たりの命令実行数も大きくなる。Cortex-A72は内部アーキテクチャー的に見ると、A57と劇的な変化はないが、地道な改良があちこちで行なわれて結果的に高速になったものと言えるだろう。なお、低消費電力化のために、内部の回路を見直すなどの改良も行なわれているため、製造プロセスの進化(A57は20ナノメーメル、A72は16ナノメートル)とは別に消費電力が小さくなっている。

 このほかにCPUコア同士、GPUなどを接続する内部接続回路なども高性能なものが作られ、最大4チャンネルのメモリー接続が可能になったり、GPUとのデータ転送が高速に行なえるようになるなどの技術も発表されている。

ARM
↑Cortex-A72などの世代で利用が想定される内部接続技術“CCI-500”。プロセッサーやメモリー、周辺回路などを接続する。これを使うことで従来技術と比較してメモリーアクセスで30%の性能向上などが見込めるという。

 ARMのプロセッサーの場合、ARM社はSoCを作る部品としてのプロセッサーや内部接続機構、GPUなどを設計するのみで、実際のプロセッサーは半導体メーカーが製造する。たとえば、Qualcomm社(SnapDragonシリーズ)、NVIDIA社(Tegraシリーズ)、TI社(OMAPシリーズ)などだ。2月の発表は、ARM社での設計が終わったという発表で、現在は半導体メーカー各社がSoCを設計しており、その製造を請け負うファウンダリー(TSMC社やグローバルファウンダリー社)各社は、ARM社の設計を自社の製造ラインに合わせて最適化を行なっている最中。具体的な半導体製品の登場は来年ぐらいになる見込みで、Cortex-A72を搭載した製品も来年の登場になると思われる。2016年のARMの想定するSoCは下図のようなものだ。

ARM
↑Cortex-A72世代としてARMが想定するSoC構成。GPUとしてMali-T880を利用し、Cortex-A53と組み合わせてbig.LITTLE構成を取る。

 このほか、ARM社は組み込み用の高性能なマイクロプロセッサー『Cortex-M7』などについても詳細情報を公開した。Cortex-M7は、組み込み用途向けの高性能なプロセッサ。Cortex-A系列との違いは、短縮命令セットを使うこととメモリ管理ユニットなどを持たず、仮想記憶などを行わないことだ。こちらは、IoT分野などでの利用が期待されている。

ARM
ARM
↑Cortex-M7の内部構造とパイプライン(方向は左から右)。浮動小数点演算なども可能になっており、命令バッファー、デコード、レジスタファイルを経て8ポートの実行ユニットに入る。上の2つは「ロード」ユニットで、ストアユニットは1ポート別にある。

■関連サイト
ARM Cortex-A72
ARM Cortex-M7

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう