ARM社は、6月3日、新世代となるARMプロセッサ「Cortex-A12」を発表した。Cortex-Aシリーズは、スマートフォンやタブレットで利用されるARMのアプリケーションプロセッサのシリーズ。これまで、Cortex-Aシリーズは、大きく2系列あった。ハイエンド、メインストリームをカバーする系列とローエンドをカバーする系列である。前者は、Cortex-A8に始まり、A9と来てA15という系列であり、後者は、A5、A7という系列だった。これに加え、ARM社は2011年に64bitアーキテクチャとなるARMv8を発表、昨年11月には、具体的な製品となるCortex-A53/57を発表している。
簡単にいうと、Cortex-A12の登場で、Cortex-Aシリーズは、ハイエンド(A15+A7)、メインストリーム(A12)、ローエンド(A7)の3ライン体制となる(図01)。
図01: ARM社のCortex-Aシリーズの発表年(青い楕円)と相対性能(DMIPS/MHzに基づく。上下関係は正しいが、描画の関係で絶対位置で性能を表現しているわけではない)、製品の登場時期(黄色い楕円)を図にしてみた。横軸は時間で、楕円下の4桁の数字は年を表す |
今回のA12は、A15から搭載が始まった新しい機能(Large Physical Address Extensions:LPEA、仮想マシン支援機能、追加命令)に対応している、いわば「ARMv7.5」アーキテクチャとでも言うべきカテゴリに属する製品だ。Cortex-A12の前身となるA9はこの機能を搭載していなかった。LPEAは、仮想記憶機構で、物理メモリ空間を40bitとして、より多くのメモリを利用可能にする技術だ。これにより、Androidなどスマートフォンの搭載メモリを拡大できる可能性が高まった。オペレーティングシステムなどの対応は必要だが、現在、メモリマップの関係で、2ギガバイトと制限のあるアンドロイド機の搭載メモリを増やせるようになる。
製品化のサイクルが短縮
これまで、Cortex-Aシリーズでは、新プロセッサがハイエンドととして投入されたあと、その設計(PCでいうマイクロアーキテクチャ)をメインストリームで採用というサイクルを採用していた。時間がたてば、プロセスを1世代進めることができ、低コスト化と低消費電力化が可能となる。こうしたサイクルが可能だったのは、プロセッサの発表(RTLの完成)からSoCの量産に2年、製品への搭載に1~2年というサイクルで、公式発表から製品出荷まで4年の期間があった。Cotrex-A8は2005年に発表され、SoCとしてのOMAP3の量産開始が2007年だが、スマートフォンへの搭載は2009年頃からであり、AppleのiPhone 3GS、初代iPadや国内ではシャープのNetworkerなどが採用した。
Cortex-A9は、2007年に発表されたが、2010年にはTegra 2として登場し、東芝のDynabook AZなどに搭載されている。さらにCortex-A15は、2010年に発表されたが、2012年のNexus 10に搭載、さらにCortex-A7は2011年の発表だが、2013年のGalaxy S4にA15との組み合わせで搭載が行われている。このように現在では、プロセッサが発表されてから、2年で搭載製品が出てくる周期になっている。また、スマートフォンも各メーカーともに主力製品は、1年に一回は製品を更新しており、ハイエンド製品のため、毎年性能向上が必要になる。
たとえば、SamsungのGalaxy Sシリーズは、2010年に最初の製品が登場し、毎年のように高性能なプロセッサが採用されてきた。また、iPhoneも原則、毎年新しい製品が登場している。1年で新しい製品を出せるようにするには、毎年性能が向上したプロセッサが必要になる。
メインストリームの製品ラインが必要になったもう1つの理由は、ハイエンドの系列に属するA15などは、単体では消費電力が大きく、A7プロセッサと組み合わせたbig.LITTLEプロセッシングを行う必要がある点だ。big.LITTLEプロセッシングには、いろいろな構成が可能だが、Cortex-A15プロセッサ単体に比べるとA7プロセッサの分は、ダイが大きくなってしまう。Galaxy S4に搭載されたExynos 5-Octaは、4つのCortex-A15プロセッサに4つのA7プロセッサを搭載している。
スマートフォンで利用可能なようにbig.LITTLEプロセッシングを行えばダイのサイズが大きくなり、また、コストも上がってしまう。ハイエンド用途にはいいが、価格に敏感なメインストリーム向けにはあまり向いていない。
Cortex-A12という製品が投入された理由の1つは、big.LITTLEを使わなくても単体でスマートフォンクラスに搭載可能な性能と消費電力を、コストを押さえて実現するためであろう。
製造プロセスと製品ライン
ほぼ2年周期の製造プロセスを利用し、毎年高性能なプロセッサを提供するには、インテルが行っているように、アーキテクチャの更新と製造プロセスの更新を1年ずらし、アーキテクチャの変更で性能を上げ、翌年は製造プロセスの変更で性能を上げる方法がある。
そうなると、今度は、新規プロセッサの設計を2年サイクルで行う必要が出てくるわけだ。1つの設計を2世代の製造プロセスにまたがって使うことになると、ハイエンドのものをメインストリームへ下ろして使うことが困難になる。なぜならコストを下げるためには、さらに製造プロセスをもう1世代待たねばならないからだ。
なお、ARM社によるプロセッサの発表は、RTLと呼ばれる基本設計が完了した段階で行われることがほとんどだ。このあと、ファウンダリーや自社工場をもつ半導体メーカーは、ARM社の設計を自社の製造プロセスに合わせる最適化を行う。これにはある程度の時間がかかる。このため、現在でも、ARM社の発表から2年程度の時間が必要になっている。ただし、Qualcomm社などは、ARMのアーキテクチャライセンスを持っており、独自のパイプラインを持つプロセッサを製造している。このため、ある程度は、ARM社のスケジュールとは別に動くことは可能だ。しかし、その製造プロセスは、ファウンダリー企業に依存しているため、世の中の動きとまったく無関係というわけにもいかない。
こうしたことから考えると、Cortex-A12を採用したSoCは、早くて2015年頃となる。なお、ARMv8アーキテクチャを採用しているCortex-A50シリーズは発表が2012年なので、早ければ来年にもプロセッサの出荷が始まる可能性がある。
2013年にA12プロセッサが発表されたのは、ハイエンドのラインと1年設計の周期をずらすためだろう。なお、低価格のラインは、目標としては、ARMv8のCortex-A53があるものの、こちらに移行するまでには、かなりの時間がかかると予想される。A53は、A57でbig.LITTLEを実現するために必要なプロセッサだが、ローエンドの製品ラインで64bitプロセッサがに直ちに必要になる状況でもない。もっとも、ローエンドのラインは、Android 2.3(Ginger Bread)までは、ARM11プロセッサがカバーしていた。ARMv7アーキテクチャを要求されなかったからである。しかし、Android 4.0(ICS)以降は、ARMv7アーキテクチャが必要になり、昨年あたりから、Cortex-A5プロセッサの採用が始まった。この状況からすれば、A7搭載のSoCは発表されているものの、製品への搭載はこれからで、いますぐ新プロセッサが必要になるわけでもない。価格帯によっては、製造ラインの減価償却が済んだCortex-A8コアのSoCを採用するところもあるかもしれない。どちらにしても、ローエンドのラインは、性能よりも価格重視であり、最新のプロセッサでなければダメということでもない。
最初に述べたように、Cortex-A12の登場で、ハイエンド、メインストリーム、ローエンドの3つのプロセッサラインができあがった。おそらくハイエンドは、ARMv8アーキテクチャのA50シリーズへと移行することになると思われる(ARMv8は、ARMv7を完全に含む)。少なくとも、big.LITTLE技術により、トランジスタを使って性能を上げて、消費電力を下げるという方向が可能だからだ。しかし、メインストリームは、高性能は必要になるものの、筐体サイズなどから消費電力なども問題になるからだ。ここは、性能と消費電力のバランスを取った製品のポジションであり、当面、バランスを考えた製品系列となると考えられる。おそらくbig.LITTLEを使わない範囲で、高い性能を最小の消費電力でというARM本来の姿が実現されたプロセッサの系列になると考えられる。
編集部注: 本稿は、2013年6月7日にAndorid情報のWeb専門誌「AndroWire」に掲載した記事を再構成したものです。