#アナタノミカタ 

MacにApple Siliconを搭載するアップルの本当の狙い
AI.

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までカバーできるほどのスケーラビリティを備えている」ということを強調していた。

これも確かにそのとおりだろうし、納得しやすい話だが、Apple Siliconでなければならない理由には踏み込んでおらず今ひとつ説得力には欠ける。というのも、現在のコンシューマー機器向けCPUであれば、力点を置く部分に多少の違いこそあれ、どんなメーカーの製品でも高性能と低消費電力の両立を目指していると考えられるからだ。

同じ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では、1つのSoC(System on a Chip)として、CPU、GPU、セキュリティ関連の機能はもちろん、ビデオのエンコーダー/デコーダー、機械学習関連の処理をハードウェアで実行するニューラルエンジン、機械学習アクセラレーターなどが詰め込まれている。このように多様な機能をワンチップに統合できるのは、iPhoneやiPad用のSoCとして培ってきた設計技術の成果だろう。

この構成では、CPUとGPUが1つのメモリを共有することになり、画像やテクスチャ、ジオメトリなどのデータ転送は効率化される。アップルではこれをUnified memory architecture(統合メモリアーキテクチャ)と呼んでいる。

またApple SiliconのCPUには、これまで採用していたインテル製のCPUにはない大きな特徴がある。それは内蔵する複数のコアの処理能力が、すべて同一ではないということだ。アップルではこれをAsymmetric multiprocessing(非対称マルチプロセッシング)、略してAMPと呼ぶ。例えば、ユーザーによる操作の追従のような軽い処理は低能力のコアで実行し、負荷の重い高度な演算処理は高能力のコアで実行することで、全体的なコアの利用効率を高めることができる。アプリのデベロッパーとしては、プロセスの優先順位を適切に見積もって設定し、効率的な処理が実行されるよう追求する必要がある。とはいえ、一般的なマルチタスク処理は、これまでどおりGCD(Grand Central Dispatch)を利用して、個々のタスクが適切にスレッドに割り振られるようにすることが推奨される。

アプリとして、こうしたApple Siliconの能力を利用するために、特に新たなAPIを導入する必要ない。例えばGPU処理に関しては、これまでどおりMetalを利用すれば、自動的に最大限のパフォーマンスが発揮される。また、ビデオ関連はAVFoundationやVideoToolbox、機械学習関連はCoreMLのように、それぞれ使い慣れたフレームワークを利用すれば最適な処理が実行される。機械学習関連については、Accelerateフレームワークを利用して、ハードウェアをより効率的に利用することも可能だ。

Apple Siliconが可能にするMacならではの機能

Macに搭載されるApple Siliconは、これまでiPhoneやiPadといったモバイルデバイスに使われてきたアップル製のSoCとは異なる部分もある。それはMacがデスクトップコンピューターであることに関連する機能だ。つまり、Macに搭載されるApple Siliconは、単にiPhoneやiPadにすでに搭載されているものをそのまま、あるいは性能を強化して持ってくるのではなく、Macならではの機能も盛り込んだものとなる。

まず異なるのが起動プロセスだ。Apple Siliconを搭載するMacでは、iPhoneやiPadと同様の起動セキュリティを確保しつつ、外付けのディスクを含めて複数のボリュームから選択的に起動する機能を実現する。それらの複数のボリュームには、異なるバージョンのmacOSがインストールされている可能性がある。そのため、新しいブートローダーは、その時点での過去のバージョンも含め、アップルによってサインされたすべてのバージョンのmacOSから起動できる。

さらに新しいリカバリー機能も含まれている。これは、新世代のMacの大きなメリットの1つに数えられるだろう。「Startup Options UI」という専用のインターフェースが用意され、すべてのMacから共通の操作によってアクセスできる。MacBookシリーズではTouch IDボタン、デスクトップでは電源ボタンを長押しするだけで、このUIを起動できる。

ここからは、起動ディスクの選択だけでなく、新たに搭載される「Startup Manager」(起動マネージャ)、「Mac Sharing Mode」(Mac共有モード)を起動することも可能となる。後者のMac Sharing Modeは、これまでのターゲットディスクモードに代わるものとなる。これはSMBを利用したファイル共有機能によって、外部からユーザーデータにアクセスすることを可能する。当然ながらMac内部のディスクにアクセスするには、正当なユーザー認証が必要となる。

起動ディスクの選択についても、これまでにはなかった細かな設定が可能となる。具体的には、起動ボリュームごと独立にセキュリティポリシーを選べるようになる。Macを何らかの業務に使うだけであれば、iPhoneなどと同様、常に最高のセキュリティポリシーを適用して起動すればいい。しかし、研究者や趣味でいろいろいじりたいユーザーは、それでは自由度が制限されて目的が達成できないことある。そこで、あえてセキュリティを低減させるモードも用意している。

セキュリティポリシーは、これまで同様csrutilコマンドによって設定できる。しかしインテルベースのMacでは、設定したセキュリティーポリシーはシステム全体で有効となるものだった。そのため1つのボリュームのセキュリティを低減させたい場合、他のボリュームのセキュリティも低減させざるを得なかった。Apple Siliconを搭載するMacでは、起動ボリュームごと独立にセキュリティポリシーが設定できるので、他の部分のセキュリティを強固に保ったまま、目的のボリュームだけ低減させるという使い方が可能となる。

リカバリー機能も強化される。macOSには、通常のボリュームから起動できなくなった場合に備えて、リカバリーボリュームが用意されている。そこから起動すれば、通常のボリュームを修復したり、再インストールしたりすることが可能となる。ここまでは、インテルベースのMacでもApple SiliconのMacでも同じだ。リカバリーボリューム自体も起動できない場合、インテルベースのMacでは、インターネットリカバリー機能によって、サーバーにある最小限のOSを起動できるようになっている。Apple Silicon Macでは、さらに最小限のOSを保持した「System Recovery」と呼ばれる隠しコンテナを内蔵している。万一の場合は、そこから起動することでリカバリボリュームや通常のmacOSボリュームを修復、再インストールすることが可能だ。

現時点で明らかにされている内容は、Apple Siliconの全容からすれば、まだほんの一部だと考えられる。しかし、Apple Siliconが単に高性能と低消費電力の両立だけを狙ったものでないことは、すでに明らかだろう。とはいえ仮にそれが本当にメインの理由だったとしても、最近発表されたスーパーコンピュータの世界ランキングで、複数の部門にまたがってトップの座を獲得した理化学研究所の富岳が、ARMベースのアーキテクチャを採用しているという事実は、Macの将来にとっても極めて明るいニュースであることに疑いの余地はない。

画像クレジット:Apple

引用先はこちら:MacにApple Siliconを搭載するアップルの本当の狙い

#アナタノミカタ