Microsoft zeigt Windows 10 auf ARM64

Während der Build-Konferenz erklärte Microsoft einige weitere Details der kommenden Windows-10-Version für ARM-Mobilrechner samt der eingebauten x86-Emulation.

In Pocket speichern vorlesen Druckansicht 74 Kommentare lesen
Windows 10 on ARM mit x86-Emulation

(Bild: Microsoft)

Lesezeit: 3 Min.
Inhaltsverzeichnis

Noch vor Jahresende sollen Windows-10-Notebooks sowie 2-in-1-Hybride mit ARM- statt x86-Prozessoren erscheinen, auf denen aber auch x86-Software läuft. Microsoft hat anlässlich der BUILD-Konferenz ein paar neue Informationen zu diesen Geräten mit Qualcomm-Chips sowie zur Emulationsschicht für 32-Bit-x86-Code verraten.

In einem Video erklären die Microsoft-Manager Hari Pulapaka und Arun Kishan zunächst, dass die kommenden "Cellular PC"-Mobilgeräte mit Windows 10 on ARM von anderen Firmen verkauft werden, also von Notebook- und Tablet-Herstellern. Es geht also nicht um ein künftiges Microsoft-(Surface-)Produkt.

Einziger unterstützter Prozessor beziehungsweise System-on-Chip (SoC) wird zunächst der 10-nm-Chip Qualcomm Snapdragon 835 mit acht 64-bittigen ARMv8-Kernen sein. Der kommt bereits in einigen besseren Smartphones wie dem Sony Xperia XZ Premium zum Einsatz.

Windows 10 läuft darauf in einer 64-Bit-ARM-Version, die Hari Pulapaka auf einem Microsoft-internen Entwicklergerät mit 4 GByte RAM vorführte. Der Windows-10-Desktop sieht dabei genauso aus wie bei den gewohnten 32- und 64-Bit-Versionen für x86- und x86-64-Prozessoren.

Auf dem neuen ARM-Windows kann man nicht bloß Apps aus dem Windows Store installieren, sondern beliebige Programmpakete – und dank der Emulation auch solche mit 32-Bit-x86-Code. Eine 64-Bit-x86-Emulation erwähnten Pulapaka und Krishan nicht. Pulapaka führte die Emulation am Beispiel des verbreiteten Open-Source-Tools 7-Zip vor. Der Code muss nicht verändert oder angepasst werden.

Erwartungsgemäß laufen auch Apps für die Universal Windows Platform (UWP), wie Pulapaka mit der iHeart Radio App aus dem Windows Store zeigte: Hier führte das System 32-Bit-ARM-Code aus.

Im Dezember 2016 hatte ein Programmierer aber auch native 64-Bit-ARM-Programme gezeigt.

Arun Kishan ging auf Details der x86-Emulation ein, bei der Microsoft demnach ein ähnliches Konzept umsetzt wie bei der Ausführungsschicht für 32-Bit-x86-Software auf 64-Bit-x86-Windows: WoW, also Windows-on-Windows. Um 32-Bit-x86-Code auf ARMv8-Rechenkernen möglichst effizient ausführen zu können, emuliert Microsoft nur das Nötigste: So erfolgen Zugriffe auf die Systemdienste der Native API auf die NTDLL, die als 64-Bit-ARM-Code läuft. Eine Reihe von x86-DLLs sind zudem als Combined Hybrid Portable Executable (CHPE, gesprochen wie "Chippy") installiert: Sie führen letztlich direkt ARM64-Code aus.

Die verbleibenden x86-Befehle setzt die WoW-Abstraktionsschicht dann zur Laufzeit in ARM64-Code um.

Für den Alltag mit Windows-10-ARM-Geräten werden auch Treiber wichtig sein. Diesbezüglich zeigte Pulapaka den Anschluss einer USB-Webcam, die mit Windows-eigenen Treibern problemlos in der Kamera-App von Windows 10 funktionierte. Das sagt freilich nichts aus über Peripheriegeräte, die herstellerspezifische Treiber benötigen, beispielsweise viele Drucker und Scanner. (ciw)