ARM版Windows 10のバイナリトランスレーション

ARM版のWindows 10が発表されましたね。興味深いのは、ARM版でも、x86版のソフトウェアが動くことです。どうやっているかというと、x86版のソフトをバイナリトランスレーションして、ARMの命令に変換して動かしているのです。

明らかになってきたArm版Windows 10の課題とそのメリット

QEMUでやっていることと同じなので、どれくらい速度が出るのか気になるところです。記事を読むと、Win32のシステムコールにトランスレートした後、呼び出すDLLはネイティブの物を使うようです。この辺が、全部トランスレートして動かすQEMUと違うところでしょうか。サポートするのも32ビットのバイナリのみで、64ビットのソフトは動かないようです。Officeの32ビットが動けばいいやという感じでしょうか。

Intelが自社のチップのスマホで、ARM版のバイナリをx86の命令にトランスレートして動作させていますが、それとは全く逆のことをやっていますね。

Snapdragon 835だと、Cherry TrailとCore i3の間くらいの速度だそうです。あまり速度は気にならないような使い方がメインなのでしょうか。

動作速度より長時間使えることの方が、大切なのかもしれません。

来年には、Snapdragon 845が出るそうですから、そちらの方がいいような気がします。

ともあれ、実際に出てきたときはそれほど高いものにならないといいなと思います。