トレーニング
認定資格
Microsoft 365 Certified: Endpoint Administrator Associate - Certifications
最新の管理、共同管理のアプローチ、Microsoft Intune 統合の基本的な要素を使用して、エンドポイント展開戦略を計画して実行します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Arm64EC ("エミュレーション互換") を使用すると、新しいネイティブ アプリを構築したり、既存の x64 アプリを段階的に移行したりして、より優れた電力消費、バッテリ寿命、高速 AI および ML ワークロードなど、Arm 搭載デバイスで可能なネイティブ速度とパフォーマンスを活用できます。
Arm64EC は、Windows 11 の Arm デバイスで実行されているアプリ用の新しいアプリケーション バイナリ インターフェイス (ABI) です。 Windows 11 SDK を使用する必要がある Windows 11 機能であり、Arm 上の Windows 10 では使用できません。
Arm64EC としてビルドされたコードは、同じプロセス内のエミュレーションで実行されている x64 コードと相互運用できます。 プロセス内の Arm64EC コードはネイティブ パフォーマンスで実行され、x64 コードは Windows 11 に組み込まれているエミュレーションを使用して実行されます。 アプリがまだ Arm をサポートしていない既存の依存関係やプラグインに依存している場合でも、アプリの一部を Arm64EC として再構築して、ネイティブ パフォーマンスを活用できます。
Arm64EC は、呼び出し規則、スタック使用法、データ構造レイアウト、プリプロセッサ定義などの x64 ソフトウェア規約に従うことで、x64 との相互運用性を保証します。 ただし、Arm64EC コードは Arm64 としてビルドされたコードと互換性がありません。そのようなコードは、異なるソフトウェア規約のセットを使用しているからです。
Arm 上の Windows 11 オペレーティング システム自体は、x64 アプリケーションの実行を可能にするために、Arm64EC の相互運用性に大きく依存しています。 Arm 上の Windows 11 で実行されている x64 アプリによって読み込まれたほとんどのオペレーティング システム コードは Arm64EC としてコンパイルされており、アプリケーションが関知しなくてもそのコードのネイティブ パフォーマンスが有効になります。
x64 または Arm64EC プロセスでは x64 と Arm64EC の両方のバイナリを読み込んで呼び出すことができますが、Arm64 プロセスでは Arm64 バイナリを読み込むことのみができます。 どちらのアーキテクチャも、x64 と Arm64 の両方のコードを含む Arm64X バイナリを読み込むことができます。
プロセス アーキテクチャ | x64 バイナリ | Arm64EC バイナリ | Arm64 バイナリ |
---|---|---|---|
x64/Arm64EC | ✔ | ✔ | ❌ |
Arm64 | ❌ | ❌ | ✔ |
✔ = サポートあり、 ❌ = サポートなし
同様に、ビルド時に、Arm64EC バイナリは x64 と Arm64EC の両方のライブラリをリンクできますが、Arm64 バイナリは Arm64 ライブラリのみをリンクできます。
PE アーキテクチャ | x64 lib | Arm64EC lib | Arm64 lib |
---|---|---|---|
Arm64EC | ✔ | ✔ | ❌ |
Arm64 | ❌ | ❌ | ✔ |
✔ = サポートあり、 ❌ = サポートなし
Arm64EC ABI が相互運用性を実現する方法の詳細については、「Arm64EC ABI とアセンブリ コードについて」を参照してください。
Arm64EC を使用すると、既存のアプリのコードをエミュレートからネイティブに段階的に移行できます。 途中の各ステップで、アプリケーションは一度に再コンパイルする必要なく、引き続き正常に実行されます。
上の図は、完全にエミュレートされてある程度時間がかかっていた x64 ワークロードが、Arm64EC を使用して段階的に改善される例を簡略化して示しています。
途中の各段階で、最も時間がかかるモジュール、つまり CPU 負荷が最も高いモジュールを x64 から Arm64EC に再コンパイルすることで、結果として得られるワークロードについて、最小限の労力で最大限の改善が得られます。
Arm64EC を使用してアプリケーションをリビルドする場合は、Arm64EC バージョンの依存関係を使用しますが、x64 バージョンの依存関係に依拠することもできます。 Arm64 バージョンの依存関係は使用できません。
依存関係からのコードを含む、Arm64EC プロセスの x64 コードは、アプリのエミュレーションで実行されます。 x64 から Arm64EC に移行する際に最も CPU 負荷の高い依存関係を優先させると、アプリのパフォーマンスが最も向上します。
Arm 上の Windows 11 で実行されているアプリは、x64 バイナリであるかのように Arm64EC バイナリとやりとりします。 アプリは、バイナリ内のコードがどの程度 Arm64EC として再コンパイルされたかを把握する必要はありません。
これらのバイナリの識別に関心がある開発者は、link /dump /headers
を使用して開発者コマンド プロンプトで表示できます。
File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
8664 machine (x64) (ARM64X)
(x64) と (ARM64X) の組み合わせは、バイナリがまだ x64 のように見えても、バイナリの一部が Arm64EC として再コンパイルされていることを示します。 (ARM64) と (ARM64X) を含むマシン ヘッダーを含むバイナリは、x64 アプリと Arm64 アプリの両方に読み込むことができる Arm64X PE ファイル です。
Windows タスク マネージャーを使用して、アプリが Arm64EC としてコンパイルされているかどうかを識別することもできます。 タスク マネージャーの [詳細] タブの [アーキテクチャ] 列には、メインの実行可能ファイルが Arm64EC として部分的または完全にコンパイルされたアプリケーションに対して ARM64 (x64 互換) と表示されます。
Arm64EC を使用して Win32 アプリをビルドまたは更新する方法については、「Arm64EC の概要」を参照してください。
Windows on Arm に関するフィードバック
Windows on Arm はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。
トレーニング
認定資格
Microsoft 365 Certified: Endpoint Administrator Associate - Certifications
最新の管理、共同管理のアプローチ、Microsoft Intune 統合の基本的な要素を使用して、エンドポイント展開戦略を計画して実行します。