Under Computex henviste Microsoft og Qualcomm til x86-emulering i Windows 10 ARM, hvilket anmodede om svar fra Intel. Vi tager fat i dem og undersøger.
I december 2016 Qualcomm og Microsoft udgav nyheder om, at de ville gøre noget, mange inden for mobilenheder ikke havde forventet: Endnu et forsøg på at få Windows til at køre på en ARM-processor. Men lighederne mellem dette nye forsøg og tidligere, der var skæmmet af Windows RT-udgivelsen, blev hurtigt lagt i seng.
Under den samme meddelelse udgav Windows en teknisk demo på YouTube, der viser, at det allerede var muligt at have "almindelig" Windows. Dette var ikke programmer, der blev genkompileret ved hjælp af ARM-instruktionssættet, men i stedet 32-bit applikationer (såsom Photoshop), der kørte og opførte sig som forventet på en desktopproces, men denne gang videre Snapdragon.
Det, der satte os ud på denne rejse, var en seneste blogindlæg fra Intel i sidste uge, der udråber sine 40 år med Intel-arkitekturen. Det, der fik opmærksomheden på de fleste nyheder, var det, der blev sagt i slutningen af blogindlægget (hovedvægten er vores):
"Der har dog været rapporter om, at nogle virksomheder kan forsøge at efterligne Intels proprietære x86 ISA uden Intels tilladelse. Emulering er ikke en ny teknologi, og Transmeta var især det sidste firma, der hævdede at have produceret en kompatibel x86-processor ved hjælp af emulering ("code morphing") teknikker. Intel håndhævede patenter relateret til SIMD-instruktionssætforbedringer mod Transmetas x86-implementering, selvom den brugte emulering. Under alle omstændigheder var Transmeta ikke kommercielt succesfuld, og den forlod mikroprocessorbranchen for 10 år siden.
Kun tiden vil vise, om nye forsøg på at efterligne Intels x86 ISA vil møde en anden skæbne. Intel hilser lovlig konkurrence velkommen, og vi er overbeviste om, at Intels mikroprocessorer, som er blevet specifikt optimeret til at implementere Intels x86 ISA i næsten fire årtier, vil levere fantastiske oplevelser, konsistens på tværs af applikationer og en fuld bredde af forbrugertilbud, fuld styring og it-integration til virksomhed. Vi hilser dog ikke ulovlig krænkelse af vores patenter velkommen, og vi forventer fuldt ud, at andre virksomheder fortsat respekterer Intels intellektuelle ejendomsrettigheder. Stærk beskyttelse af intellektuel ejendom gør det muligt for Intel at fortsætte med at investere de enorme ressourcer kræves for at fremme Intels dynamiske x86 ISA, og Intel vil bevare sin årvågenhed for at beskytte sine innovationer og investeringer."
Tidspunktet for dette blogindlæg hurtigt relateret det til yderligere meddelelser under Computex 2017 i Taiwan et par uger. Umiddelbart virker det mærkeligt, at Intel ventede lige så længe, som de gjorde, med at affyre, hvad de fleste nu mener at have været et advarselsskud mod Qualcomm og Microsoft. Blogindlægget efterlod det specifikt vagt nok til, at det ikke kunne være direkte knyttet til Qualcomm-Microsoft-partnerskabet. Ved søgning retfærdiggjorde ingen andre nylige diskussioner om x86-emulering dette svar. Dette forstørrede kun yderligere, hvem det tilsigtede mål for Intels juridiske team var - Qualcomm og Microsoft. Dette efterlod os med mange spørgsmål. Under undersøgelsen af denne artikel blev nogle af spørgsmålene besvaret - og dem vil vi gennemgå. Men der er spørgsmål, der også er ubesvarede, både fra den oprindelige henvendelse og nu som følge af oplysningerne fra alle tre parter. Vi sætter pris på, at alle tre - Intel, Qualcomm og Microsoft - var villige til at svare på vores anmodninger.
Windows 10 ARM bekræftet
Et af de første spørgsmål, der naturligvis skulle besvares, var at forstå, hvad denne Windows-version er og ikke er. Heldigvis har Microsoft givet os et link til en video udgivet under Build 2017, som beskriver meget af disse oplysninger for os:
https://channel9.msdn.com/Events/Build/2017/P4171/player
Da kun en håndfuld websteder dækkede dette på tidspunktet for udgivelsen, ser det ud til at være smuttet under radaren hos mange. Dette giver os flere meget punkter, det vigtigste af dem alle er det dette er helt sikkert en fuld-on Windows 10 ARM. Og det er tydeligt, at Microsoft tog de problemer til sig, som Windows RT stod over for - især manglende evne til at køre x86-applikationer på platformen. Den nye tilgang tilbyder en løsning på dette med det, der er beskrevet både i videoen og tidligere pressemeddelelser som x86-emulering gennem Windows på Windows-laget, som er den del, der fik Intels opmærksomhed. Men er dette virkelig x86-emulering? Lad os se på diaset i videoen, der bryder dette ned for os.
Siden Intel droppede henvisningen til Transmeta i deres blogindlæg, lad os henvise tilbage til en ArsTechnica-stykke, der dækker CPU'en tilbage i 2000. Efter en gennemgang af de to er det begge bemærkelsesværdigt, at der er meget reelle ligheder og forskelle mellem dem. I tilfældet med Transmeta og dets Crusoe-processorer var disse processorers opgave hovedsageligt at køre et softwarelag i processoren kaldet Kode Morphing. Dette softwarelag, langt under applikationen og endda kernelagene, er det, der oversatte x86-instruktionssæt til hardwarekommandoer, som Crusoe kunne udføre.
Det er også vigtigt at bemærke, at slutningen for Transmeta på x86-markedet uden tvivl var ikkemodsagen, som Intel anlagde mod Transmeta i 2007. Transmeta anlagde velsagtens modsagen ved at forsøge at sagsøge Intel for IP-krænkelse; indtil det tidspunkt havde Intel ladet dem være i fred. Transmetas exit var en beslutning fra dens bestyrelse at det ikke længere var levedygtigt, og fokuserede i stedet på sin IP for at blive i forretningen.
I tilfælde af Qualcomm og Microsoft ser det ikke ud til, at dette bliver gjort ved et maskininstruktionslag. I stedet er det, der ser ud til at ske her, meget som brugen af 32-bit applikationer på et 64-bit operativsystem. I tilfælde af 32-bit applikationer på et 64-bit operativsystem investerede Microsoft tid og ressourcer på at skabe en grænse, der tillader 32-bit applikationer at køre problemfrit i 64-bit operativsystemet - dette kaldes Windows på Windows eller WOW. I tilfælde af ARM er den samme grænse blevet skabt; den største forskel er, at i stedet for at køre de relevante x64-instruktioner, bruges ARM64-instruktionssættet og -laget. Efterhånden som disse oversættelser forekommer, vil Windows cache en kopi af dette enten på lager og/eller RAM til senere brug, hvilket reducerer omkostningerne ved lignende opkald senere.
Den "Special Sauce" af CHPE DLL'er
At gøre dette for enhver mulig instruktion ville kræve en masse overhead - faktisk er dette en af de ting, som Crusoe kæmpede med i præstationsbenchmarks. Det har vi også set i forsøg på at efterligne x86-operativsystemer gennem projekter som f.eks QEMU. Microsoft adresserer dette yderligere med, hvad de kalder Compiled Hybrid Portable Executable (CHPE) DLL'er. At forstå disse kræver meget læsning, og et af stederne at starte ville være PE-filformatspecifikation hvidbog. Den nuværende version indeholder information specifikt for ARM64 og vil tilbyde programmører og dem, der ønsker at få en dybere forståelse af disse indre funktioner, et godt udgangspunkt. I en nøddeskal er mange af de kritiske API-kald, der hjælper Windows med at fungere, blevet prækompileret til ARM64, så de i stedet for at skulle oversætte dem kan køre med en næsten fuld native ydeevne.
Når man ser det arbejde, Microsoft har lagt i dette, samarbejder med Qualcomm og deres Snapdragon 835 - er det tydeligt, at Microsoft er fast besluttet på at rette de fejl, som så mange følte om Windows RT og vise, at de endelig kan bringe Windows 10 ARM på en måde, der vil fungere for de fleste forbrugere. Og det giver perfekt mening fra ét perspektiv - det absolutte behov for at opnå den bedste ydeevne for det mindste batteriforbrug. Mens Intel har gjort store fremskridt på scenen, har ARM - og især Qualcomm - sat pejlemærket i at balancere mobil ydeevne med mobilitetsbehov. Qualcomm kan tilbyde en fuld board-pakke, der giver mulighed for radio, skærm, processor, grafik og stadig formår at gøre det, samtidig med at den tilbyder imponerende batterilevetid.
Den ene ting, som Qualcomm ikke har haft, er en måde at tilføje behandlingssupport ved hjælp af Thunderbolt. I en smule ironi her, Intels eget forsøg at hjælpe med at vokse og sprede teknologien kan meget vel ende med at blive brugt i konkurrence mod det. En ARM-baseret mobilenhed, såsom en tablet, med mulighed for fuldt ud at interface og drage fordel af yderligere ressourcer via en dock ville helt sikkert tilføje konkurrence ikke kun i dette særlige segment, men i andre dele af den personlige computer marked.
Qualcomm, Microsoft og Intel svarer
Microsoft og Qualcomm har en egeninteresse i at få dette til at lykkes – og mener bestemt, at personal computing er en del af markedet, der er moden til konkurrence. Da vi kontaktede Qualcomm for en kommentar, svarede en talsmand for Qualcomm med følgende:
"Med vores seneste meddelelse med ASUS, HP og Lenovo fandt vi bloggen, som en af vores konkurrenter offentliggjorde den 8. juni, meget interessant. Vi ser frem til lanceringen af den altid tilsluttede Windows 10-pc drevet af Qualcomm Snapdragon 835 Mobile PC Platform senere på året. Som vist på Computex 2017 i samarbejde med Microsoft, bringer Snapdragon 835 Mobile PC Platform en ægte altid tilsluttet pc-oplevelse med understøttelse af op til Gigabit LTE-forbindelse og batterilevetid hele dagen for slank, tynd og blæserløs designs. Dette vil ændre fremtiden for personlig computer.”
På lignende måde tilbød en Microsoft-talsmand en erklæring ud over linket til videoen ovenfor:
"Der er brugere, der til enhver tid skal være forbundet til skyen, ved at udnytte den nyeste netværksteknologi som gigabit LTE og eSIM. Microsoft samarbejder med sit økosystem om en fælles vision, der starter med et tæt partnerskab på siliciumlag, med Intel og Qualcomm og med dets mobiloperatørpartnere for at levere problemfri eSim forbindelse. Microsoft-enhedspartnere, herunder ASUS, HP, Huawei, Lenovo, VAIO og Xiaomi, er forpligtet til denne nye kategori af Always Connected-pc'er, der bruger eSim-teknologi.
Derudover vil Always Connected-enheder komme fra ASUS, HP og Lenovo på Qualcomm Snapdragon 835-chipsættet. Disse nye enheder vil have Windows 10 med altid tændt LTE-forbindelse og fantastisk batterilevetid."
Intels svar var lige så bevogtet som dets blogindlæg. Fra en talsmand for Intel:
"Intel respekterer intellektuelle ejendomsrettigheder, og vi forventer, at andre gør det samme. x86-teknologi er både proprietær og central for vores forretning, og vi er bekymrede, hver gang det ser ud til, at andre kopierer det upassende. Vi vil grundigt evaluere alle produkter, der hævder at efterligne x86-teknologi, og håndhæver kraftigt vores intellektuelle ejendomsrettigheder, hvis vi mener, at de krænkes."
Analyse & Konklusion
Dette er en meget fin dans, de tre ser ud til at udføre. Og på samme tid i betragtning af, at rygterne svævede allerede i november sidste år - uger før annonceret på WinHEC - virker det mærkeligt, at Intel ikke var klar over dette før Computex, uanset om de ville indrømme det offentligt eller ej. Samtidig viser historien (såsom med Transmeta Crusoe og WoW64), at der ikke er meget fra et juridisk perspektiv til at udfordre det. Men i det øjeblik nogen dropper ordene "x86-emulering", såsom hvad Microsoft og Qualcomm havde lavet op indtil Computex, er det kun et spørgsmål om tid, før nok bekymrede stemmer og aktionærer kræver Intel reagere på det.
Vil det ændre det projekt, som Microsoft og Qualcomm arbejder på? Jeg kontaktede Anshel Sag, Associate Analyst hos Moor Insights & Strategy for hans tanker om dette. (Bidragydernote: Mr. Sag, som brancheanalytiker, var også meget medvirkende til at nå de rigtige personer til rettidige svar fra Intel, Microsoft og Qualcomm.) Hans svar:
"Bet dømme efter det svar, jeg har set fra Qualcomm, ser det ikke ud til, at de er det mindste bekymrede over kommentarerne fra Intel. Microsoft har naturligvis ikke sagt noget på grund af deres tætte forhold til Intel, hvilket jeg tror, det belaster noget. Jeg tror på, at konkurrence altid er godt for markedet, og jeg tror på, at Microsoft også tror på dette."
En vellykket lancering af Windows 10 ARM udgør en risiko for Intel på et tidspunkt, hvor det står over for øget konkurrence andre steder i sine forretningssegmenter. Som vi har dækkes også fra Computex AMD er ved at optrappe og lancere sine Epyc-serverprocessorer baseret på Zen-arkitekturen. Dets forbrugersortiment, Ryzen, vil også fortsætte konkurrencen ved at ekspandere til både high-end entusiast desktop og mobile segmenter. ARM64-konkurrence, såsom Qualcomm, ville helt sikkert udfordre dets indlejrede, Atom- og Core M-segmenter.
Samtidig med at de fremhævede "Always Connected"-enhederne, så vi Microsoft fremhæve deres bestræbelser på at fremme Mixed Reality og Augmented Reality-enheder, såsom deres egen HoloLens. Jeg er ikke overbevist om, at hverken Microsoft eller ARM-halvlederproducenterne, såsom Microsoft, vil stoppe her. NVIDIA, for eksempel, sidder ret godt nu på sin Tegra-portefølje mellem initiativet til selvkørende biler og aftalen med Nintendo, der driver Switch. Selvom en forespørgsel til NVIDIA ikke tydede på, at der var noget i horisonten, ville jeg slet ikke blive overrasket over at se NVIDIA overveje at genindtræde. Den kunne nemt tilbyde en Tegra X1- eller X2-baseret enhed - og den kan bestemt tilbyde grafikkraft til at drive en hovedmonteret skærm.
At spørge hr. Sag om dette emne også tyder på, at vi ikke er alene:
"Jeg tror absolut, at dette kan strække sig ud over "Always Connected" pc'er, der blev annonceret på Computex. Vi har allerede set Microsofts smartphones med Windows 10 omfavne ARM, som jeg tror var grundlaget for denne udvikling i pc'er. Jeg tror også, at som applikationer og økosystem vokser, kunne vi se AR/MR/VR-headset med ARM-processorer køre Windows, hvilket jeg mener er en del af Microsofts langsigtede strategi om at dominere AR/MR/VR-markedet. Jeg tror ikke på, at Hololens bliver det eneste selvstændige headset til Windows Mixed Reality, og jeg tror på, at vi vil se headset med ARM indeni."
Jeg har dog sagt det gang på gang – 2017 er hurtigt ved at blive året med øget konkurrence på pc-markedet. Og i betragtning af, at der har været så lidt af det i mange af disse segmenter, er det uheldigt, at Intel vil bære hovedparten af dette på grund af deres tidligere succeser. Men hvad der er Intels tabte vil helt sikkert være andres gevinst, vigtigst af alt forbrugeren. Og det er altid en god ting.
Hvad synes du om Windows på ARM-processorer? Hvordan vil dette ændre desktop, bærbare og mobile økosystemer? Lyden af nedenfor!
Opdatering 16/6/17 22:51 ET: Få grammatiske redigeringer og et firmas navn rettet (kaldet op i kommentarerne.) Tak for heads-up!