ほとんどのアンドロイドスマートフォン、タブレットに使われているのは「ARM」社のプロセッサです。ですが、ARM社は、半導体製品を一切作っていません。実際にプロセッサを作るのは、ARMからライセンスを受けた半導体メーカーです。多数の半導体メーカーがARMのライセンスを受けているほか、セットメーカーなどもライセンスを受け、セットに組み込む半導体デバイス(カスタムLSI)にARMプロセッサを組み込むことも行われています。
パソコンなどで使われるプロセッサは、たとえばインテルの場合、自社で設計し、インテル自身が製造して販売しています。これに対して、ARMは、設計するだけで、自分でプロセッサを作ることはなく、プロセッサを売ることもありません(図01)。ARMからライセンスを受けた企業は、たとえば、半導体メーカーならば、外販する半導体製品を作ることが多いのですが、必ずしも、外販するわけではなく、特定の顧客の依頼に応じた製品を作ることもあります。また、スマートフォンなどの機器を製造するセットメーカーがライセンスを受け、自社製品にのみ利用するデバイス(カスタムLSIなどと呼ばれます)を作ることもあります。そのほか、半導体のデザインのみを提供する企業や製造のみを請け負う企業(ファウンドリー)もライセンスを受けています。
図01: PC系のプロセッサメーカー、たとえば、インテルやAMDは、自社で設計したものを商品として販売している。これに対してARM社は、設計をライセンスするのみで、実際の製品は、ライセンスを受けた企業が半導体を製造して販売、あるいは自社製品に組み込んで利用する。原則基本設計と製造は別の会社となる |
ARM社のプロセッサは単体で使われることはまれで、多くの場合、目的に合わせて必要な周辺回路と組み合わせた「SoC」(System On a Chip)として設計されます。SoCは、製品を構成する大部分の回路を組み込んだものをいいます。スマートフォンやタブレットに使われるプロセッサも、このSoCであり、プロセッサコアだけでなく、GPUやメディア処理、通信などの回路を組み込んであります。携帯電話の頃からの週間で、こうしたプロセッサを「アプリケーションプロセッサ」と呼ぶことがあります。
ARM社が提供ライセンスには、いくつかの形があります(図02)。基本的なものは、ARM社で設計したプロセッサの論理的な回路を提供するものです。半導体メーカーは提供された回路データを使い、自社工場の半導体プロセスなどに合わせてデバイスを設計します。そのためのデータは、RTL(Register Transfer Level)データとも呼ばれ、デジタル回路の論理回路の組み合わせで定義されています。具体的には、こうした回路を「ハードウェア記述言語」(HDL)で記述したものが提供されます。このようなデータを「ソフト・マクロ」といいます。
これに対して、半導体を製造するときに使う「マスクパターン」や関連データを提供することを「ハード・マクロ」といいます。ソフト・マクロは、トランジスタなどからなる回路図に変換し、これからマスクパターンを作る必要があります。ハード・マクロを使えば、ソフト・マクロよりも簡単にARMプロセッサを自社の半導体に組み込むことが可能です。ただし、マスクパターンは、特定の半導体製造プロセスに依存するため、多くの場合、特定のファウンダリー(半導体の製造のみを請け負う企業)のプロセスに合わせて作られています。
また、ソフト・マクロからマスクパターンを作る間のチューニングなどにより、消費電力や最高クロック周波数などが変わってきます。高性能で低消費電力のものを作るためには、このチューニングが不可欠ですが、ハード・マクロでは、あらかじめ想定したスペックの範囲内にしかなりません。ファウンドリーのプロセスによっては性能、消費電力のどちらか一方を優先させることは可能です。
そのほか、性能や消費電力、目的に合わせた改良などもソフト・マクロでは行うことが可能です。特殊な機能を実現するために、回路に変更を加えるような場合にはソフト・マクロを使います。
このようなハード・マクロ、ソフト・マクロなどを「IP」(Intellectual Property)と呼びます。ある意味、ARM社はIPを「売る」企業ともいえます。
半導体メーカーでないセットメーカーなどが、専用のデバイスを作る場合などには、セットメーカー内でSoCの設計や製造を行う場合がありますが、これらを支援する企業もあります。たとえば、SoCのデザインやプロセッサ設計の最適化を行う企業などです。あるいは、そうした作業を支援するソフトウェアやシステムなどを販売する企業もあります。
このように、ARM社は、半導体メーカーだけでなく、デザイン企業やファウンドリ、セットメーカーなどに対してもライセンスを行っており、さまざまなライセンス形態があります。
また、ソフトウェアからみたプロセッサハードウェアの仕様である「アーキテクチャ」のみのライセンスもありえます。ソフト・マクロやハード・マクロは、ARM社内で設計や試作が行われていますが、アーキテクチャライセンスを受けることで、独自に設計したARMプロセッサを作ることが可能になります。たとえば、Qualcomm社のSnapdragonに搭載されているScopionコアやKraitコアは、独自設計のプロセッサです。両方ともまっくのゼロから作られたコアです。また、Marvell社も独自設計のコアを持っています。これは、インテルから買収したXscaleがベースであり、これはもともとDEC社がARMと共同開発した「マイクロ・アーキテクチャ」であるStrong ARMがベースになっています。
ARM社は、プロセッサのアーキテクチャを定義します。アーキテクチャは、「ARMv7」などと番号を付けて区別されます。「v7」は、バージョン7の意味で、ARMの7つ目のアーキテクチャとなります。また、ARM社は、1つのアーキテクチャから利用目的に合わせて3つのタイプ(プロファイル)開発します。1つはアプリケーションプロセッサに使われる「Aプロファイル」、リアルタイム用途向けの「Rプロファイル」、組み込み汎用の「Mプロファイル」です。
ニュースなどでよく名前を聞く「Cortex-A8」などは、ARM社の開発した特定のマイクロアーキテクチャを意味します。「A8」の「A」は、「Aプロファイル」意味し、「Cortex」は、ARMv7に対応したプロセッサコアの名前(商標)になっています(図03)。組み込み用などでは「Cortex-M1」などの名称が使われます。かつては、マイクロアーキテクチャも番号で表しており「ARM11」などと呼んでいました。現在でも、Cortexシリーズよりも前の世代の製品は、この形式で表現されています。アンドロイドの中には、ARMv6アーキテクチャであるARM11プロセッサを使った製品もあります。現行のARMv7製品と比較すると性能は高くありませんが、その分価格も安価になります。
図03: ARMプロセッサは、ソフトウェアからみたハードウェア仕様としてのアーキテクチャに番号を付けて管理しており、さらに用途に合わせた複数のプロファイルが作られる。このプロファイルに基づいて具体的な設計(マイクロアーキテクチャ)がおこなわれ、CortexシリーズとしてIP製品となる |
アプリケーションプロセッサの場合、性能を上げるため、マイクロアーキテクチャは、改良されていきます。アプリケーションプロセッサでは、現在Cortex-A9というプロセッサがハイエンドになっていますが、来年にはCortex-A15というプロセッサが登場する予定です。
基本的には、番号が大きいほど性能が高く、
Cortex-A8 < Cortex-A9 < Cortex-A15
となっています。
こうしたライセンスを受けて、半導体メーカーは、SoCを作ります。こうしたメーカーのうち、アンドロイドに利用されるようなアプリケーションプロセッサを製造しているメーカーには、
- Broadcom
- Marvell
- NVIDIA
- Qualcom
- Sumsung
- ST Ericsson
- TI(Texus Insturments)
などがあります。このうち、TIのOMAPシリーズやNVIDIAのTegraシリーズ、QualcommのSnapdragonシリーズなどが名称として比較的よくニュースに登場します。
スマートフォンのスペックなどにこうした名称がなくとも、前述のマイクロアーキテクチャ名とクロック周波数、コア数などでおおよその性能が推測できます。基本的には、同じマイクロアーキテクチャで同クロックであれば、処理性能は同等です。ただし、設計が違えば、こまかな部分、たとえば、同クロックの場合の消費電力などに違いが出ます。また、デバイスとしてはSoCになるため、同等のプロセッサ構成であっても、消費電力やデバイスのフットプリント(基板上の面積)、周辺回路などに違いがあり、システムとしては必ずしも同性能にはなりません。
また、セットメーカーが自社製品用にARMプロセッサを使ったSoCを開発することもあります。有名なのは、Apple社のiPhone/iPad用のA5プロセッサ、SCEのPlay Station Vitaのプロセッサなどです。Apple社は、自社開発するため、デザイン企業を買収しました。また、製造は、Samsung社がおこなっているようです。Samsung社は、自社でアプリケーションプロセッサも開発していますが、ファウンダリ・ビジネスも行っています。Samsung社が製造しているからといって、SoCとしての設計に関与しているとは限りません。このあたりがPC用のプロセッサとは異なる部分です。
なお、ARMプロセッサコアには、GPUなどの周辺回路は含まれず、SoCとして設計する場合には、GPUや動画処理、音声処理などのプロセッサを統合します。こうしたメディア処理のプロセッサ(以後、グラフィックス/メディアプロセッサ)には、それぞれ専門のメーカーがあり、ARM自身もMaliと呼ばれるグラフィックス/メディアプロセッサ(のIP)を製品としてそろえています。グラフィックスやメディア処理は、アプリケーションプロセッサには必須の機能です。というのは、バッテリで動作する機器では、消費電力を抑える必要があり、そのためには負荷の画面描画(2次元および3次元)、動画、静止画、音楽などのメディアデータのエンコード、デコードをハードウェア(専用プロセッサ)で行うのが普通です。このため、基本的にアプリケーションプロセッサは、SoC内部にグラフィックス/メディアプロセッサを持っています。
このため、アプリケーションプロセッサメーカーでは、自社独自のグラフィックス/メディアプロセッサを持っていることも少なくありません。たとえば、NVIDIA社は、もともとGPUメーカーであり、自社開発したGeForce系のグラフィックス/メディアプロセッサをTegraに搭載しています。また、Qualcomm社は、Adelno(AMDでモバイル向けに開発されたGPU。ATI買収によりQualcomm社へ売却された)、Broadcom社は、VideoCoreといった独自グラフィックス/メディアプロセッサを持っています。
英国のImagination社は、アプリケーション向けのグラフィックス/メディアプロセッサのIPを販売する会社です。同社のPowerVRは、Apple A5、TI OMAPなどに広く採用されています。SoCを開発するとき、こうした外部のIPを利用することで、開発費用を抑えることが可能です。自社開発のグラフィックス/メディアプロセッサをSoCに組み込む場合、開発費は自社のみでカバーしなければなりません。ただし、外部IPを使うということは、他社とほとんど同じになる可能性もあります。ただ、セットメーカーなどでは、アプリケーションプロセッサ単体での差別化は不要であり、セットとして差別化が可能であればいいため、こうした外部IPを購入することが多いようです。同じCortex-A9コアを使う、PS Vitaと新しいiPadが同じPowerVRを採用しているのは偶然ではありません。
このようにARM系のプロセッサは、ビジネスも、提供形態もPCのプロセッサとは違っています。製造メーカーが「××だから」どうだ、という意見などは必ずしも正しいとは限りません。SoCとしての設計は別の会社が行っている可能性もあるからです。