Tijdens Computex verwezen Microsoft en Qualcomm naar x86-emulatie in Windows 10 ARM, wat aanleiding gaf tot reactie van Intel. Wij nemen contact met hen op en gaan op onderzoek uit.
December 2016 Qualcomm en Microsoft brachten nieuws naar buiten dat ze iets gingen doen wat veel mobiele gebruikers niet hadden verwacht: Nog een poging om Windows op een ARM-processor te laten draaien. Maar de overeenkomsten tussen deze nieuwe poging en de vorige, ontsierd door de Windows RT-release, werden snel overwonnen.
Tijdens dezelfde aankondiging bracht Windows een technische demo uit op YouTube waaruit bleek dat het al mogelijk was om "gewone" Windows te hebben. Dit waren geen programma's die opnieuw waren gecompileerd met behulp van de oorspronkelijke ARM-instructieset, maar in plaats daarvan 32-bits applicaties (zoals Photoshop) die werkten en zich gedroegen zoals verwacht op een desktopproces, maar deze keer wel Leeuwebek.
Wat ons op deze reis zette was een recent blogbericht van Intel vorige week, waarin zijn 40 jaar Intel-architectuur wordt aangeprezen. Wat de aandacht van het meeste nieuws trok, was wat er aan het einde van het blogbericht werd gezegd (nadruk ligt bij ons):
"Er zijn echter berichten dat sommige bedrijven proberen de eigen x86 ISA van Intel te emuleren zonder toestemming van Intel. Emulatie is geen nieuwe technologie, en Transmeta was met name het laatste bedrijf dat beweerde een compatibele x86-processor te hebben geproduceerd met behulp van emulatietechnieken (“code morphing”). Intel dwong patenten af met betrekking tot verbeteringen aan de SIMD-instructieset tegen de x86-implementatie van Transmeta, ook al gebruikte het emulatie. Hoe het ook zij, Transmeta was commercieel niet succesvol en verliet de microprocessorsector tien jaar geleden.
Alleen de tijd zal leren of nieuwe pogingen om Intel’s x86 ISA te emuleren een ander lot zullen ondergaan. Intel verwelkomt legale concurrentie en we hebben er vertrouwen in dat de microprocessors van Intel, die specifiek zijn geoptimaliseerd om Intel’s x86 ISA voor bijna vier jaar te implementeren decennia lang geweldige ervaringen, consistentie tussen applicaties en een volledig consumentenaanbod, volledige beheerbaarheid en IT-integratie voor de onderneming. We verwelkomen echter geen onwettige inbreuk op onze patenten, en we verwachten ten volle dat andere bedrijven de intellectuele eigendomsrechten van Intel blijven respecteren. Sterke bescherming van intellectueel eigendom maakt het voor Intel mogelijk om de enorme middelen te blijven investeren vereist om Intel’s dynamische x86 ISA te bevorderen, en Intel zal waakzaam blijven om zijn innovaties te beschermen investeringen."
De timing van dit blogbericht snel bracht dit in verband met verdere aankondigingen tijdens Computex 2017 een paar weken in Taiwan. In eerste instantie lijkt het vreemd dat Intel zo lang heeft gewacht met het afvuren van wat de meesten nu denken dat een waarschuwingsschot was richting Qualcomm en Microsoft. Het blogbericht liet het specifiek zo vaag dat het niet direct in verband kon worden gebracht met de samenwerking tussen Qualcomm en Microsoft. Bij het zoeken rechtvaardigde geen enkele andere recente discussie over x86-emulatie dit antwoord. Dit maakte alleen maar duidelijker wie het beoogde doelwit van Intels juridische team was: Qualcomm en Microsoft. Dit liet ons met veel vragen achter. Tijdens het onderzoek van dit artikel zijn enkele vragen beantwoord - en die zullen we bespreken. Maar er zijn ook vragen die onbeantwoord blijven, zowel uit het oorspronkelijke onderzoek als nu als resultaat van de informatie die door alle drie de partijen is verstrekt. We waarderen het dat ze alle drie – Intel, Qualcomm en Microsoft – bereid waren op onze verzoeken te reageren.
Windows 10 ARM bevestigd
Een van de eerste vragen die uiteraard beantwoord moesten worden, was begrijpen wat deze Windows-versie wel en niet is. Gelukkig heeft Microsoft ons een link gegeven naar een video die is uitgebracht tijdens Build 2017 en waarin veel van deze informatie voor ons wordt beschreven:
https://channel9.msdn.com/Events/Build/2017/P4171/player
Aangezien slechts een handvol sites hierover berichtten op het moment van publicatie, lijkt het onder de radar van velen te zijn verdwenen. Dit levert ons een aantal punten op, waarvan de belangrijkste deze is dit is zeker een volledige Windows 10 ARM. En het is duidelijk dat Microsoft de problemen waarmee Windows RT te maken kreeg ter harte nam, vooral het onvermogen om x86-applicaties op het platform uit te voeren. De nieuwe aanpak biedt hiervoor een oplossing met wat zowel in de video als in eerdere persberichten wordt beschreven x86-emulatie via de Windows-op-Windows-laag, het onderdeel dat de aandacht van Intel trok. Maar is dit echt x86-emulatie? Laten we eens kijken naar de dia in de video waarin dit voor ons wordt uitgelegd.
Omdat Intel de verwijzing naar Transmeta in hun blogbericht heeft laten vallen, verwijzen we terug naar een ArsTechnica-stuk over de CPU uit 2000. Na een beoordeling van de twee is het opmerkelijk dat er zeer reële overeenkomsten en verschillen tussen beide zijn. In het geval van Transmeta en zijn Crusoe-processors was het de taak van deze processors voornamelijk om een softwarelaag binnen de processor uit te voeren, genaamd Code-morphing. Deze softwarelaag, ver onder de applicatie- en zelfs kernellagen, heeft x86-instructiesets vertaald in hardwareopdrachten die de Crusoe kon uitvoeren.
Het is ook belangrijk op te merken dat het einde van Transmeta op de x86-markt aantoonbaar was nietde tegenzaak die Intel in 2007 tegen Transmeta heeft aangespannen. Transmeta heeft waarschijnlijk de tegenrechtszaak aangespannen door te proberen Intel aan te klagen wegens inbreuk op intellectuele eigendomsrechten; tot die tijd had Intel ze met rust gelaten. Het vertrek van Transmeta was een besluit van zijn bestuur dat het niet langer levensvatbaar was en zich in plaats daarvan concentreerde op zijn intellectuele eigendom om in bedrijf te blijven.
In het geval van Qualcomm en Microsoft lijkt het er niet op dat dit op een machine-instructielaag gebeurt. In plaats daarvan lijkt wat hier lijkt te gebeuren veel op het gebruik van 32-bits applicaties op een 64-bits besturingssysteem. In het geval van 32-bits applicaties op een 64-bits besturingssysteem heeft Microsoft tijd en middelen geïnvesteerd om deze te creëren een grens waardoor 32-bits applicaties naadloos kunnen worden uitgevoerd binnen het 64-bits besturingssysteem - dit wordt genoemd Windows op Windows of WOW. In het geval van ARM is dezelfde grens gecreëerd; het belangrijkste verschil is dat in plaats van het uitvoeren van de juiste x64-instructies de ARM64-instructieset en -laag wordt gebruikt. Terwijl deze vertalingen plaatsvinden, zal Windows een kopie hiervan opslaan in de opslag en/of RAM voor toekomstig gebruik, waardoor de overhead voor soortgelijke oproepen later wordt verminderd.
De "speciale saus" van CHPE DLL's
Dit voor elke mogelijke instructie doen zou veel overhead kosten - in feite is dit een van de dingen waar de Crusoe mee worstelde in prestatiebenchmarks. We hebben dit ook gezien bij pogingen om x86-besturingssystemen te emuleren via projecten zoals QEMU. Microsoft pakt dit verder aan met wat zij Compiled Hybrid Portable Executable (CHPE) DLL's noemen. Om deze te begrijpen is veel lezen nodig, en een van de plaatsen om te beginnen zou de Whitepaper met PE-bestandsformaatspecificatie. De huidige versie bevat informatie specifiek voor ARM64 en zal programmeurs en degenen die een dieper inzicht willen krijgen in deze innerlijke werking een goed startpunt bieden. In een notendop zijn veel van de kritische API-aanroepen die Windows helpen werken, vooraf gecompileerd voor ARM64, zodat ze in plaats van ze te moeten vertalen, met vrijwel volledige native prestaties kunnen werken.
Gezien het werk dat Microsoft hierin heeft gestoken, in samenwerking met Qualcomm en hun Snapdragon 835, is het duidelijk dat Microsoft vastbesloten is om de fouten rechtzetten die zo velen voelden over Windows RT en laten zien dat ze eindelijk Windows 10 ARM kunnen brengen op een manier die voor de meesten zal werken consumenten. En vanuit één perspectief is het volkomen logisch: de absolute noodzaak om de meeste prestaties te behalen met zo min mogelijk batterijgebruik. Terwijl Intel grote vooruitgang heeft geboekt in de scene, hebben ARM – en met name Qualcomm – de maatstaf gezet bij het balanceren van mobiele prestaties met de behoeften van mobiliteit. Qualcomm kan een volledig boardpakket aanbieden dat radio, display, processor en grafische kaart mogelijk maakt en dit nog steeds lukt, terwijl de batterij een indrukwekkende levensduur heeft.
Het enige dat Qualcomm niet heeft gehad, is een manier om verwerkingsondersteuning toe te voegen via Thunderbolt. Even ironisch: Intel's eigen poging om de technologie te helpen groeien en verspreiden kan heel goed uiteindelijk worden gebruikt in de concurrentiestrijd ermee. Een op ARM gebaseerd mobiel apparaat, zoals een tablet, met de mogelijkheid om volledig te communiceren en te profiteren van extra bronnen via een dock zou zeker voor meer concurrentie zorgen, niet alleen in dit specifieke segment, maar ook in andere delen van de personal computing markt.
Qualcomm, Microsoft en Intel reageren
Microsoft en Qualcomm hebben er alle belang bij dit te laten slagen - en zijn er stellig van overtuigd dat personal computing een deel van de markt is dat rijp is voor concurrentie. Toen we Qualcomm om commentaar vroegen, reageerde een woordvoerder van Qualcomm met het volgende:
"Gezien onze recente aankondiging met ASUS, HP en Lenovo vonden we de blog die een van onze concurrenten op 8 juni publiceerde erg interessant. We kijken uit naar de lancering van de altijd verbonden Windows 10-pc, mogelijk gemaakt door het Qualcomm Snapdragon 835 mobiele pc-platform later dit jaar. Zoals getoond op Computex 2017 in samenwerking met Microsoft, brengt het Snapdragon 835 Mobile PC Platform een echte altijd verbonden pc-ervaring met ondersteuning voor maximaal Gigabit LTE-connectiviteit en een batterij die de hele dag meegaat voor een slank, dun en ventilatorloos apparaat ontwerpen. Dit zal de toekomst van personal computing veranderen.”
Op vergelijkbare wijze bood een Microsoft-woordvoerder een verklaring aan naast de link naar de bovenstaande video:
"Er zijn gebruikers die te allen tijde verbonden moeten zijn met de cloud, waarbij ze gebruik moeten maken van de nieuwste netwerktechnologie zoals gigabit LTE en eSIM. Microsoft werkt samen met zijn ecosysteem aan een gedeelde visie die begint met een nauwe samenwerking op de siliciumlaag, met Intel en Qualcomm, en met zijn mobiele operatorpartners om naadloze eSim te bieden connectiviteit. Apparaatpartners van Microsoft, waaronder ASUS, HP, Huawei, Lenovo, VAIO en Xiaomi, zetten zich in voor deze nieuwe categorie Always Connected PC's die gebruik maken van eSim-technologie.
Bovendien zullen Always Connected-apparaten afkomstig zijn van ASUS, HP en Lenovo, op de Qualcomm Snapdragon 835-chipset. Deze nieuwe apparaten zullen beschikken over Windows 10, met altijd ingeschakelde LTE-connectiviteit en een lange batterijduur."
Het antwoord van Intel was net zo behoedzaam als zijn blogbericht. Van een Intel-woordvoerder:
"Intel respecteert intellectuele eigendomsrechten en wij verwachten van anderen hetzelfde. x86-technologie is zowel bedrijfseigen als centraal in ons bedrijf, en we maken ons zorgen wanneer het erop lijkt dat anderen deze op ongepaste wijze kopiëren. We zullen alle producten die beweren de x86-technologie te emuleren grondig evalueren en onze intellectuele eigendomsrechten krachtig afdwingen als we denken dat deze worden geschonden."
Analyse & Conclusie
Dit is een hele fijne dans die deze drie lijken uit te voeren. En tegelijkertijd, aangezien er geruchten de ronde deden al in november vorig jaar - weken eerder aangekondigd op WinHEC - lijkt het vreemd dat Intel hiervan vóór Computex niet op de hoogte was, of ze het nu publiekelijk wilden toegeven of niet. Tegelijkertijd laat de geschiedenis (zoals bij de Transmeta Crusoe en WoW64) zien dat er vanuit juridisch perspectief niet veel is om dit aan te vechten. Maar op het moment dat iemand de woorden ‘x86-emulatie’ laat vallen, zoals wat Microsoft en Qualcomm hadden gedaan Tot Computex is het slechts een kwestie van tijd voordat genoeg bezorgde stemmen en aandeelhouders eisen dat Intel reageert Het.
Zal het het project veranderen waar Microsoft en Qualcomm aan werken? Ik nam contact op met Anshel Sag, Associate Analyst bij Moor Insights & Strategy voor zijn mening hierover. (Noot van de bijdrager: de heer Sag speelde als sectoranalist ook een grote rol bij het bereiken van de juiste personen voor tijdige reacties van Intel, Microsoft en Qualcomm.) Zijn antwoord:
“Afgaande op de reactie die ik van Qualcomm heb gezien, lijkt het erop dat ze zich geen enkele zorgen maken over de opmerkingen van Intel. Microsoft heeft uiteraard niets gezegd vanwege hun nauwe relatie met Intel, waarvan ik denk dat dit enigszins onder druk komt te staan. Ik geloof dat concurrentie altijd goed is voor de markt en ik geloof dat Microsoft dit ook gelooft.”
Een succesvolle lancering van Windows 10 ARM vormt een risico voor Intel in een tijd waarin het te maken krijgt met toenemende concurrentie elders in zijn bedrijfssegmenten. Zoals wij hebben ook gedekt door Computex AMD staat op het punt zijn Epyc-serverprocessors op basis van de Zen-architectuur op te voeren en te lanceren. Het consumentenassortiment, Ryzen, zal de concurrentie ook voortzetten door uit te breiden naar zowel het high-end enthousiaste desktop- als het mobiele segment. ARM64-concurrentie, zoals Qualcomm, zou zeker de embedded Atom- en Core M-segmenten uitdagen.
Op hetzelfde moment dat ze de "Always Connected" -apparaten benadrukten, zagen we dat Microsoft zijn inspanningen benadrukte om Mixed Reality- en Augmented Reality-apparaten, zoals hun eigen HoloLens, verder te ontwikkelen. Ik ben er niet van overtuigd dat noch Microsoft, noch de fabrikanten van ARM-halfgeleiders, zoals Microsoft, hier zullen stoppen. NVIDIA zit nu bijvoorbeeld redelijk goed in zijn Tegra-portfolio tussen het zelfrijdende auto-initiatief en de deal met Nintendo die de Switch aandrijft. Hoewel een onderzoek bij NVIDIA niet heeft uitgewezen dat er iets aan de hand is, zou het mij helemaal niet verbazen als NVIDIA ook een herintreding overweegt. Het zou gemakkelijk een op Tegra X1 of X2 gebaseerd apparaat kunnen bieden - en het kan zeker grafische kracht bieden om een op het hoofd gemonteerd display aan te sturen.
Als we de heer Sag ook over dit onderwerp vragen, blijkt dat we niet de enigen zijn:
“Ik ben er absoluut van overtuigd dat dit verder kan gaan dan de ‘Always Connected’-pc’s die op Computex zijn aangekondigd. We hebben al gezien dat de smartphones van Microsoft met Windows 10 ARM omarmden, wat volgens mij de basis vormde voor deze ontwikkeling op pc's. Ik geloof ook dat als de applicaties en ecosysteem groeien, zouden we AR/MR/VR-headsets met ARM-processors op Windows kunnen zien draaien, wat volgens mij onderdeel is van de langetermijnstrategie van Microsoft om de markt te domineren AR/MR/VR-markt. Ik geloof niet dat Hololens de enige stand-alone headset voor Windows Mixed Reality zal zijn en ik geloof dat we headsets met ARM erin zullen zien.”
Ik heb het echter keer op keer gezegd: 2017 wordt snel het jaar van toenemende concurrentie op de pc-markt. En gezien het feit dat er in veel van deze segmenten zo weinig van is gebleken, is het jammer dat Intel hiervan de dupe zal worden vanwege hun successen uit het verleden. Maar wat Intel's verlies zal zijn, zal zeker de winst van anderen zijn, en vooral van de consument. En dat is altijd maar goed ook.
Wat vind je van Windows op ARM-processors? Hoe zal dit de desktop-, laptop- en mobiele ecosystemen veranderen? Geluid hieronder uit!
Update 16-06-2017 22:51 ET: Weinig grammaticale wijzigingen en de naam van één bedrijf aangepast (genoemd in de reacties.) Bedankt voor de waarschuwing!