zirconsoft’s blog

Microsoft関係について取り上げます。

ARM版WindowsとCompiled Hybrid PEについて

ARM版Windowsの仕組み

今年中に出ることになっているARM版Windowsですが、その仕組みが公開されているみたいです。
ASCII.jp:x86デスクトップアプリはWindows on ARMでどう動くか|Windows Info
実現する仕組みは大きく分けて2つです。

  • Windows On Armを利用したx64のエミュレーション
  • Compiled Hybrid PE (HCPE)をバイナリ実行する方法

Windows On Armを利用したx64のエミュレーションは、実行時にx64の命令を同等な意味のARMの命令に高速に置き換えることで実現します。
一方でCompiled Hyblid PE(HCPE)は、新たにマイクロソフトによって開発された実行ファイル形式で、x64とARMの両方で実行できるものです。

Compiled Hyblid PEの仕組み

PEとは現在Windowsで使用されている実行ファイル(.exeファイル)の主流な形式で、正式名称はPortable Executableといいます。
Compiled Hyblid PEは、PEにx64とARMの2つのCPUで実行できるバイナリを格納したファイル形式で、実行されるCPUによって実行される命令バイナリが切り替わります。
ただしCompiled Hyblid PEは、PEに比べて約2倍の容量を必要とし、コンパイルにも2倍の時間が必要だと思われます。

Note

ARM版Windows、今年中に間に合うのか微妙ですね。インテルとのライセンスの問題が解決していないのでしょうか?