Apple M1 Macが最近気になっています。登場当時はメモリ8GBのモデルしかないと勘違いしていたので、今どき8GBでは心もとないなーとスルーしていたのですが、16GBモデルも存在すると最近知って興味が出てきました。Core i9を上回る性能でバッテリー駆動時間も驚異的となれば、惹かれない訳にはいきません。
一口にARMと言えども
一口にARMといってもピンからキリまでありますが、間違いなくM1は最高性能でしょう。AppleがiPhone / iPad用のCPUを自社開発にこだわったのは、単に最高性能のスマートフォンを作りたかったというのもあるのでしょうが、最終的には自社開発のCPU上でMacを動かしたかったというのも多分にあるでしょう。
ARMはARM命令セットが動くCPUのことですが、現行の命令セットは ARMv8 です。Intel系プロセッサでいうところのx86_64とかAMD64とか言われているアレです。64bitに対応し、ARMの特徴だったRISCプロセッサらしからぬ今となってはレガシーな部分をリセットして作られたモダンな命令セットのようです。ただし、従来の32bitの命令セットも動かすことが出来るので完全に切り捨てたわけではないようです。SIMD命令もあるし、暗号化命令もあったりしてまた最近だとニューラルネット系の命令も取り込んでいるようです。
ARMを製造するメーカーは色々ありますが、大別して二つに分けられると思います。ARMのコアIPを買ってきて、LTEモデムなどを統合しSoCを製造するメーカーと、ARM命令セットのライセンシーを受けてARM命令セットが動くCPUを作るメーカーです。Cortex-A76などのCortex系が前者で、Apple M1や A14 Bionic は後者になります。前者の場合Cortexの名前を聞くよりはQualcomm SnapdragonやNvidia Tegraなどのチップ名を聞くことのほうが多いと思います。Android系で有名なSoCはARM社設計のCortexを使っている場合がほとんどだと思います。このことから分かるようにAppleのARMにかける本気度が分かります。
[iPhone 12] A14 Bionic vs [Pixel 5] Snapdragon 765g
売れ筋スマートフォンの2つですが搭載CPUはiPhon12がApple A14 Bionicで、Pixel 5がSnapdragon 765gです。Snapdragon 765gの高性能CPUコアはCortex-A76です。まとめると。
スマートフォン | SoC | 高性能コア | ←コア数 | 低消費電力コア | ←コア数 |
iPhone 12 | A14 Bionic | Firestorm 3 GHz | 2 | Icestorm 1.8 GHz | 4 |
Pixel 5 | Snapdragon 765g | Kryo 475 Gold (Cortex-A76) 2.4Ghz / 2.2GHz | 2 | Kryo 475 Silver (Cortex-A55) 1.8GHz | 6 |
FirestormとCortex-A76どっちが強いの?
ベンチマーク結果はWebにたくさんありますし、両方のスマートフォンを持ってないので言及を避けますが、iPhone 12(Firestorm)の方が高性能のようです。
CPUの性能はベンチマークで最終的に見えますが、CPUの内部構造に着目するともっと面白くなってきます。CPUの内部動作はざっくり分類すると
- フェッチ
- デコード
- 実行
- ライトバック
の順に行われます。1のフェッチは命令を読み込むことで、2のデコードは命令を解読することです。足し算なのか引き算なのか解釈するんですね。3の実行で実際に計算し、4のライトバックでメモリに結果を書き込みます。このとき現代のCPUは1つ1つ実行するのではなく高速化のために並列して動作します。デコードも並列して行いますし、解読した命令の実行も並列して行います。
Appleが自社開発までにこだわって作ったA14 Bionicですが、なんと最大8命令デコード/サイクルを実現しているそうです。対してCortex-A76は4命令デコード/サイクルのようです。このデコード数だけ見てもAppleが相当力を入れてARM CPUを開発しているかが分かります。
来たれARMパソコン時代!
今後M1 Macのようにパソコン用でもARM CPUを搭載したものが手に入れられるようになる時代が来ると期待しているのですが、単にARMと言っても性能は千差万別で製品選びは難しくなるのだろうなーと思いました。今のPCだとIntelのCore i3とAMDのRyzen 3は若干の性能差はありますが、それほど差が開いているわけではないですが、これがARMパソコン時代が到来した際にはなかなか混乱しそうです。