ARM Forum 2009レポート【CPUコア編】
~マルチコア拡張の普及版「Cortex-A5」の凄さ

ARM Forum 2009の会場入口パネル

11月10日 開催
会場:東京コンファレンスセンター・品川



英ARMでプロセッサ部門のマーケティング担当副社長をつとめるEric Schorn(エリック・ショーン)氏

 10日に開催された「ARM Forum 2009」では、Cortex-Aシリーズの新しいARMコア「Cortex-A5」(開発コード名:Sparrow)の内容が公表された。英ARMでプロセッサ部門のマーケティング担当副社長をつとめるEric Schorn(エリック・ショーン)氏が午前の特別講演と午後の一般講演の両方で概要を説明した。本レポートでは、ARM Forum前日の記者会見でショーン氏が説明した内容と10月に米国で開催された講演会兼展示会「ARM techcon3」の内容を含め、Cortex-A5の概要をお届けする。

●アプリケーション・プロセッサの低コスト低消費版

 Cortex-Aシリーズはアプリケーション処理用のCPUコアで、これまでにARMは「Cortex-A8」と「Cortex-A9」を発表してきた。Cortex-A8はシングルコアで高い性能を追求したCPUコア、Cortex-A9はマルチコア拡張による性能レンジの拡大と比較的低い消費電力の両立を目指したCPUコアと位置づけられる。

 これに対してCortex-A5は、マルチコア拡張によって性能の選択範囲を広げながら、演算性能当たりの消費電力を一段と下げたCPUコアである。マルチコア拡張はCortex-A9とほぼ同じ方式であり、Cortex-A9で開発したマルチコア用ソフトウエアはほぼそのまま、Cortex-A5に流用できる。Cortex-A9を上位品種、Cortex-A5を普及品種と位置づけることもできる。

 Cortex-A5が生まれた背景には、既存のアプリケーションプロセッサ用ARMコアである「ARM1176」および「ARM926」に比べると、Cortex-A8とCortex-A9は消費電力当たりの演算性能(DMIPS/mW)が低いことがある。Cortex-A8とCortex-A9は動作周波数当たりの演算性能(DMIPS/MHz)は高いのだが、性能を追求したために消費電力が大きめになるという弱点を抱えてしまった。このため、ARM1176およびARM926のユーザーには、Cortex-A8とCortex-A9では移行パスとして最適ではないと考える層が存在する。そこでDMIPS/mWを高めたCortex-A5を新たに開発し、ARM1176およびARM926からの移行を容易にした。

ARMコアの製品展開Cortex-A9とCortex-A5の概要。いずれもクアッドコア(4コア)までのマルチコア構成を採れる消費電力当たりの演算性能(DMIPS/mW)と演算性能(DMIPS)。従来のアプリケーションプロセッサ(ARM1176およびARM926)の方が最新のアプリケーション・プロセッサ(Cortex-A8およびCortex-A9)よりもDMIPS/mWが高い。2009年10月に米国で開催されたARM techcon3の講演スライドから引用した

●驚異的なDMIPS/mWの高さ

 Cortex-A5の開発目標は消費電力をARM926より下げつつ、演算性能はARM1176と同等以上を達成するというものだ。シリコン面積はARM926並を狙う。実際に実現できているCortex-A5コアは動作周波数当たりの演算性能(DMIPS/MHz値)が1.5DMIPS/MHzであり、ARM1176の1.2DMIPS/MHz、ARM926の1.1DMIPS/MHzよりもかなり高い。動作周波数は台湾TSMCの40nm LP(低リーク版)プロセスで500MHz、40nm G(標準版)プロセスで1GHzに達するとしている。動作周波数が500MHzだと、750DMIPSの演算性能を達成できることになる。

 なおCortex-A9のDMIPS/MHz値は2.5DMIPS/MHz、Cortex-A8のDMIPS/MHz値は2.0DMIPS/MHzなので、Cortex-A5の1.5DMIPS/MHzを加えると、Cortex-Aシリーズでは0.5DMIPSずつ演算性能が差異化されていることが分かる。

Cortex-A5の開発目標Cortex-A5とARM1176、ARM926の比較。この比較は同じ製造プロセスによるものだと口頭でショーン氏による説明があったCortex-A5とARM1176、ARM926の比較。ARM techcon3の講演スライドから引用した

 動作周波数当たりの消費電力(mW/MHz)はARM926よりも低く(ARM1176よりもはるかに低く)、シリコン面積はARM926なみに(ARM1176よりもすっと小さく)なっているとする。

 動作周波数当たりの消費電力(mW/MHz)の具体的な値はARM Forumでは説明がなかったが、ARMtechconのスライドにCortex-A5の試作結果が公表されていたので、ARMのホームページに掲載されているARM926およびARM1176の値とともに比較してみよう。Cortex-A5のmW/MHzは40nm LPプロセスによる試作(16KB/16KBキャッシュあり)で0.12mW/MHz~0.13mW/MHz、ARM926は90nmプロセスのシリコン面積優先コア(8KB/8KBキャッシュあり)で0.14mW/MHz、ARM1176は90nmプロセスのシリコン面積優先コア(16KB/16KBキャッシュあり)で0.25mW/MHzである。プロセスの違いはあるものの、Cortex-A5は相当に低いmW/MHzを達成できていることが分かる。

 シリコン面積もARMtechconのスライドにCortex-A5の詳しい値が公表されていた。同様に比較してみよう。40nm LPプロセスによるCortex-A5のシリコン面積はロジック部が0.27平方mm、RAM部(主にL1キャッシュ、16KB/16KB)が0.26平方mmで、合計0.53平方mmとなる。Cortex-A5コアでもオプションのマルチメディアエンジン「NEON」と浮動小数点演算ユニット(FPU)を加えた場合は、同じプロセスでロジック部が0.42平方mm、RAM部が0.26平方mmで、合計0.68平方mmとなる。

 ARMのホームページに掲載されているデータだとARM926のシリコン面積は90nmプロセスのシリコン面積優先コア(8KB/8KBキャッシュあり)で0.85平方mm、ARM1176のシリコン面積は90nmプロセスのシリコン面積優先コア(16KB/16KBキャッシュあり)で1.6平方mmとなっている。90nmプロセスと40nmプロセスでは単純計算でシリコン面積に5倍の違いが生じるので、90nmプロセスで1.6平方mmのARM1176を単純に40nmプロセスに縮小すると0.32平方mmとなる。Cortex-A5の0.53平方mmと比較すると、シリコン面積が小さいと断言するには疑問が残る。

 なおARMtechconで公表されたCortex-A5の試作結果で驚いたのは、消費電力当たりの演算性能(DMIPS/mW値)である。オプション(NEONとFPU)ありのコアで12DMIPS/mW、オプションなしのコアで13DMIPS/mWを達成しているのだ。これは相当に高い数値である。ちなみにCortex-A9は4.66DMIPS/mW(65nm Gプロセス)、ARM1176は4.8DMIPS/mW(90nmプロセス)、ARM926は7.8DMIPS/mW(90nmプロセス)である。現状で公表されている性能数値を見るかぎりは、Cortex-A5のDMIPS/mW値は飛び抜けて優れている。

TSMCの40nm LPプロセスによるCortex-A5コア(16KB/16KBキャッシュあり)の試作結果。動作周波数は485MHzこちらはオプションのマルチメディアエンジン「NEON」と浮動小数点演算ユニット(FPU)を加えている。動作周波数は453MHz

●単一命令発行、イン・オーダー実行の8段パイプライン

 Cortex-A5コアはユーザーからみるとCortex-A9コアと同様に利用できる。だが、その中身であるマイクロアーキテクチャはA5とA9でかなり異なる。Cortex-A5コアは、単一命令発行のイン・オーダー実行で動作する8段のパイプラインを備えた。Cortex-A9コアはアウト・オブ・オーダー実行と複数命令同時発行を採用しており、両者ではかなりの性能差が生じることが容易に理解できる。ショーン氏は講演後の質疑応答で「Cortex-A5コアでは意図的にいくつかの性能向上技術を取り外した」と説明していた。

 Cortex-A9コアよりは低いものの、ARM1176よりは高い性能をCortex-A5コアが実現できていることは間違いなさそうだ。EEMBCベンチマークではARM1176に比べて平均で15%ほど高い値をマークしていた。メモリアクセスの性能でも、ARM1176よりもずっと高い性能を達成できている。同じクロックサイクル数でARM1176の3倍の容量のデータにアクセスできることが、講演では示されていた。

Cortex-A5コアのパイプラインARM1176とCortex-A5のベンチマーク結果。ARM1176を基準に、Cortex-A5でベンチマーク値が向上した割合を示した
ARM1176とCortex-A5、Cortex-A9のメモリアクセス性能。縦軸はサイクル数。サイクル数が低いほどメモリアクセス性能が高いCortex-A5によるマルチコア構成のブロック図。Cortex-A9とほぼ同じマルチコア構成である

Cortex-A5コアとCortex-A9コアの開発スケジュール。右上に「Osprey(オズプレイ)」とあるのはCortex-A9のデュアルコア・ハードマクロ版

 Cortex-A5のライセンス供与は今年の第4四半期から始まり、2010年にはシリコンチップの試作が始まる予定である。プロセッサベンダーによる開発が順調にいけば、2011年にはCortex-A5コアを内蔵したプロセッサの量産が始まる。

 Cortex-A5コアの将来性について、9日の記者会見でショーン氏は「ARM9の250を超えるライセンス数とARM11の70を超えるライセンス数がCortex-A5コアの市場機会を意味する」と述べていた。ARM9とARM11にはアプリケーション処理向けだけでなく、リアルタイム処理向けのコアが存在する。ARM9とARM11のすべてのライセンシーがCortex-A5に移行するというシナリオにはいささか無理があるものの、Cortex-A5コアにはCortex-A9およびCortex-A8を超えるライセンス数をARMが期待していることがうかがえた。

(2009年 11月 16日)

[Reported by 福田 昭]