電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

iPhone3GSと新型iPod touchのCPUについて

iPhone3GSと新型iPod touchのCPUはSamsungのカスタムチップS5PC100が使われています。
このカスタムチップはCPUのコアと2D,3D等のマルチメディア機能、周辺機器のDMA機能、メモリコントローラが1チップに詰め込まれています。
CPUコアとマルチメディア機能のうちグラフィック機能は他社がIPコアと言われるハードマクロのライセンスを受けて実装されています。

CPUコア(ARM)

CPUコアはARM社のCortex A8が採用されています。ARMアーキテクチャは携帯等の比較的パワーのいる機器に多く使われています。(当然ながらPCでよく使われるx86系と互換性はありません。)
Nintendo WiiNintendo DSARMアーキテクチャのCPUコアが採用されています。
PCでよく使われるCPUと比較すると、クロック数が低く速度は劣りますが、数十から数百分の1の電力で動作します。何より単価が安いです。
ちなみにiPhone3Gや旧iPod touchはARM11が使われています。

グラフィック機能(PowerVR

グラフィック機能はImagination Technologies社のPowerVR SGXが採用されています。PowerVRアーキテクチャはかつてPCのGPUの一角でした。結果としてnVidiaATIに負けたのですが、組込み機器用に方向転換し、小型端末分野ではかなりのシェアをつかむことになりました。最近ではIntel ATOMアーキテクチャ用のマルチメディアチップGMA500に採用されて、ネットブックの分野から徐々にPC市場に復活してます。
こちらもPCでよく使われるCPUと比較すると、クロック数が低く速度は劣りますが、数十から数百分の1の電力で動作します。単価も安いです。
ちなみにiPhone3Gや旧iPod touchPowerVR MBX-liteが使われています。
PowerVR SGXはOpelGL ES2.0対応ですが、よくOpelGL ES1.1の機能が使えないやソフトウェアで変換するから遅いと言った噂を聞きます。しかし、それは間違いでOpelGL ES1.1の機能もハードウェアで実行してくれます。それもowerVR MBXより早いです。
あくまでもOpelGL ES2.0と1.1の互換が無いと言うのは、ソフトウェアレベルでのAPIに互換が無いだけです。PowerVR SGXはハードウェア的には両方の機能が実装されています。
iPhoneSDKでもOpelGL ES2.0のライブラリを使う場合は1.1の機能は使えないし、1.1のライブラリを使う場合は2.0の機能を使えません。

iPhone SDK Programming Manual

iPhone SDK Programming Manual

ARMプロセッサ入門―ARMアーキテクチャの詳細&ARM7/XScaleの応用 (TECH I)

ARMプロセッサ入門―ARMアーキテクチャの詳細&ARM7/XScaleの応用 (TECH I)