SoCのスペックの読み方について
スマートフォンで使われるSoC
ARMのコアを中心にベースバンド機能、グラフィック、その他PCにおけるチップセットぐらいまでを一つのチップに搭載した半導体。System On Chip。
例えばi.MX53シリーズでは
- ARMプロセッサコア
- グラフィックコントローラ
- メモリコントローラ
- USBコントローラ
- GPIC
- SDカードコントローラ
- PATA/SATA
- UART
- 小容量のROM/RAM
- など
まさに1チップコンピュータと呼べるほどの機能を集積している。
CPUコア
現行のSoCはほとんどCortex-A8で横並び。次の世代はCortex-A9か同 MPCore。クロック当りの性能が向上したりマルチコアになったりする。
命令セットとしてはARMv7、古いAndroid端末ではコアの世代が一つ前のARMv6(シリーズ名としてはARM11)しか対応していないものもあり、これらでは一部のバイナリが動かない。有名なところではAndroid版FlashがARMv7の命令を使っているようでARMv6では速度以前に動かない。
Qualcomm Snapdragon
Qualcommが開発したSoC。Nexus Oneを始め現代的なスマートフォンに標準的に採用されているチップ。携帯電話のベースバンドチップを作っていた頃からの流れからか、サポート体制が良いためかCortex-A8としては早い時期から対応していたためか、採用例が非常に多い。
グラフィック部分はAdreno(後述)。第一世代でAdreno 200、第二世代ではAdreno 205、第三世代ではAdreno 220。
QSD8250/8650という1GHzで稼動する第一世代のチップを使っている場合が多いが、第二世代のMSM7230/7630を使っている製品も出始めている(HTC Desire ZやDesire HDなど)。第二世代では性能によって幾つかのバリエーションが出来た。世代が進んでプロセスルールが65nmから45nmに変っているが、クロックは1GHzから800MHzへ下がっている(MSM7630など)。採用製品でのベンチマークを見る限りはクロックが下がっているが性能的には遜色ないようだ。プロセスルールの変更と合わせて、消費電力が下がっている模様。
同じ世代の型番違いは、無線部分の対応技術が違う。
AndroidだけでなくWindows Phone 7でも使われており、全てのモデルでSnapdragonを使うことでハードウェアのスペックを統一している。
Samsung Hammingbird
Galaxy Sで使われているチップ。直接利用しているのは同社以外で見たことはないが、Apple A4はバリエーションの一つであると思われる。
Cortex-A8とPowerVRの組合せ。
Apple A4ではメモリとの接続が64bit幅になっていることが性能向上への寄与が大きいのではないかと言われていた。
Texas Instruments OMAP
携帯電話向けSoCの老舗。ARM9ベースのOMAP1、ARM11ベースのOMAP2を経て、現行はCortex-A8ベースのOMAP3
Motorolaの端末で良く使われている。Beagle Board、Palm PreやNokia N900などでの利用もある。
グラフィック部分はPowerVR。
次の世代であるOMAP4ではプロセッサ部分がCortex-A9MPになりマルチコア化するらしい。
Freescale i.MX
Freescaleが作っているSoC。
Kindle、Gigabeatなど採用例は多いが、現行のフラグシップ機のスマートフォンで使うには非力であるためか採用例をあまり見ない。
E Inkの制御機能を搭載していく方向で進化していくのかも。
NVIDIA Tegra
NVIDIAのSoC。
Teagra1ではプロセッサがARM11で、Tegra2ではCortex-A9 MPCoreというのが他とちょっと違う。グラフィックは本業なので専用のものが実装されている。
採用例としては、Zune HDやDynabook AZなど。
AZでの評価を聞く限り凄いカタログスペックに相応わしい体感速度であるらしい。
組込み分野では新参者であるためか、採用例はまだまだ少ない。Linuxで使う場合もコードが公開されていないblobを大量に使わなければいけないなど、やや毛色が違う。