WWDC2020のセッションにて今後のMacに搭載予定のApple Siliconに関する解説を行っていたので一部抜粋し、まとめてみました。
主な違い
複数チップの統合
現行のIntel製プロセッサ搭載のMacはCPU・GPU・CPU用メモリ・GPU用メモリ(外部GPU搭載機種)・T2プロセッサ(セキュリティチップ)がそれぞれ独立したチップとして構成されています。
Apple Siliconはこれらのチップが一つに統合されたSoC(システムオンチップ)となっているとのこと。
CPU・GPUで分離していたメモリが統合することで、同一メモリでデータ共有ができるので、メモリ間のデータ移動の際にPCIeバスを介してデータをコピーしていた手間がなくなり、オーバーヘッド(余分な負荷・時間)をなくすことが可能です。
さらにビデオエンコーダー/デコーダー・ニューラルエンジン・マシンラーニングアクセラレーターも統合されています。これにより動画のエンコード、デコードがよりパワフルかつ高効率となり、顔認識や画像認識などの機械学習が必要なプロセスのパフォーマンス向上も期待されます。
マルチコア処理の効率化
Intel製プロセッサでは複数のCPUコアを使用する際、全てのコアが均一になるよう処理される「SMP(対称型マルチプロセッシング)」となっていました。
Apple Siliconでは複数のCPUコアを使用しても、コア一つ一つに処理を割り当てられる「AMP(非対称型マルチプロセッシング)」となっています。
コア一つ一つの性能が同じIntel製CPUに対し、Apple Siliconは高性能コアと高効率コアに分かれた構成となっており、高性能コアには負荷の高い処理を、高効率コアには負荷の低い処理を負担させることにより、高性能と省電力の両立が可能となっています。
起動できるソフト
Apple SiliconはARM(arm64)ベースのプロセッサなので、Intel製プロセッサのx86_64ベースのアプリがそのままでは利用できません。
そのためIntelプロセッサで動いていたMacのアプリをApple Silicon搭載Macで動かすには「Rosetta」と呼ばれるコード変換プロセスを行う必要があります。
Rosettaが変換できるのは以下の通り
- macOSアプリ
- Catalyst(iPad→macOS変換)アプリ
- ゲーム
- ウェブブラウザ
- JITコンパイラ
- Mealディレクトリ
- Core ML
RosettaはApp Storeでのインストール時やパッケージインストーラー起動時に動作し、Apple Silicon用にコードを書き換えるとのこと。
Apple Siliconでそのまま利用可能なアプリは
- Apple Silicon向けに移植したMacアプリ
- iPad、iPhoneアプリ
となっており、Macデバイスで初めてiPad、iPhoneアプリがそのまま利用可能になっています。ただし、そのままではタッチ操作やセンサーなどの違いからMacで利用するのは難しいため、Mac用に最適化する必要はあります。
その他
その他セッションで語られている主な変更点は以下の通りです。
- 起動オプションのキーが簡単になり、起動時に電源ボタン長押しで呼び出せるように
- macOSの修復プログラムmacOS Recoveryにアクセスできない場合、最小のsytem Recoveryから修復可能に
- 複数デバイス接続時に個別のIOMMU(メモリ管理ユニット)が用意され、別のデバイスからの不正な読み取りを防止
- 一つのMacに複数のmacOSをインストールした際、個別にセキュリティレベルを設定可能に
- Mac同士でデータ共有可能な「ターゲットディスクモード」が「Mac Sharing mode」に代わり、ユーザー認証を行えばSMBベースでファイルレベルのデータアクセスが可能に
詳細はApple公式のWWDC20より閲覧可能です
コメント