後藤弘茂のWeekly海外ニュース

ARMが次期CPUコア「Cortex-A57」と「Cortex-A53」を発表



●1プロセス世代毎にCPUコアを刷新するARM
Santa Clara Convention Center

 ARMが次世代CPUコアCortex-A5xシリーズを発表した。ARMは、米Santa Claraで技術カンファレンス「ARM Techcon 2012」を開催しており、そこで、Cortex-A57/53の概要を明かしつつある。今回発表したA57とA53は、どちらも64-bit命令を含むARMv8命令セットアーキテクチャベースで、Cortex-A57が大型のパフォーマンスコア、Cortex-A53が小型の省電力コアだ。ARMが従来公開していたコードネームのうち、Cortex-A57が「Atlas(アトラス)」、Cortex-A53が「Apollo(アポロ)」となる。

 Cortex-A57/53は市場には2013年末から2014年に登場する見込みで、すでにライセンスパートナーには設計データであるRTLが渡されているという。現在の最新のコアであるCortex-A15と、ちょうど2年ほどのズレがある。

 ARMは、Cortex-A57システムでは、従来のCortex-A9ベースのモバイル機器に対して3倍のパフォーマンスを発揮するとしている。ただし、これはマイクロアーキテクチャの拡張だけでなく、プロセス技術の進歩なども加味したものだ。Cortex-A57/53ターゲットとするプロセス技術は20nm以降。Cortex-A9が45/40nm以降、Cortex-A15/7が32/28nm以降をターゲットとしていたので、ARMはCortex-A50世代でまた1世代プロセスを進めることになる。現在のARMのコア戦略は、ラフに言えば、1プロセス世代に1CPUコア世代であることがわかる。

 Cortex-A57とCortex-A53の両コアは命令セット完全互換で、大型コアと小型コアを組み合わせることで、電力効率の高いチップを作る「big.LITTLE」アーキテクチャに対応する。負荷が小さいタスク時は小型(LITTLE)コアに、負荷が高いタスク時は大型(big)コアにスイッチすることで、最適な電力効率を実現する。big.LITTLEの構成で20nm以降の先端プロセスを使い最適化することで、電力効率では現在の5倍を実現できるとARMは説明する。

 もちろん、3倍や5倍といった数字はマーケティング上のもので、実際の製品は異なる。だが、ARMが野心的な目標を持っていることは確かだ。


●Cortex-A15をベースに拡張したCortex-A57
ARMのPeter Greenhalgh氏

 パフォーマンスにフォーカスしたCortex-A57は、Cortex-A15のパイプラインをベースに拡張を加えている。実行パイプラインはCortex-A15と同様に8本で、3命令デコードだ。ただし、ARMのSIMD命令であるNEONの浮動小数点演算の性能は引き上げられているという。64-bit時は、レジスタの拡張で、さらに多少のパフォーマンスアップがあるとARMのアーキテクトのPeter Greenhalgh氏は説明する。

 64-bitの実装では、できる限り従来の32-bit時のハードウェアリソースを再利用することでシンプル化を図ったという。例えば、ARMの従来の命令セットでは汎用レジスタは13+1の構成で、これが64-bitのA64命令セットでは31+1に変わる。しかし、32-bit時も、実際にはバンク切り替えで切り替えるレジスタを物理的なレジスタとして実装していたため、物理レジスタ数は合計33本だった。これを、64-bit時にはビジブルにして使えるようにする。そのため、レジスタ長は32-bitから64-bitへと拡張するが、物理レジスタの本数自体は変わらないという。

従来のARMのレジスタセットとバンクレジスタ関係ARMv8-AのA64命令セットでのレジスタ

 また、CPUコアの拡張に合わせて、システムバスも拡張された。従来は「CCI(Cache Coherent InterConnect)-400」と呼ばれるバスでマルチコアを接続していたが、サーバー向けの大規模な構成では「CCN(Cache Coherent Network)-504」と呼ばれるバスで16コアまでを接続、またコア間で共有するL3キャッシュもサポートする。

 ローパワー&ローコストにフォーカスしたCortex-A53は、Cortex-A7と同様にシンプルなインオーダ実行コアで、2命令デコードで実行パイプラインは5。Cortex-A57がCortex-A15の拡張であるのと同様に、Cortex-A53はCortex-A7の拡張となっている。現在の主力のCortex-A9と比べると、同じプロセス技術なら40%強のダイサイズ(半導体本体の面積)。32nmのCortex-A9と20nmのCortex-A53を比べると、25%のダイサイズとなる。電力効率は、Cortex-A9の4倍だとARMは説明する。

●サーバーとネットワークインフラが次のターゲット
ARMのSimon Segars氏

 ARMはハイパフォーマンスのCortex-A57の投入で、ターゲットとする製品分野も拡張する。モバイルだけでなく、サーバーとネットワークインフラストラクチャ(基地局)なども視野に入れる。どちらも、電力効率の高いCPUコアの高密度のクラスタが必要になってきたとARMは見ている。ARM Techconの初日のキーノートスピーチを行なったARMのSimon Segars氏(EVP and General Manager Processor and Physical IP Divisons)は「クラウド化でサーバーのデータやワークロードが変わってきた。多様な小さなデータを大量に扱うようになり、ローパワーが重要になった」、「AmazonやFacebookのようなワークロードは、ARMプロセッサに向いている」と説明する。


 サーバーやネットワークインフラなど、新市場にARMが入るために必要な要素が、64-bitのARMv8命令セットだった。より広いアドレス空間をサポートすることで、スケーラブルに大きなシステムに対応する。しかし、ARMのアーキテクトのPeter Greenhalgh氏は「モバイルも将来は4GBを越えるメモリを扱うため、ソフトウェアのためにハードウェア側は今から対応しておく必要がある」と説明する。


 ただし、大型化したコアでは消費電力が上がってしまう。そのため、小さなコアと大きなコアでスイッチするbig.LITTLEを、ARMv8世代では推進する。ARMは、社内で2個のCortex-A15コアと3個のCortex-A7コアを載せたテストチップを試作。そのチップで、実際にbig.LITTLEのコンセプトを実証し、良好なパフォーマンス/電力効率を得たと言う。

 Cortex-A57とCortex-A53の組み合わせでは、さらにbig.LITTLEによるパフォーマンスのダイナミックレンジが広がるとARMは説明する。ダイナミックレンジが広ければ、パフォーマンスが必要な時に迅速に短時間でジョブを終了し、低電力コアに迅速に切り替えることが可能となる。


●16コア以上のサーバーまで広がるCortex-A50世代の構成

 ARMは、Cortex-A57とCortex-A53によって市場が広がることで、ARMベースのSoCのコンフィギュレーションも増えると予想している。スマートフォンからタブレット、モバイルコンピュータ、サーバーまで、下のスライドのようなさまざまなコンフィギュレーションでCortex-A50ファミリが使われると予想している。


 実際には、GPUコアや特定機能のアクセラレータなどが加わり、より複雑な構成となる。下のスライドはARMが予想するCortex-A50世代のARMベース製品の姿だ。

 


 ARMの64-bitアーキテクチャでは、64-bit OS上で32-bitアプリケーションを走らせることもできる。CPU自体は下位互換性を保つため、32-bit OSも走る。そのため、モバイルでは32-bit OSで32-bitアプリ、サーバーでは64-bit OSとアプリ、中間レイヤでは移行のために64-bit OS上で32-bitと64-bitの両アプリを走らせるといったソリューションが想定できる。ちなみに、ARMはARMv8のCortex-A50を出した後も、従来の32-bitのARMv7命令セットのCortex-Aファミリも継続すると説明している。

 


●Cortex-A50ファミリのライセンシは6社

 現在のところ、Cortex-A50系CPUのライセンスを受けたパートナーのうち公開されたのは6社。AMD、Samsung、STMicroelectronics、Broadcom、Calxeda、HiSilicon(中国Huaweiの子会社)だ。6社のうち、HiSiliconを除いた5社の代表が、ARM Techconのステージに立った。

 このちょっと変則的な顔ぶれでわかるように、最初にCortex-A57に飛びついたユーザーメーカーには、この新しいARMコアを伝統的なARMの市場であるモバイル以外で使おうという意図が強い。サーバーをターゲットとしたAMDとCalxedaが並ぶのは目立つ。HiSiliconも、Cortex-A15を16コア使ったネットワークインフラ用チップを開発しており、Cortex-A50を使う目的がモバイル以外の部分にあることは明白だ。

AMDのAndrew Feldman氏

 AMDはCortex-A57を、高密度サーバーの分野で使う。ARM Techconに登場したAMDの代表が、AMDが買収した高密度スモールコアサーバーメーカーSeaMicroのCEOだったAndrew Feldman氏(VP and CTO, Server Business Unit)だったことが、AMDの姿勢を象徴している。この発表で、AMDのARMサーバーSoC(System on a Chip)はCortex-A57をベースにすることが公式に明らかになった。

 AMDは独自マイクロアーキテクチャのARMコアを開発する代わりにCortex-A57のライセンスを受ける。しかし、AMDのIPで囲むことで差別化を図るとFeldman氏は説明する。AMDのIPの目玉はSeaMicroのインターコネクト技術「Freedom Fabric」で、高集積のスモールコアサーバーを作ることを目標としている。Freedom Fabricこそ、AMDがSeaMicroを買収した重要な理由であり、それがARMサーバーで生きることになる。