zurück zum Artikel

Microsoft zeigt Windows 10 auf ARM64

Christof Windeck
Windows 10 on ARM mit x86-Emulation

(Bild: Microsoft)

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.

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 [1] 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 [2] mit acht 64-bittigen ARMv8-Kernen sein. Der kommt bereits in einigen besseren Smartphones wie dem Sony Xperia XZ Premium [3] zum Einsatz.

Windows 10 läuft darauf in einer 64-Bit-ARM-Version [4], 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 [5] 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 [6] 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 [7])


URL dieses Artikels:
https://www.heise.de/-3713675

Links in diesem Artikel:
[1] https://channel9.msdn.com/Events/Build/2017/P4171
[2] https://www.heise.de/news/Qualcomm-Mobilprozessor-Snapdragon-835-GBit-LTE-acht-Kerne-10-nm-Fertigung-3587314.html
[3] https://www.heise.de/news/Sony-Xperia-XZ-Premium-und-XZs-Zweiter-Versuch-mit-4K-Display-und-HDR-3632487.html
[4] https://www.heise.de/news/Windows-10-Cellular-PC-ARM-Chips-fuehren-x86-Code-aus-3565914.html
[5] https://www.heise.de/download/product/7-zip-13139
[6] https://www.heise.de/news/Windows-10-ARM64-Erste-64-Bit-Programme-3568097.html
[7] mailto:ciw@ct.de