昨年(2024年)、「最新CPUは50年前の__万倍速い!進化の歴史を辿ってみた」という記事を書かせて頂いたが、編集部から「今度はiPhone登場以降のモバイル向けプロセッサの進化について、性能がどのぐらいになったのかまとめていただきたいのですが」という依頼をいただいた。

 ……まぁやることは以前とあんまり変わらないのだが。

 いわゆる携帯電話に、電話機能以外のものがいつ入ったか?というのは判断が難しいのだが、ゲームなら1998年の「Nokia 6110」(写真1)がSnake Game(写真2)を搭載したのが多分最初である。

【写真2】Snake Gameの画面。By Nokia- ,Fair use,。ちなみに、ほかにMemoryとLogicというゲームも搭載されていたらしい

 これに搭載されていたのはTIのMAD2こと「5L43H04」というチップセットで、13MHz駆動の「ARM7TDMI」コアを搭載していた。ARM7TDMIは0.7 DMIPS/MHzとされていたので、13MHz駆動で9.1 DMIPSほどの性能となる。ちなみにArduino Uno R3が9.85 DMIPSなのだそうで、これと同程度の性能と考えると分かりやすい。

 ただこの頃はまだアプリケーションプロセッサといった考え方もなかったし、5L43H04もメインとなる処理は通信制御であって、Snakeはオマケという扱いだったから、この頃は実はプロセッサの性能を比較してもあまり意味がない。

 その後、フィーチャーフォンでもアプリケーションプロセッサを搭載したものとかが出てきたりした。もっともこの世代は、機種ごとにプロセッサが異なったりしている(松下は確かUniphierベースの独自プロセッサを採用していた)など、公平に比較する方法が見つからないのと、そもそもお題が“iPhone以降のスマートフォン向けプロセッサ”という話だったので、iPhone以前は割愛させていただく。

 また、Android系はあまりに多数のメーカーがありすぎて、表を作るのが大変に困難だったので、今回はGoogle提供の製品のみに限らせて頂いた。あとスマートフォンということでタブレット(iPadやNexus系タブレット)あるいはメディアプレーヤー(iPod Touch類)は省かせて頂いている。

 ちなみになんでタブレットを外したかというと、利用できる電力がスマートフォンの倍以上(ついでに放熱能力も倍以上)ということで、一緒に比較するのが困難なためだ。あくまでも今回は、消費電力コアあたり1~2W未満に抑えられているスマートフォンのみでの比較としている。

2007~2010年: スマートフォン市場の興隆(表1)iPhoneを手にするスティーブ・ジョブズ氏

 まず2007年6月に初代「iPhone」が、翌2008年7月には3G携帯電話網に対応した「iPhone 3G」が登場する。

 iPhoneに搭載されていたのは、Samsungが製造したARM11ベースのSoCで、定格620MHzのところ、実際には412MHz駆動となっていた。ちなみに初代Raspberry Piに搭載されていた「Broadcom BCM2835」は、同じARM11コアを搭載しつつ動作周波数は700MHzほどだったで、初代iPhoneやiPhone 3Gは、初代Raspberry Piの6割弱の性能しかもっていなかったことになる。

 ただAppleは、2009年にはCortex-A8を内蔵したSamsungの「APL0298C05」を搭載した「iPhone 3GS」、2010年には、やはりCortex-A8搭載(ただし動作周波数をやや引き上げた)「Apple A4」を搭載する「iPhone 4」を発表する。

 Android陣営はやや遅れたが、2010年1月にまず「Nexus One」、同年11月に「Nexus S」を発表している。Nexus OneはCortex-A5シングルコアの「Snapdragon S1」ということで性能的にちょっと見劣りしたが、Nexus SはCortex-A8搭載の「Samsung Exynos 3」を搭載して、iPhoneとほぼ性能的には互角となった。

iPhone 4Nexus One【表1】2007年から2010年代のプロセッサ発表/発売日発売元製品名SoC(CPU Architecture)コア数動作周波数(GHz)製造プロセスDMIPS 2.1Geekbench v3Geekbench v4Geekbench v5Geekbench v62007年06月AppleiPhoneSamsung S5L8900(ARM 1176JZF-S)10.412Samsung 90nm0.5152008年07月AppleiPhone 3GSamsung S5L8900(ARM 1176JZF-S)10.412Samsung 90nm0.5152009年06月AppleiPhone 3GSSamsung APL0298C05(Cortex-A8)10.6Samsung 45nm1.21522010年01月GoogleNexus OneSnapdragon S1(Scorpio:Cortex-A5)11Samsung 65nm1.572010年06月AppleiPhone 4Apple A4(S5L8920)(Cortex-A8)10.8Samsung 45nm1.62112010年11月GoogleNexus SSamsung Exynos 3 Single(Cortex-A8)11.2Samsung 45nm2.43162011~2013年: 性能競争の始まり(表2)

 AppleだけがiPhoneを出している時代はある、意味競争もへったくりもないわけだが、Androidが競合として出てくるようになると、当然そこで競争が始まる。2013年までの範囲で言えば、これはAndroid陣営の方がやや有利であった。

 「Nexus 4」は「iPhone 5」をほぼキャッチアップし、Nexus 5でiPhone 5を上回る性能を出すようになる。ただこの頃Appleは何をやっていたか?というと、続く64bitへの対応作業を進めており、こちらはむしろAndroid陣営より先行していたので、別にAppleが手を抜いたとかそういう話ではない。

Nexus 4iPhone 5【表2】2011年から2013年代のプロセッサSoC(CPU Architecture)コア数動作周波数(GHz)製造プロセスDMIPS 2.1Geekbench v3Geekbench v4Geekbench v5Geekbench v6″Apple A5(Cortex-A9)21Samsung 45nm5407TI OMAP 4460(Cortex-A9)21.5TSMC 45nm7.5630Apple A6(Swift)21.3Samsung 32nm12991237Snapdragon S4(Krait)41.5TSMC 28LP15901280Apple A6(Swift)21.3Samsung 32nm12471203Snapdragon 800(Krait)42.26TSMC 28HPM299228982013~2016年: 64bitへの移行(表3)

 2011年3月、ARMは64bit命令セットであるARM v8-Aを発表した。これにいち早く対応したのがAppleであり、Apple A7で64bit対応を果たしている。

 Googleの方は「Snapdragon 805」を搭載した「Nexus 6」でこれをキャッチアップしたが、ちょっと対応が遅れたことは否めない。ちなみにiOS/Androidのどちらも、OSそのものは早期に64bit対応が施されたが、アプリケーションの64bit対応はやや時間を要した。

iPhone 6とiPhone 6 PlusNexus 6

 余談だが、x86の場合は32bitと64bitで命令が共通であり、それもあって基本的に処理性能に差はない。もちろん、64bit化によるメインメモリの4GB超えとかに起因するメリットはあるが、性能に直接関係するところでは、汎用レジスタの数が増えた(ので、無駄にスタックを積まなくても良くなった)ことで若干の高速化は実現可能(実際には64bitでも律儀にスタックを積むコードを吐くコンパイラが当初は多数だった)という程度である。

 ところがArmの場合は32bit(AArch32)と64bit(AArch64)では命令体系そのものが異なっており、より高速動作が可能になってはいる。といっても、そこまで劇的に性能が変わる、というものでもなかったのだが、一応高速化は実現している。ただそのメリットを享受するためには、OSだけでなくアプリケーションも64bit対応が必要であり、こちらはゆっくりと変わって行くという感じであった。

【表3】2013年から2016年代のプロセッサ発表/発売日発売元製品名SoC(CPU Architecture)コア数動作周波数(GHz)製造プロセスDMIPS 2.1Geekbench v3Geekbench v4Geekbench v5Geekbench v62013年09月AppleiPhone 5sApple A7(Cyclone)21.4Samsung 28nm22112014年09月AppleiPhone 6Apple A8(Typhoon)21.4TSMC 20nm27376192014年09月AppleiPhone 6 PlusApple A8(Typhoon)21.4TSMC 20nm25396022014年10月GoogleNexus 6Snapdragon 805(Krait)42.7TSMC 28HPM341523042015年09月AppleiPhone 6sApple A9(Twister)21.85Samsung 14nm/TSMC 16nm311610508752015年09月AppleiPhone 6s PlusApple A9(Twister)21.85Samsung 14nm/TSMC 16nm41229738542016年03月AppleiPhone SE (1st)Apple A9(Twister)21.85Samsung 14nm/TSMC 16nm10249342015~2024年: big.LITTLE/DynamiQの実装(表4)

 Armにおいて、高性能コアと省電力コアの両方を1つのプロセッサに実装する「big.LITTLE」そのものは2011年に発表されていたが、これが実際に製品に実装されたのは2015年以降のことである。

 先行したのはGoogleで、「Nexus 6P」に搭載された「Snapdragon 810」がこれに対応。翌2016年にはAppleも「A10 Fusion」でやはりbig.LITTLEを実装する。

 ちょっと面白いと思うのは、Snapdragonや、表にはないがこの当時Snapdragonの競合の位置にあったSamsungのExynosやMediaTekのHelio/Dimensityシリーズは、いずれもbig.LITTLEでサポートされていた最大構成である合計8コア製品をラインナップしていたこと。中にはMediaTekのHelio X20~X30のように、独自拡張した10コア(超高性能コア×2+高性能コア×4+省電力コア×4)構成の製品までラインナップしていたのに対し、Appleはbig×2+LITTLE×4の6コア構成を維持していることだ。

 実際のところ、消費電力枠を考えると、たくさんbigコアを搭載してもそこまで長時間動作はできないという問題は常にあり、結果から言えばAppleの実装の方が実効性能を高められた可能性は否定できない。

Nexus 6PiPhone X

 Appleにしても、たとえば「iPhone 7」向けの「Apple A10」はHurricane×2+Zephyr×4だが、「iPad Pro(2017)」向けの「Apple A10X」はHurricane×3+Zephyr×3に変更されているし、「iPhone XS」向けの「Apple A12」はVortex×2+Tempest×4だが、「iPad Pro(Gen 3)」向けの「Apple A12X」はVortex×4+Tempest×4に強化されている。

 big.LITTLEは2017年にDynamiQに進化。第1世代のDynamiQは最大8コアに制限されていた(これはおそらくCCN: Cache Coherent Networkの制限)が、第2世代以降は制限が大分緩和されており、もっと多数のコアを実装できるようになった。ただ電力および放熱能力にゆとりがあるタブレット向けはともかく、スマートフォン向けは一部の例外を除き、引き続き8コアが最大構成のままになっている。

【表4】2015年から2024年代のプロセッサ発表/発売日発売元製品名SoC(CPU Architecture)コア数動作周波数(GHz)製造プロセスDMIPS 2.1Geekbench v3Geekbench v4Geekbench v5Geekbench v62015年09月GoogleNexus 6PSnapdragon 810(Cortex-A57+Cortex-A53)4+42.0/1.5TSMC 20nm490325482016年09月AppleiPhone 7Apple A10 Fusion(Hurricane+Zephyr)2+22.34/1.05TSMC N1613419632016年09月AppleiPhone 7 PlusApple A10 Fusion(Hurricane+Zephyr)2+22.34/1.05TSMC N16125411562016年10月GooglePixelSnapdragon 821(Kryo)2+22.15/1.60Samsung 14LPP40898907742017年09月AppleiPhone 8Apple A11 Bionic(Monsoon+Mistral)2+42.39/1.42TSMC N10244916942017年09月AppleiPhone 8 PlusApple A11 Bionic(Monsoon+Mistral)2+42.39/1.42TSMC N1022672017年10月GooglePixel 2Snapdragon 835(Kryo 280:Cortex-A73/Cortex-A53)4+42.35/1.9Samsung 10LPE7245148613232017年11月AppleiPhone XApple A11 Bionic(Monsoon+Mistral)2+42.39/1.42TSMC N1020522018年09月AppleiPhone XSApple A12 Bionic(Vortex+Tempest)2+42.49/1.587TSMC N726562018年09月AppleiPhone XS MaxApple A12 Bionic(Vortex+Tempest)2+42.49/1.587TSMC N726642018年10月GooglePixel 3Snapdragon 845(Kryo 385:Cortex-A75+Cortex-A55)4+42.8/1.8Samsung 10LPP8340182215722018年10月AppleiPhone XRApple A12 Bionic(Vortex+Tempest)2+42.49/1.587TSMC N722732019年05月GooglePixel 3aSnapdragon 670(Kryo 360:Cortex-A75+Cortex-A55)2+62.0/1.7Samsung 11LPP130312312019年09月AppleiPhone 11Apple A13 Bionic(Lightning+Thunder)2+42.65/1.82TSMC N7P36592019年09月AppleiPhone 11 ProApple A13 Bionic(Lightning+Thunder)2+42.65/1.82TSMC N7P38162019年09月AppleiPhone 11 Pro MaxApple A13 Bionic(Lightning+Thunder)2+42.65/1.82TSMC N7P38662019年10月GooglePixel 4Snapdragon 855(Kryo 485:Cortex-A76+Cortex-A76+Cortex-A55)1+3+42.84/2.42/1.8TSMC N7221925352020年04月AppleiPhone SE (2nd)Apple A13 Bionic(Lightning+Thunder)2+42.65/1.82TSMC N7P30352020年08月GooglePixel 4aSnapdragon 730G(Kryo 470:Cortex-A75+Cortex-A55)2+62.2/1.8Samsung 8LPP15062020年09月GooglePixel 5Snapdragon 765G(Kryo 475:Cortex-A76+Cortex-A76+Cortex-A55)1+1+62.4/2.2/1.8Samsung 7LPP249418602020年10月AppleiPhone 12Apple A14 Bionic(Firestorm+Icestorm)2+43.10/1.823TSMC N545822020年10月AppleiPhone 12 ProApple A14 Bionic(Firestorm+Icestorm)2+43.10/1.823TSMC N547362020年11月GooglePixel 4a (5G)Snapdragon 765G(Kryo 475:Cortex-A76+Cortex-A76+Cortex-A55)1+1+62.4/2.2/1.8Samsung 7LPP165517992020年11月AppleiPhone 12 MiniApple A14 Bionic(Firestorm+Icestorm)2+43.10/1.823TSMC N545922020年11月AppleiPhone 12 Pro MaxApple A14 Bionic(Firestorm+Icestorm)2+43.10/1.823TSMC N549642021年08月GooglePixel 5aSnapdragon 765G(Kryo 475:Cortex-A76+Cortex-A76+Cortex-A55)1+1+62.4/2.2/1.8Samsung 7LPP15322021年09月AppleiPhone 13 Apple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P52422021年09月AppleiPhone 13 MiniApple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P52222021年09月AppleiPhone 13 ProApple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P57252021年09月AppleiPhone 13 Pro MaxApple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P57412021年10月GooglePixel 6Google Tensor(Cortex-X1+Cortex-A76+Cortex-A55)2+2+42.8/2.25/1.6Samsung 5LPE31862022年03月AppleiPhone SE (3rd)Apple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P54402022年05月GooglePixel 6aGoogle Tensor(Cortex-X1+Cortex-A76+Cortex-A55)2+2+42.8/2.25/1.6Samsung 5LPE31122022年09月AppleiPhone 14Apple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P55272022年09月AppleiPhone 14 ProApple A16 Bionic(Everest+Sawtooth)2+43.46/2.02TSMC N4P66942022年09月AppleiPhone 14 Pro MaxApple A16 Bionic(Everest+Sawtooth)2+43.46/2.02TSMC N4P66662022年10月GooglePixel 7Google Tensor G2(Cortex-X1+Cortex-A78+Cortex-A55)2+2+42.85/2.35/1.8Samsung 5LPP33972022年10月AppleiPhone 14 PlusApple A15 Bionic(Avalanche+Blizzard)2+43.24/2.01TSMC N5P55342023年05月GooglePixel 7aGoogle Tensor G2(Cortex-X1+Cortex-A78+Cortex-A55)2+2+42.85/2.35/1.8Samsung 5LPP32932023年09月AppleiPhone 15Apple A16 Bionic(Everest+Sawtooth)2+43.46/2.02TSMC N4P63232023年09月AppleiPhone 15 PlusApple A16 Bionic(Everest+Sawtooth)2+43.46/2.02TSMC N4P63432023年09月AppleiPhone 15 ProApple A17 Bionic(Everest+Sawtooth)2+43.78/2.11TSMC N3B71802023年09月AppleiPhone 15 Pro MaxApple A17 Bionic(Everest+Sawtooth)2+43.78/2.11TSMC N3B71412024年09月AppleiPhone 16Apple A17 Bionic(Everest+Sawtooth)2+43.78/2.11TSMC N3B81882024年09月AppleiPhone 16 PlusApple A17 Bionic(Everest+Sawtooth)2+43.78/2.11TSMC N3B81882023年~: Armv9-Aの実装(表5)

 最新のアーキテクチャの変更が、Armv9-Aへの対応である。もともとArmの命令セット、特にArm v8-Aはサブバージョンがいっぱいあり

v8.0-A: ベースとなる64bit命令v8.1-A: Atomics命令/VHE(Virtualization Host Extensions)を追加v8.2-A: FP16のサポート、Stat Profiling、RAS(Reliability、Availability、Serviceability)機能、SVEを追加v8.3-A: Nested Virtualization、RCpc(Release Consistent processor consistent)、Pointer Authentificationを追加v8.4-A: 暗号化命令の強化、SHA512/SHA3対応命令の追加、Secure EL2、MPAM(Memory Partitioning and Monitoring)を追加v8.5-A: 乱数発生命令、Branch Target Identifier、Memory Taggingを追加v8.6-A: MatMul命令、BF6サポート、仮想化強化、ポインタ認証強化(Enhanced PAC2/FPAC実装)、高精度タイマv8.7-A: PCIe Hot plug、Atomic 64Bytes load/store、WFI(Wait for Instruction)/WFE(Wait For Event)のサポート

となっている。ただこれを全部サポートしているプロセッサがあるか?というと、Armですらそういうプロセッサを出していなかったりする。

 この辺が問題と思ったのか、2021年に発表されたArmv9-AというかArmv9.0-Aは、Arm v8.5-A+CCS(onfidential Compute Architecture)+SVE2という構成になり、v9.1-A/v9.2-Aはそれぞれv9.0-Aにv8.6-A/v8.7-Aの機能を盛り込んだものとなっている。

 Armのコアで言えば、2021年に発表された「Cortex-X2」「Cortex-A710」「Cortex-A510」以降がArm v9-A対応になっているのに対し、Appleは2024年発表の「A18 Bionic」でやっとArm v9-A対応を果たしている。

 もっともAppleの場合、A10がArm v8.1-A、A11がArm v8.2-A、A12がArm v8.3-A、A14がArm v8.4-A、A15がArm v8.5-A、A16/A17がArm v8.6-A対応になっており、逆にArmのCortex-X1は基本はArm v8.1-A準拠で、そこにArm v8.2-AのRASと暗号化命令、v8.3-AのLDAPR命令、v8.4-Aのdot products命令を追加しただけ、という中途半端な実装になっている。

Google Pixel 9iPhone 16 Pro Max

 Arm v9-Aのメリットは、SVE2のサポート以外だとv8.5-AのBranch Target IdentifierやMemory Taggingなどの脆弱性対応の話であり、これはむしろAppleの方が先に実装を済ませていたという話であるから、実はそれほどデメリットにはなっていない。

【表5】2023年以降のプロセッサ発表/発売日発売元製品名SoC(CPU Architecture)コア数動作周波数(GHz)製造プロセスDMIPS 2.1Geekbench v3Geekbench v4Geekbench v5Geekbench v62023年10月GooglePixel 8Google Tensor G3(Cortex-X3+Cortex-A715+Cortex-A510)1+4+42.91/2.37/1.7Samsung 4LPE38252024年05月GooglePixel 8aGoogle Tensor G3(Cortex-X3+Cortex-A715+Cortex-A510)1+4+42.91/2.37/1.7Samsung 4LPE41712024年08月GooglePixel 9Google Tensor G4(Cortex-X4+Cortex-A720+Cortex-A520)1+3+43.1/2.6/1.9Samsung 4LPP40292024年09月AppleiPhone 16 ProApple A18 Bionic(Everest+Sawtooth)2+44.044/2.424TSMC N3E85722024年09月AppleiPhone 16 Pro MaxApple A18 Bionic(Everest+Sawtooth)2+44.044/2.424TSMC N3E85052025年02月AppleiPhone 16eApple A18 Bionic(Everest+Sawtooth)2+44.044/2.424TSMC N3E80562025年03月GooglePixel 9aGoogle Tensor G4(Cortex-X4+Cortex-A720+Cortex-A520)1+3+43.1/2.6/1.9Samsung 4LPP4067スマートフォンのCPUはどのぐらい速くなった?

 ということで、5つの時代に分けてAppleとGoogleのスマートフォンと、そこに実装されているコアの特徴を簡単にご紹介したところで、最後に性能をまとめてみてみたい。

 いろいろ調べたのだが、ある程度網羅しているものとなるとGeekbenchくらいしか存在しないのが実情で、しかもv3/v4/v5/v6のスコアが混在している。表1~5にそれぞれGeekbenchの結果を記したが、これはMulti Core Scoreの代表値である。

 あと表1の世代は、そもそもGeekbench自体がない。仕方がないので、この世代のみコアのDMIPS値(ARM11: 1.25 DMIPS/MHz、Cortex-A5: 1.57 DMIPS/MHz、Cortex-A8: 2.0 DMIPS/MHz、Cortex-A9: 2.5 DMIPS/MHz)にコアの数と動作周波数を掛けたものを利用して性能比を算出している。

 またベンチマーク同士の性能比は、前回同様にベンチマーク結果の相乗平均で算出している。

 ということでグラフ1がその結果である。Appleで言えば、2007年6月の初代iPhoneと2024年9月のiPhone 16 Proの性能比が384.9倍と算出されており、17年3カ月で384.9倍なので年率40.5%ほどの伸びとなっている。

【グラフ1】スマートフォン向けCPUの性能進化

 一方Googleの方は、2010年1月のNexus Oneと2025年3月のGoogle Pixel 9aの比は76倍ほど。年率32.2%ほどとやや伸びが悪い。理由の1つは、GoogleのTensor G4が、Cortex-X4コアを搭載しつつも、最大クロックは3.1GHz留まりと、あまり伸びていないことで、その主な理由はSamsung 4LPPを利用しているためと思われる。競合のApple A18 BionicのEverest Coreが最大4GHzで動作していることを考えると、これが性能の伸びをやや抑えている要因と考えられる。

 韓国のthe bellが6月19日に、GoogleがTensor G5の製造委託先をTSMCに変更したことを報じた(リンク先は韓国語)が、それも止むなしと思われる。仮にTensor G4が4GHzで動作し、Geekbenchのスコアも動作周波数に比例して伸びたと仮定すると、性能の伸びは年率34.7%まで改善することになる。Appleほどではないが、まぁ納得できる性能の伸びである。

 以前の記事では49年で6,769万倍、年率44.5%という数字を示したが、Appleの40.5%は結構これに近い数字になっているのが分かる。とはいえ、グラフを見て頂くと、そのAppleでも2019年以降は次第に伸びが鈍化してるのが目に見える。2019年9月のA13 Bionicと2024年9月のA18 Bionicの性能比はおおよそ2.2倍。年率にすると15.1%程度の伸びでしかない。やはり消費電力や実装面積が厳しい分、むやみにコアを増やしたり動作周波数を引き上げられないのが効いているということかもしれない。

 逆に言えば、アーキテクチャ改良だけで年率15%も性能を引き上げた、というのは凄いことなのかもしれないが。

WACOCA: People, Life, Style.

Exit mobile version