前回はM2 Mac + Parallels + ARM版Windowsが動いたというお話しをしました。動くと宣伝されているので、動くのは当たり前と言えば当たり前なのですが、インストールは本当に簡単でしたし、本当にサクサク動くので感動的です。
WindowsといえばIntel(互換)チップというイメージですが、実は大昔(1990年代後半)のWindows NT 4.0では、Alpha、MIPS、PowerPCという複数のCPUをサポートしていましたし、前回お話ししたように、最近(Windows 8の時代)ではARM向けのWindows RTもありました。しかし、これらはどれも一般的にはなりませんでした。どれも一般的な(Intel向けの)アプリケーションが動かず、そのCPU向けにコンパイルされたアプリケーションが必要だったからです。やはりOSが動いても、その上でアプリが動かなければ使われないということかと思います。
その点、今回のARM版Windowsは、これまでのIntel向けのアプリケーションがきちんと動く、しかもサクサク動くというのが衝撃的です。前回の記事のスクリーンショットをよく見てみると既にネタばれしていましたが、弥生会計もしっかり動きます。ただ動くではなく、実用になるレベルで動きます。
この写真では弥生会計 23 プロフェッショナルがあたかもMacのアプリのように動いています。これはParallelsをCoherence(一貫性)モードで表示した場合。一方で、フルスクリーンモードを選ぶと前回の写真のように、一般的なWindows PCと同じデスクトップが表示されます(この場合はデスクトップを切り替えることでMacとWindowsを行き来することになります)。私はMacとWindowsを意識して使い分けたいので、フルスクリーンモードで利用していますが、基本はMacで、弥生会計を使うためだけにParallelsを入れているという方はCoherenceモードの方が使いやすいかもしれません。
ARM版WindowsでIntel向けのアプリケーションを動かすのを可能にしているのが、Intel向けの命令をリアルタイムでARM向けの命令に変換して動作させるDynamic Binary Translatorという機能です。前回、M1 Macでは、それまでのIntel Macで動くほぼ全てのアプリケーションが動くと書きましたが、これもDynamic Binary Translationによるものです。Macの場合、Rosetta 2という名前が付いています。
Rosetta 2というからには"1"もあると想像できるかと思いますが、その通りで、Appleが2006年にそれ以前のPowerPCというCPUからIntelのCPUに移行を開始した際に、アプリケーションの互換性を実現するために提供されたのが、Rosettaです。ただ、この際にはまあまあパフォーマンスが落ちるということで、そこまで評判は良くなかった(でも動くのは有難い)、という位置付けだったように思います。
そういった意味では2000年代の前半には、コードモーフィングソフトウェアでIntel CPUと互換性を持たせるTransmetaという会社のクルーソーというプロセッサがありました。個人的にも面白いと思いましたが、これもパフォーマンスがイマイチということで、注目は集めたものの、普及はしませんでした。
やはりこの種の取組みはパフォーマンスがネックになることが多かったわけですが、それがもはやネックにならないレベルのパフォーマンスが出るようになった、と同時に、かつてはガリバー企業だったIntelの絶対優位性が今やなくなったという両面で感慨深いところです。