Appleは、Intel CPUを使用してコンピュータに電力を供給することから、「Appleシリコン」と呼ばれる独自のカスタムARMベースのCPUを使用することに切り替えることを決定しました。 Appleは何年にもわたって独自のモバイルCPUを設計してきましたが、IntelからARMへのこの変更には、ほとんどの消費者がおそらく気付かない可能性のある大きな問題があります。 Macユーザーにとってありがたいことに、Appleはエンドユーザーへの影響を最小限に抑えるよう取り組んでいます。
建築
IntelおよびAMDCPUは、x86アーキテクチャ、より具体的にはx86_64アーキテクチャを使用します。これは、元の16ビット、次に32ビットのx86アーキテクチャの64ビットバリアントです。 これは基本的に、CPUが実行できる標準的な命令セットです。 アプリを作成してコンパイルするときは、実行するプラットフォームの種類を考慮する必要があります。 これは、Windows、macOS、またはLinuxを意味するだけでなく、CPUが実行されている命令セットも意味します。 コンピュータ市場でのx86命令セットの普及により、本質的にすべてがそれを使用するように設計されています。
問題は、ARMベースのCPUがx86命令セットを使用せず、ARM命令セットを使用し、これがx86と互換性がないことです。 これは、IntelベースのMacで実行されるほとんどのプログラムがARMベースのMacで実行できないことを意味します。
Appleがこの問題を解決するために計画している2つの方法があります。 1つは、開発者にARM CPUでも動作するようにアプリを変更するように説得することです。2つ目は、「抽象化レイヤー」を使用することです。 Appleの市場シェアの大きさを考えると、多くの開発者にARMバージョンのソフトウェアを公開するように説得できる可能性があります。 これは一般的になるまでに時間がかかる場合がありますが、特にコードの変更が必要になる場合があります。
「Rosetta2」と呼ばれる抽象化レイヤーは、x86アプリケーションをARMCPUで実行できるようにするための一時的な手段として設計されています。 このプロセスは すべてのアプリケーションで完全に機能するわけではなく、安定性とパフォーマンスの問題を引き起こす可能性がありますが、通常はほとんどのアプリケーションで機能するはずです。 アプリケーション。 また、アプリケーションのインストール時やコードの実行時など、変換が発生するたびに処理時間が長くなります。
ヒント:抽象化レイヤーは、AppleがIBMのPowerPCアーキテクチャからIntelのx86に切り替えたときに使用された元のRosetta抽象化レイヤーに続くため、「Rosetta2」という名前が付けられています。
実際には、このアプローチは、macOSユーザーがインストールしたいソフトウェアがARM互換であることを確認することに慣れなければならない可能性があることを意味します x86CPUではなく。 ただし、抽象化レイヤー自体は基本的にユーザーに対して透過的であると想定されているため、 問題。
パフォーマンス
他の潜在的な問題はパフォーマンスです。 ARM CPUは、電力効率が非常に高く、デバイスのバッテリー寿命を延ばすため、通常、モバイルデバイスで使用されてきました。 これは特にマイナス面のようには聞こえませんが、残念ながら、従来のデスクトップCPUのミッドエンドからハイエンドのパフォーマンス層では、生のパフォーマンスの点で有利に比較されていません。
全体として、効率の変化は、該当する場合、顕著なバッテリー寿命の改善をもたらすはずです。 ミッドティアCPUは、x86 Intelの前身とある程度の競争力を維持する可能性がありますが、最上位のオプションではそうではない場合があります。
この問題に対処するのに役立つ可能性があるため、実際にARMCPUを使用している第1世代のAppleデバイスは ローエンドからミッドティアの製品であり、ハイエンドデバイスが少なくとももう1つIntelに残っている 世代。