Windows 11 Arm x64エミュレーション: うまくいきますか?

windows 11
皆さんが覚えているかどうかはわかりませんが、2021年6月、マイクロソフトは実際に新しいWindows 11オペレーティングシステムのためにARM64ECを発表しました。

レドモンドのテクノロジー企業は、ARM64ECを既存のx64アプリケーションをARMで期待されるネイティブパフォーマンスにアップグレードするための新しい方法と説明しました。

マイクロソフトは、アーキテクチャをサポートしていないプラグインや依存関係を使用しても、これは可能であると明言しています。

初回の発表からおよそ1年が経ち、ARM64ECは最新のマイクロソフト設計のオペレーティングシステムであるWindows 11で完全にサポートされています。

また、Windows 11エミュレーションについて話しているので、Parallels Desktop 18 には多くのゲームやその他の改善が含まれていることを知っておいてください。

Arm64ECは完全なWindows 11 ARMサポートを提供

念のため、この略語の意味をご存じないかもしれませんが、名前のECは実際にはエミュレーション互換(Emulation Compatible)を指しており、説明は自明です。

マイクロソフトが言ったように、一般的な考え方は、開発者がx64コードとARMコードの両方を使用してアプリケーションを構築できるアプリケーションバイナリインターフェース(ABI)を提供することです。

このテーマについてさらに深く掘り下げると、ARMコードはARMデバイス上のWindows 11でネイティブに実行され、x64特有のコードはエミュレーションを介して実行されることを意味します。

これは、ARM64ECの背骨であるx64エミュレーションを備えた唯一のサポートされるマイクロソフトOSであるため、Windows 11 on ARMにとって重要なマイルストーンであることは言うまでもありません。
ARM64EC ABIは、バイナリ互換性を持たせるために既存のARM64 ABIとはわずかに異なります。

具体的には、ARM64EC ABIは呼び出し規則、スタック使用、およびデータアライメントを含むx64ソフトウェアの慣例に従い、ARM64ECとx64の相互運用性を実現しています。ARM64ECとして構築されたアプリはx64コードを含むことができますが、必ずしもそうである必要はありません。なぜなら、ARM64ECはWindowsのための独自の完全なファーストクラスABIだからです。

このプロジェクトに費やされたすべての作業を経て、テクノロジー企業は現在、ABIが実験段階から一般リリースに移行するのに十分安定していると考えています。

さらに、ARM64ECは、開発者に対しても大きな利点を提供します。彼らのコードベース全体がARM対応であることを確認する代わりに、コードを更新してx64とARMの機能を同時に実行できるようになります。

ARMデバイス上のWindowsでは、後者がより良いパフォーマンスを発揮します。つまり、ネイティブARMパフォーマンスを向上させながら、プロセス中に機能を失うことなく、コードベースを継続的に更新する必要があるということです。

前提条件

これが何の条件もなく動作するとは思わなかったでしょう?はい、実際に機能させるためのいくつかの前提条件があります。以下に示します:

  • 最新のWindows 11 SDKビルド。Windows 11 SDKバージョン22000を使用している場合、2022年7月29日に更新されたバージョンにはArm64ECアプリを構築するための主要な修正が含まれています。
  • Visual Studio 2022バージョン17.3以降。
  • Visual StudioインストーラーでインストールされたArm64ECツール。

Windows 11のARM向けに実装された最新の改善に満足ですか?以下のコメントセクションであなたの意見を共有してください。