2020年6月に開催されたアップルのWWDCでは、MacのメインCPUをIntel(インテル)からアップル製のいわゆるApple Siliconにスイッチすることが発表された。それ以来、その方針があたかも金科玉条のように語られ、ずっと以前から運命付けられていたかのような雰囲気さえ漂っている。それこそが実際の製品の発売にかなり先立って、こうした方針転換を発表したアップルの狙いだったことは間違いない。
いみじくもAPIを公開し、サードパーティにアプリケーションの開発を可能にしているパソコンが、CPUのメーカー、系統を大きく変更するというのには大きく2種類の理由が考えられる。1つは技術的なもの。もう1つは政治的なものだ。WWDCのキーノートなどでは、当然ながら政治的な狙いについては何も語られていない。もちろん技術的なメリットがなければ、政治的な理由だけでCPUを変更するとも考えにくいが、すでに成熟した製品となって久しいMacが、この段階に来て変更に踏み切るからには、政治的なメリットもそれなりに大きいはずだ。
この記事ではそこには深入りしないが、アップルにしてみれば今後はCPUの選択、設計、コスト、納期など、あらゆる面に関して、自らコントロールできるようになる。すべてが自分の責任になるものの、そこから生まれるメリットは絶大だろう。とはいえ、それはあくまでもアップルにとってのメリットだ。デベロッパーやユーザーは、性能や機能、価格など、背に腹は代えられない部分で明らかなメリットがなければ、MacのCPUの変更は面倒の種が1つ増えるだけで、できればやめてもらいたいと思うだろう。
もちろん、MacのCPUがiPhoneやiPadなどのモバイルデバイスと共通になるのは、それだけで大きなメリットだ。「iPhone/iPadアプリは本当にそのままApple Silicon Mac上で動くのか?」でも述べたように、すべてのアップル製品のアプリケーションの基盤が共通化され、膨大な数のiPhone/iPadアプリがそのままMacで動作する夢のような環境への扉を開くからだ。しかし、Apple Silicon採用のメリットは、それだけではない。キーノートでは詳しく述べられていなかった数多くのメリットがある。それらを具体的に見ていこう。
高性能と低消費電力の両立は真のメリットではない
今回のキーノートでは、CEOのティム・クック氏自らが、Apple Siliconへの転換を明らかにした。その際に述べられていた動機は、大義名分としてまことにもっともなものだった。かいつまんで言えば、アップルではハードウェアとソフトウェアのインテグレーションが、すべての基本となっている。「自ら開発するApple Siliconの採用によって、それがさらに高いレベルで実現し、より優れた製品を提供できるようになる」というのだ。
キーノートでクック氏を引き継いだハードウェア技術担当の上級副社長であるJohny Srouji(ジョニー・スルージ)氏も、技術的にはそれほど詳しい具体的な話はしなかった。ただ、「Apple Siliconはパフォーマンスと消費電力のバランスに優れ、1つのアーキテクチャでApple WatchからMac Proまでカバーできるほどのスケーラビリティを備えている」ということを強調していた。
同じWWDCの「Platforms State of the Union」でも、今年は当然ながらApple Siliconがメインのトピックに据えられた。アップルのプラットフォームに関して、キーノートよりも技術的に突っ込んだ話をすることになっているセッションだ。しかしそこでも、どうしてApple Siliconが優れているかについては漠然とした話しか語られなかった。
そのセッションで挙げられたApple Siliconの技術的なメリットは、次の4点に集約される。
- Huge Improvements to Speed(速度の飛躍的な向上)
- Graphic Performance(グラフィック性能)
- Power Consumption(消費電力)
- Security(セキュリティ)
これらのメリットについて、いくつかのアプリケーションのデモが示され、すでに実際にApple Silicon上でMacのソフトウェアが動作し、高性能を発揮していることが強調された。それでも、なぜApple Siliconでなければならないのか、簡単なアーキテクチャの図が示されただけで技術的な説明はここでもまだ具体性に欠けている。
Apple Siliconのパフォーマンス面でのメリット
Apple Siliconについて技術的に一歩踏み込んだ詳しい話は、ようやく「Explore the new system architecture of Apple Silicon Mac」というセッションで登場した。実際にmacOSをApple Siliconに移行させる仕事をしているCore OSグループの担当者であるGavin Barraclough(ギャビン・バラクロー)氏による説明だ。
そこではまず、現状のインテルベースのMacの基本的なアーキテクチャの確認から入った。独立したGPUを持つマシンでは、インテル製のCPUとAMD製のGPU、そして主にセキュリティに関するコントローラーとして動作するアップル製のT2チップを備えている。この場合、CPUとGPUは、それそれ独立したメモリを使って動作する。それがメリットになる場合もあるだろうが、両メモリ間でのデータ転送はPCIバス経由となり、大量のデータを扱うには効率が悪い。
またApple SiliconのCPUには、これまで採用していたインテル製のCPUにはない大きな特徴がある。それは内蔵する複数のコアの処理能力が、すべて同一ではないということだ。アップルではこれをAsymmetric multiprocessing(非対称マルチプロセッシング)、略してAMPと呼ぶ。例えば、ユーザーによる操作の追従のような軽い処理は低能力のコアで実行し、負荷の重い高度な演算処理は高能力のコアで実行することで、全体的なコアの利用効率を高めることができる。アプリのデベロッパーとしては、プロセスの優先順位を適切に見積もって設定し、効率的な処理が実行されるよう追求する必要がある。とはいえ、一般的なマルチタスク処理は、これまでどおりGCD(Grand Central Dispatch)を利用して、個々のタスクが適切にスレッドに割り振られるようにすることが推奨される。
Apple Siliconが可能にするMacならではの機能
Macに搭載されるApple Siliconは、これまでiPhoneやiPadといったモバイルデバイスに使われてきたアップル製のSoCとは異なる部分もある。それはMacがデスクトップコンピューターであることに関連する機能だ。つまり、Macに搭載されるApple Siliconは、単にiPhoneやiPadにすでに搭載されているものをそのまま、あるいは性能を強化して持ってくるのではなく、Macならではの機能も盛り込んだものとなる。
まず異なるのが起動プロセスだ。Apple Siliconを搭載するMacでは、iPhoneやiPadと同様の起動セキュリティを確保しつつ、外付けのディスクを含めて複数のボリュームから選択的に起動する機能を実現する。それらの複数のボリュームには、異なるバージョンのmacOSがインストールされている可能性がある。そのため、新しいブートローダーは、その時点での過去のバージョンも含め、アップルによってサインされたすべてのバージョンのmacOSから起動できる。
起動ディスクの選択についても、これまでにはなかった細かな設定が可能となる。具体的には、起動ボリュームごと独立にセキュリティポリシーを選べるようになる。Macを何らかの業務に使うだけであれば、iPhoneなどと同様、常に最高のセキュリティポリシーを適用して起動すればいい。しかし、研究者や趣味でいろいろいじりたいユーザーは、それでは自由度が制限されて目的が達成できないことある。そこで、あえてセキュリティを低減させるモードも用意している。
セキュリティポリシーは、これまで同様csrutilコマンドによって設定できる。しかしインテルベースのMacでは、設定したセキュリティーポリシーはシステム全体で有効となるものだった。そのため1つのボリュームのセキュリティを低減させたい場合、他のボリュームのセキュリティも低減させざるを得なかった。Apple Siliconを搭載するMacでは、起動ボリュームごと独立にセキュリティポリシーが設定できるので、他の部分のセキュリティを強固に保ったまま、目的のボリュームだけ低減させるという使い方が可能となる。
画像クレジット:Apple