Microsoft begint publieke test met x64-emulatie Arm-versie Windows

Microsoft heeft een previewbuild uitgebracht van Windows 10 met de mogelijkheid om x64-programma's te emuleren op computers met Arm-processors. In de huidige versie is alleen emulatie van x86-programma's mogelijk.

In de previewbuild 21277 zit de emulatie voor pc's met Arm-processors, zoals Microsofts eigen Surface Pro X, meldt Microsoft. Het bedrijf waarschuwt wel dat het in deze testfase mogelijk is dat sommige programma's niet werken met emulatie. Het is onbekend voor welke programma's dat geldt.

Bij de release van de Arm-versie van Windows 10 besloot Microsoft om alleen x86-programma's te emuleren. Veel software voor Windows 10 was volgens Microsoft toen nog geprogrammeerd voor 32bits-processors. Inmiddels is dat anders, waardoor de emulatie van x64 wel wenselijk is geworden. Apple ondersteunt met de Armversie van macOS sinds de release vorige maand ook 64bits-programma's.

Installatie van programma's die werken met de x64-emulatie werkt zoals het ook op pc's met Intel- en AMD-processors werkt, dus vanuit de Store of met installatiebestanden van internet. Microsoft noemt Rocket League en Autodesk Sketchbook als voorbeelden van software die nu wel te installeren is. De prestaties van de emulatie moeten nog beter worden naarmate de release van de stabiele versie dichterbij komt.

Surface Pro X

Door Arnoud Wokke

Redacteur

11-12-2020 • 13:21

108 Linkedin

Submitter: TheVivaldi

Reacties (108)

108
108
73
7
0
23
Wijzig sortering
Ik begreep dat in OSX niet alles geëmuleerd hoeft te worden maar dat bepaalde zaken ook native werken op die M1 wat ervoor zorgt dat de performance zo goed is. Lijkt mij dat dit, wat minder goed zal gaan op de Snapdragon soc die nu in de Pro X zit.

Eigenlijk interessant wat de performance zal zijn om de M1.
k begreep dat in OSX niet alles geëmuleerd hoeft te worden
Wat ik begrepen heb: er wordt eigenlijk niet zozeer ge-emuleerd, maar er wordt, bij opstarten een vertaling gemaakt van de instructies naar ARM.

Het is dus de andere kant op dan bij emulatie. Daar doet de chip alsof hij ook x86 snapt, hier wordt er van te voren wat werk gedaan zodat de x86-instructies in ARM worden uitgevoerd.

https://developer.apple.c...a_translation_environment

[Reactie gewijzigd door Keypunchie op 11 december 2020 13:42]

oftewel: translation i.p.v. emulation

Voordeel is dat een instructie die 1000x uitgevoerd word niet 1000x geconverteerd hoeft te worden maar slechts één keer.

't allerbeste zou natuurlijk zijn als dit bij compile-time gewoon gebeurt.. ik snap ook nog steeds niet waarom dát niet inmiddels de standaard is.
't allerbeste zou natuurlijk zijn als dit bij compile-time gewoon gebeurt.. ik snap ook nog steeds niet waarom dát niet inmiddels de standaard is.
Bij FOSS gebeurt dat al jaren. Neem bijvoorbeeld Debian/AMD64. Die was er lang en breed voor Windows AMD64 goed draaide (inclusief software).
Dat is de standaard, alleen op Windows niet. Daar moet je voor verschillende edities losse builds maken die niet samen kunnen werken en vaak ook niet zomaar met dezelfde broncode werken (tenzij je een shitload aan IFDEFs etc gebruikt). Microsoft kan dat ook niet veranderen, want een van hun selling points is de eeuwige backwards compatibility, ook zonder support. Als een bedrijf opeens wel echt onderhoud zou moeten doen om dat niet alles tot in den treuren gerekt kan worden maakt Windows opeens een stuk minder verschil. Wat ze wel gedaan hebben is bij C# .NET goed naar Java kijken; dat is natuurlijk nog steeds niet perfect, maar je kan dan in elk geval veel vaker native architecture on-demand genereren met modernere versies.
In de Java Virtual Machine is een soort hybride oplossing bedacht: Just In Time compilation om mee te beginnen, waarna hotspots in de bytecode worden vertaald in native machine code. Op de langere termijn kan dit efficiënter zijn, aangezien er ook flink aan loop-unolling en method-inlining wordt gedaan om maar zo min mogelijk instructies uit te hoeven voeren.

De Oracle 9 JVM kan deze cache ook bewaren, al is deze cache onbruikbaar als er iets veranderd in de stack van de precompiled code.
Apple heeft Intel's memory ordering in de CPU ingebouwd. Als een Rosetta 2 vertaalde applicatie draait dan wisselt de CPU voor deze applicatie naar de Intel stijl ordering. Hierdoor zijn de obstakels op architectuur front voor het grootste deel afgevangen en kunnen de naar ARM vertaalde instructies in veel gevallen met vrijwel native performance draaien.

Bron: https://twitter.com/erratarob/status/1331735383193903104
Mag dat zo maar? Zit daar geen patent of iets dergelijks op?
Apple kenende zullen wel met Intel om de tafel hebben gezetten om dit in licentie nemen.

Antwoord is dus nee dat mag niet zomaar. Zeker gezien een hoop patenten zijn die geschonden worden zal Apple goede afspraken hebben gemaakt net Intel daar over.
Dat vroeg ik me af met betrekking tot Thunderbolt. Ik dacht dat dit een techniek/protocol van Intel was en dus de reden dat je deze niet op AMD systemen hebt.

Sorry, beetje off-topic, maar toch ;-)
Intel en klein beetje Apple ja. Maar Intel heeft het stokje overgegeven aan de USB-IF. Daarom zit het nu default in USB 4
Hé, dat is dan een (vreemde) uitondering.

Zou dit er iets mee te maken hebben?

This model may not be sold worldwide. Please contact your local dealer for the availability of this model in your region.
bedoel je big endian vs little endian ? dat kan toch niet gepatenteerd zijn. Dat is gewoon een afspraak of je leest van rechts naar links of van links naar rechts. (Grootste rechts, of kleinste rechts)
Datzelfde hebben we ook in het nederlands, omdat we arabische cijfers gebruiken. We hadden evengoed de "afspraak" kunnen omdraaien.
ik heb me niet verdiept, maar ik veronderstel dat er veel idëeen zijn gebruikt. zoals een uitgebreide lookuptable die werkt als soort van extra cache.
Ik bedoel de technieken uit de tweets waar @Soru naar linkt. Het klinkt alsof ze een beetje een x86 modus ingebouwd hebben, wat betreft geheugenbeheer. Maar zo diep zit in niet de processortechnologie dat ik weet wat er gebruikt wordt. Vandaar mijn vraag, ik leer graag bij.
De originele Rosetta was een real-time emulator, Rosetta 2 kan ook apps 'converten' tijdens de installatie of tijdens het opstarten. Ze doen ook handige dingen met Bitcode met apps uit de App Store.

Ik kan ook zeker blog post aanraden:
https://debugger.medium.c...chip-so-fast-3262b158cba2

[Reactie gewijzigd door pBook op 11 december 2020 14:01]

In single-core met emulatie werkt Windows's x86-64 emulatie beter dan macOS's Rosetta 2 voor multi-core moet het maar net onderdoen in Geekbench. Voor een eerste preview is dit absoluut niet slecht.

https://browser.geekbench.../5268880?baseline=5268773
Ik snap die resultaten niet helemaal, waarom heeft het Rosetta 2 resultaat een ‘VirtualApple’ CPU op 2.4 GHz, terwijl het W10 x86-64 resultaat wel een Apple M1 op 3.2 GHz aangeeft? Is het wel zeker dat je deze resultaten 1 op 1 kan vergelijken zo en er niet om wat voor reden dan ook een kloksnelheid verschil is?
Het lijkt eerder dat de Windows variant een ARM variant is.
64-bit wil niet zeggen ‘x86_64’.
In die benchmark gaat het om Windows 10 Enterprise, dus geen ARM.
Omdat Win10 ARM draait via QEMU bovenop macOS. Beide tests moeten draaien op 3,2 GHz tenzij er een bug is in macOS.

Dus: Geekbench macOS x86 bovenop macOS. En Geekbench Windows x86 bovenop Windows ARM bovenop QEMU bovenop macOS.

[Reactie gewijzigd door xfj op 11 december 2020 16:35]

Let er wel op dat de QEMU + VM + MacOS laag niet gratis is, hier zal zeker ook wat performance verloren gaan. Het kan dus best dat het eigenlijk iets rooskleuriger is (Windows een groter voordeel heeft), Windows in een VM die draait binnen MacOS doet het natuurlijk slechter dan gewoon native draaiende Windows.

Helaas kunnen we niet gewoon middels Bootcamp Windows installeren op een M1 apparaat, en MacOS installeren op een willekeurig ARM apparaat gaat nog minder lukken 😕
De kracht van rosetta 2 is dat deze in ieder geval deels ahead-of-time werkt. De code wordt dus van te voren omgezet naar code voor ARM, wat scheelt in de performance.
Dan adviseer ik je om het filmpje van Linus Tech Tips eens te bekijken.
Hij doet een vergelijking tussen AMD Ryzen (volgens mij met Windows), een laatste generation Mac met Intel en de M1 met ARM. Kun je met alleen het "instapmodel" al de verschillen zien in de benchmarks tussen Intel en ARM op Mac en AMD Ryzen met Windows10

https://www.youtube.com/watch?v=4MkrEMjPk24

[Reactie gewijzigd door Dograver op 11 december 2020 13:38]

ARM chips hebben ook instructies (bijv FJCVTZS) om performance van javascript een oppepper te geven.

https://stackoverflow.com...the-name-fjcvtzs#50966903
Tijd voor AMD om een x86/64 - ARM hybride met super krachtige navi GPU soc uit te brengen :)
macOS 11 niet OSX (OS 10) ;-)
2 vraagjes:
Betekend dit binnenkort Windows 10 compatibel met Raspberry Pi?
Wordt dat een betalende upgrade?
Het is al mogelijk om de Windows 10 ARM versie te installeren op een Pi:
https://nl.hardware.info/...p-raspberry-pi-4-mogelijk

En je zult er gewoon een windows licentie voor nodig hebben zoals bij elke windows versie het geval is.
Je kan via third party wel al Windows arm installeren op een raspberry pi. Probleem is alleen dat Microsoft geen arm licenties verkoopt aan consumenten. En zolang Microsoft dat niet doet is een legale manier bijna niet mogelijk.
Klopt dat ze geen licenties verkopen aan consumenten, want Windows 10 IoT Core is gratis voor consumenten.
Je moet alleen betalen als je gebruik maakt van IoT Core Services of het commercieel gaat inzetten. Al is het ook wat afhankelijk van de gebruikte hardware. \

Maar voor de Raspberry Pi is het gratis en er is geen 3rd party meuk voor nodig:

https://docs.microsoft.co...ws/iot-core/tutorials/rpi
https://docs.microsoft.com/en-us/windows/iot-core/downloads

[Reactie gewijzigd door batjes op 11 december 2020 18:16]

Iot core is natuurlijk geen volledige Windows 10. En ik ging er eigenlijk vanuit dat dat juist td540 zou willen hebben.
Nouja third party is het wel gelukt om gewoon Windows 10 arm dus dezelfde die op bijvoorbeeld de surface pro x draait te draaien op een Pi. Het word onder andere aangeboden door het WOR project en WOW project. Die bieden Windows 10 for arm images aan die wel degelijk op de Pi draaien zonder je in te hoeven schrijven voor “insider”

[Reactie gewijzigd door Snowfall op 11 december 2020 19:09]

Dat is het al, Windows IoT Core.
Veel heb je er als consumer/prosumer niet aan want het draait op ARM en het is een uitgeklede versie van Windows op x86.
Windows IoT is dan ook bedoelt voor embedded systemen zoals smarthome apparatuur, kiosk schermen en pinautomaten.
Nee. Dit betekent dat Windows 10 ARM straks ook x64 kan emuleren, in plaats van alleen x86. Aan de andere kant, Windows 10 is al compatible met de Raspberry Pi, alleen gaat het om de IOT versie. Er is wel een mogelijkheid om Windows 10 ARM te installeren, maar niet officieel. En deze gaat zeker geen emulatie kunnen doen denk ik.
Zou wel wat zijn als Apple de M1 (het ontwerp ontwerp) chip aan Microsoft in licentie kan gaan uitgeven, krijgen we ook Windows machines op ARM IPV Intell.

Maar wel een mooi zet om minder afhankelijk te zijn van de twee giganten (AMD en Intel) kwa processor architectuur op de desktop en laptop.
Windows voor ARM op M1 is al aan de praat gekregen:
https://www.macrumors.com...irtualizes-windows-on-m1/

De grootste uitdaging is niet de licensering van Apple: je kunt prima een ander OS op een M1 Mac installeren.

Het is de licensering van Microsoft. Net zoals Apple hun OS niet los licenseert van de hardware, geldt dat ook voor ARM-versie Windows.

De consument kan dus nergens 'zomaar' een licentie kopen...

Uit hetzelfde artikel een link naar een uitspraak van Craig Federighi (chef OS bij Apple):
https://www.macrumors.com...i-on-windows-for-m1-macs/
"it's really up to Microsoft"

Het maakt Apple uiteindelijk niet zoveel uit welk OS je draait op Mac, je hebt immers de prijs betaald en de Mac is niet zo'n lucratieve markt voor services als hun melkkoetje, de iPhone.

[Reactie gewijzigd door Keypunchie op 11 december 2020 13:49]

Niet correct. Daar steekt QEMU tussen, dus een virtuele CPU die compatibel is. Om Windows direct op de M1 te draaien zullen MS en Apple moeten samenwerken. Apple zal drivers voor de M1 SoC moeten aanleveren en Windows zal het OS beschikbaar moeten stellen.
Volgens Apple ligt de bal bij Microsoft:
https://www.macrumors.com...i-on-windows-for-m1-macs/
As for Windows running natively on the machine, "that's really up to Microsoft," he said. "We have the core technologies for them to do that, to run their ARM version of Windows, which in turn of course supports x86 user mode applications. But that's a decision Microsoft has to make, to bring to license that technology for users to run on these Macs. But the Macs are certainly very capable of it."

[Reactie gewijzigd door pBook op 11 december 2020 14:04]

Licentie is aan Microsoft om dat aan te leveren. Drivers zullen echt van Apple af moeten komen.
Microsoft levert het niet aan consumenten, want Windows 10 ARM is nog -lang- niet klaar voor algemeen gebruik.

Wil je het gebruiken als consument, nog gratis ook: https://www.microsoft.com...indowsinsiderpreviewARM64 :z

[Reactie gewijzigd door batjes op 11 december 2020 18:18]

Ik doelde er meer om dat we gewoon snelle windows laptops krijgen op snelle ARM, wellicht de Apple M1.
Is het niet zo dat er al Windows machines draaien op Qualcomm ARM processoren?

Zo zou je niet eens die M1 nodig hebben, om al Windows op ARM te kunnen draaien.
Ter info: Er is ook al een Pro X met een SQ2 processor: https://support.microsoft...25-8c56-c9a5-3c56d860d7f6 Ben er niet verder niet zo bekend mee moet ik toegeven.
Waarom zouden ze een licentie op de Apple chip nemen? Ze kunnen een licentie en referentie ARM chips rechtstreeks van ARM aanschaffen.

Ik weet ook niet wat de overeenkomst is tussen ARM en Apple, mogelijk mag Apple deze chips niet verkopen of onder licentie beschikbaar stellen aan andere partijen.
Apple en Microsoft hebben nog steeds een cross-licensing deal en heeft in principe dus al een license op Apple's ARM. Al zit er een anti-kloon uitzondering in, geen idee of dat hier van toepassing zou zijn.
Zou wel wat zijn als Apple de M1 (het ontwerp ontwerp) chip aan Microsoft in licentie kan gaan uitgeven, krijgen we ook Windows machines op ARM IPV Intell.
Apple is niet de enige die ARM SoC's bakt/laat bakken.

Andersom zou natuurlijk ook kunnen, dat Apple iets van Bootcamp ondersteunt om Windows on ARM te kunnen draaien op nieuwe Apple notebooks zonder emulatie.

[Reactie gewijzigd door The Zep Man op 11 december 2020 13:31]

Idd ‘t is wss voordeliger dat Microsoft zelf hun ARM chips bakt
Of bij nVidia, AMD, Qualcomm, Mediatek, Broadcom, of een van de vele, vele, vele andere ARM chip OEM's gaat shoppen... Windows draait al op Broadcom gebaseerde chipjes, en nog wel redelijk ook, maar ARM + groter power budget ben je nog niet echt tegengekomen. Laat staan in de combinatie met de 'consumenten' Windows Editie.
Of deze gewoon van de aankomende eigenaar NVIDIA betrekt. Niettemin verwacht wel een 64bits Windows met native applicaties voor een beetje kantoor en beeld met audio-videobewerking op apparaten als de komende generaties Surface. Dat zal de vigerende ventilatorproblemen op Corei7 exemplaren tot een minimum beperken.
En dan afhankelijk worden van Apple? Dan ben ik toch liever afhankelijk van AMD of Intel, Apple is nog veel groter dan die twee samen. Daar hoeft wat mij betreft niet nog meer geld naar toe. Ik zou liever een andere nieuwere of kleinere speler daarin op zien staan.
Die machines bestaan dus al, zoals de in het artikel aangehaalde Surface Pro X.
Anoniem: 715452
@rvt111 december 2020 23:44
De surface Pro X is al meer als een jaar verkrijgbaar en draait Windows op ARM (een SQ1). De surface RT draaide Windows in 2012 al op ARM.
Microsoft heeft echter zoveel grootzakelijke gebruikers die gewend zijn aan backwards compatibility dat het (nog) niet van de grond komt.
Afgezien van het feit dat Apple dit nooit zal doen moet ik ook zeggen dat ik betwijfel Apple M1 de volle performance kan halen op Windows ARM. Uiteindelijk is een deel van M1's architectuur gebaseerd op big data vergaard over wat mensen op hun Apple ARM en Intel-devices doen en laten onder iOS / OS X. Het lijkt me dat workflows en processen binnen Windows ARM beperkt of zelfs niet te vergelijken zijn met hoe iOS / OS X hun werk doen.
Uiteindelijk is een deel van M1's architectuur gebaseerd op big data vergaard over wat mensen op hun Apple ARM en Intel-devices doen en laten onder iOS / OS X.
Begrijp ik nu goed dat je aangeeft dat Apple ala Google je handel en wandel volgt, opslaat en gebruikt voor allerlei doeleinden? Of begrijp ik je verkeerd? Ik ben oprecht nieuwsgierig.
Apple App Store Analytics; wordt gewoon netjes aan gebruikers gevraagd bij ingebruikname van een apparaat :?. Is sowieso een feature voor app devs, Apple maakt hier 100% gebruik van om te zien van welke wijzigingen in H/W architectuur software het best kunnen versnellen. Volgens verwezen ze er zelfs vluchtig naar in de aankondiging van de M1.
mja, van apple, groter dan intel + AMD + nvidia bij elkaar, wil je wel afhankelijk zijn.
Gaat nooit gebeuren, daarbij AMD werkt al een tijd aan dit ongetwijfeld zien we volgend jaar daar resultaten van.
Apple heeft met de M1 juist een mooie unique selling point. Die geven ze nooit in licentie.
Ik verwacht wel dat andere fabrikanten binnenkort ook met laptop ARM processors gaan komen.
Windows machines op ARM zijn er al 10 jaar.
Voor dat Apple met de M1 kwam, werd er op Windows ARM gebied al een hoop gedaan. Nu voelt het dat wat Apple doet weer het zetje is voor de rest van de industrie net zoals ze verraste met de eerste 64bit iPhone. Dit zal alles weer versnellen lijkt me. Gevoelsmatig was x86 toch wel eindig, dit zetje van Apple zorgt alleen voor een versnelling van iets wat onvermijdelijk was.
Het zetje om met de Desktop OS volledig over te stappen naar ARM en te laten zien dat het sneller en efficiënter kan dan x86. Straks draait alles op ARM lijkt me Windows laptops en desktops en die worden vast even snel als Apple. Ik bedoel dus meer einde x86 tijdperk
Uhh, hoe dan? ARM is een hele efficiënte architectuur maar in scenario's waar een gebruik van een paar 100 watt geen probleem is, dwz. in een normale desktop of in een workstation van een ingenieur of 3D-animator (die maar een piepkleine fractie van z'n kosten aan stroom uitgeeft) is x86-64, en dan met name van AMD, superieur.

Zelfs met een (relatief dure) Ryzen 5 5600X bouw je voor het geld wat een M1 Mac Mini kost, een véél krachtiger systeem, ondanks dat je 2 volwassen en al ver doorontwikkelde hardware-architecturen met elkaar vergelijkt.

Juist omdat ARM een low power architectuur is, kun je 1 van de makkelijkste (en goedkoopste) manieren om méér rekenkracht uit een chip te persen, overklokken en fatsoenlijk koelen, niet toepassen.

Het is natuurlijk wel de superieure architectuur in scenario's waarin energie óf een groot deel van de kostprijs is (servers) óf schaars/beperkende factor ivm warmte (mini-PC's en laptops).

Overigens is het nog maar de vraag of het ooit ook écht de overhand krijgt, aangezien er in de vorm van RISC-V nog een ander (open source) alternatief is - een alternatief dat bovendien al in 128 bits-vorm bestaat.

[Reactie gewijzigd door Pianist1985 op 11 december 2020 14:09]

Ehm, de M1 kan nu al meedoen met veel snellere Corei7 van Intel en dan trekt de CPU zo'n 10 watt met 4 high performance cores en 4 efficiency cores. Het zal niet heel veel moeite kosten om daar 8 high performance cores van te maken. Single threading zijn ze al sneller op een lagere clock.

Je gaat nu de M1 (instap laptop, Mac Mini) vergelijken met een volgebouwde MacPro met 28-cores. Hier maakt Apple natuurlijk een andere CPU voor en dan mag je nog een keer vergelijken of AMD superieur is.
Singlecore is een M1 sneller dan het topmodel Ryzen 9 5950X.
En dat terwijl die Ryzen dan 50 Watt verbruikt (waarvan 20W voor de CPU en 30 Watt voor de uncore).
Die Ryzen is een 16c/32t 105 W TDP (met 140 Watt daadwerkelijk gebruik. De M1 is een 4+4 big.little en verbruikt singlecore ~ 6 Watt. Vergeet niet dat de Ryzen in full MT mode, dus met alle 16 cores aan, niet meer de maximale frequentie haalt en dus ook niet zo snel is als 16xST.
Wel zullen wachten op de ‘M1X’ met waarschijnlijk 16 big cores, terwijl er ook de geruchten van een 32 core Mac Pro variant zijn. Die zullen waarschijnlijk ook meer geheugenkanalen hebben en wellicht DDR5.
Ik verwacht dat de performance van die varianten dan absoluut superieur gaat zijn in vergelijking met de Intel en AMD opties.
Overigens is het nog maar de vraag of het ooit ook écht de overhand krijgt, aangezien er in de vorm van RISC-V nog een ander (open source) alternatief is - een alternatief dat bovendien al in 128 bits-vorm bestaat.
RISC-V Is er nog lang niet en moet zich dan bewijzen tegenover x86 en ARM.
Waarom denk je dat Windows op niet-x86 geen succes is? Mensen willen compatibiliteit,
Microsoft is bezig met Windows op ARm, wat niet aanslaat.
Waarom zou dan een RISC-V Dan opeens wel werken, terwijl daar nog geen high-performance CPU’s voor zijn?
(De 128-bit ISA van RISC-V is trouwens nog niet definitief...)
Het punt is dat de M1 lastig te vergelijken is met de traditionele x86 cpu. Beide cpu's hebben hun eigen gebied waar ze het best presteren waardoor traditionele benchmarks niet altijd het juiste beeld laten zien. Ik ben het zeker met je eens dat de M1 op het moment de beste cpu is die je kan krijgen als je kijkt naar performance per Watt en ik denk dat er heel veel potentie in zit, maar ik wou wel even aankaarten dat ze niet altijd 1 op 1 te vergelijken zijn.

Bij de meeste single core benchmarks wordt alleen gekeken naar de performance van 1 core zonder SMT (of in Intels geval hyper-threading). Dit terwijl een core in de x86 architectuur eigenlijk optimaal presteert als SMT aanstaat. Normaal gesproken maakt het niet uit als je een x86 Intel chip vergelijkt met een andere x86 chip van Intel of AMD, omdat ze allemaal in dezelfde manier belemmerd worden. Maar als je een x86 chip gaat vergelijken met een chip die gebouwd is op een andere architectuur kan dit vertekende resultaten geven.

Hierbij een bron waar er wat dieper op ingegaan wordt: https://wccftech.com/why-...y-flawed-with-benchmarks/
Ik heb die post gelezen en het klinkt mij als ‘moving the goalposts’.
Oh, single core zijn we trager? Nee, nee, je moet SMT gebruiken!

Het hele idee van een ST test is dat je een taak hebt die niet MT te maken is.
Dat was de afgelopen jaren steeds de reden dat mensen een Intel wilden hebben voor games, omdat AMD daar minder sterk was, ondanks dat AMD multicore sneller was, vaak omdat voor minder geld meer cores geleverd werden.
Bij die testen was er ook geen ‘x86 vs ARM’ of ‘wel/niet SMT’ discussie, juist omdat zoals je aangeeft beide cores een x86 achtige met SMT zijn.
Blijkbaar mag je dan opeens wel ST vergelijken en voorkeur geven voor een Intel voor een ST game taak.
Zoals deze schrijver van Anandtech zegt op Twitter:
To add to this, saying that x86 vs arm ST benchmarks are wrong because you're not using the whole core is SMT2 is still a very bad argument.

If a workload is serially limited, you can't multi-thread it. *Most* of workloads are serially limited. You don't just add MT.
Daarnaast is deze ook belangrijk:
But, if a core design benefits from SMT, then perhaps the core hasn’t been designed optimally for a single thread of performance in the first place.
Ergens heb je zeker een punt, maar dat maakt het ook zo lastig om deze architecturen met elkaar te vergelijken. Wat wil je precies testen? Als je puur cores tegen elkaar wil zetten is het eerlijker om SMT aan te zetten waar je de volledige potentie van een x86 core kan testen tegen een ARM core. Aan de andere kant als je de performance van een losse thread wil testen heb je geen core vs core vergelijking meer, omdat de x86 core meer performance kan leveren, maar niet in die situatie. Daarom zeggen dit soort benchmarks ook niet zoveel, omdat het in de praktijk allemaal applicatie afhankelijk is.
Ergens heb je zeker een punt, maar dat maakt het ook zo lastig om deze architecturen met elkaar te vergelijken.
Waarom is dit lastig? Je hebt een bepaalde job die je wil uitvoeren, zeg een foto bewerken of code compileren. Dan maakt de ISA en de specifieke architectuur niet echt uit, uiteindelijk krijg je hetzelfd gedaan en kun je meten hoe lang dit heeft geduurd of hoeveel energie verbruikt is.
(Een CPU vs GPU maakt in deze natuurlijk meer verschil).

[q)Als je puur cores tegen elkaar wil zetten is het eerlijker om SMT aan te zetten waar je de volledige potentie van een x86 core kan testen tegen een ARM core. [/q]
Enkel als je een MT capabele taak wilt vergelijken. Die core kan blijkbaar ST gewoon niet zo snel.
En dat is toch de meting die je wil doen voor een ST meting.
Aan de andere kant als je de performance van een losse thread wil testen heb je geen core vs core vergelijking meer, omdat de x86 core meer performance kan leveren, maar niet in die situatie.
Ik blijf dat onzin vinden. Als deze taak MT capabel is, waarom zou een andere architectuur (zeg bijvoorbeeld de M1) dan niet multiple cores mogen inzetten?
We kunnen natuurlijk dan ook de meting doen dat beide processoren evenveel vermogen mogen verstoken en dan ofwel één ST core full power, desnoods met SMT, ofwel meerdere cores parallel.
(Je zal dan trouwens zien dat de M1 met het power budget van die ene SMT Intel of AMD core waanzinnig veel sneller zal zijn.
Daarom zeggen dit soort benchmarks ook niet zoveel, omdat het in de praktijk allemaal applicatie afhankelijk is.
Leuk statement, maar hoe meet je dan welke CPU sneller is?
Je wil daar een ‘benchmark’ voor. En die kan delen bevatten die (makkelijk) MT te doen zijn, maar ook delen die niet te verdelen zijn. Dit naast het feit dat MT capabel maken nog te weinig gedaan wordt door programmeurs (ook omdat het vaak niet triviaal is).
Ja, dit was toch het instap modelletje. Gaat niet om Apple of hun prijzen. Denk aan een ARM chip welke wel 100 of 200 watt mag gaan gebruiken in een desktop PC met Windows erop. Dat wordt een monster vergeleken bij een Intel of AMD x86 systeem.

RISC-V is wel mooi, ben benieuwd of dat wat gaat worden. Commerciële bedrijven hebben natuurlijk een strak schema qua ontwikkeling. Alle smartphones welke najaar 2021 zullen uitkomen zijn nu natuurlijk al af. Zou dat werken, die open source architectuur en de harde commerciële planningen.
De blog waar @pBook naar refereert doet me toch vermoeden dat je binnen 2 jaar volledig ongelijk zult hebben. Het blijkt een enorm staaltje engineering met volop mogelijkheden voor de toekomst. Echt de moeite waard om die beide artikelen van hem te lezen (de tweede linkt in het eerste artikel zelf).

Link: pBook in 'nieuws: Microsoft begint publieke test met x64-emulatie Arm-versie ...
Eigenlijk zou ik willen dat een x86 specialist een blogpost van hetzelfde niveau (niet te laag, niet te hoog) als antwoord zou schrijven.
Opnieuw, welk "zetje"? Apple is zowat het laatste OS dat ARM ondersteuning toevoegt. Apple volgt hier gewoon een trend. Dat zij ervoor kiezen om x86 te droppen wilt nog niet zeggen dat a) de hele wereld gaat volgen, dat gaat gewoon niet gebeuren en b) dat zij ook maar überhaupt iets invloed hebben gehad op wat hun concurrenten (zowel Microsoft als Google als Canonical als ...) hebben gedaan.

Dit is geen zetje geven, dit is Apple die de deur achter zich dicht trekt nadat iedereen al naar binnen is gegaan.
Telkens als Apple iets uitbrengt is het weer hetzelfde liedje. Ze volgen en leiden niet. Ze brengen inferieure hardware uit, traag en oud. Veel te dure rommel.

Hoge prijzen vond ik tot nu toe (lees: voor het uitbrengen van M1 aparatuur) een steeds beter argument worden. Buiten dat ze altijd al veel voor hardware vroegen zijn de prijzen m.i. de afgelopen best (te) flink gestegen. Maar dat is mijn mening.

Bekijk je echter de benchmarks en real world tests die nu all over youtube staan, dan zie je dat de goedkoopste MacBook Air niet alleen vrijwel de gehele huidige Apple line uit het water blaast, maar ook nog eens qua prijs goedkoper geworden is. Entry level laptop, bizarre performance voor zo'n beestje.

Apple is natuurlijk al jaren intern met ARM bezig om de Mac line om te bouwen naar ARM. Als ze het als één van de eersten op de markt gebracht hadden, dan waren er ook weer zat klachten geweest. 'te vroeg, niet af, te duur, wellicht te traag'.

Doen ze het nu en dan komen er alsnog klachten 'te laat, ze volgen en zijn niet innoverend', van dat soort.

Apple heeft naar mijn weten vrijwel niets op de markt gebracht wat er nog niet was. Wat ze echter wel (vaak) doen is later met hun versie op de markt komen en kijkend naar het verleden toch een aantal keer een flinke boost hebben kunnen geven. (in mijn ogen) meer af en ja, meer gesloten. Met dat laatste kan ik prima leven, maar andere techies vinden dat vreselijk. Maar wat Apple telkens doet is de juiste combinatie in mensen, hard- en software vinden, hun tijd nemen en het op de markt brengen. Dat is hun kracht. En ze houden m.i. voor het merendeel 'it just works' goed vast, enkele flinke blunders daargelaten.

De 1e iPhone bijv. vond ik niets. Ik liep trots met mijn 2 dagen eerder gekochte HTC smartphone rond, na jaren andere windows ME etc phones gehad te hebben. Collega van mij haalde de 1e iPhone uit Amerika. Ik heb hem met velen hartelijk uitgelachen.

Achteraf vind ik deels nog steeds dat ik hem terecht 'uitgelachen' heb. Het was dan ook versie 1. Maar het was wel het begin van iets wat er al was, naar Apple visie beter maken en dat heeft het een enorme boost geven. Sinds die tijd is het enorm snel gegaan en loopt vrijwel iedereen met een smartphone rond. Ongeacht het merk, het is (jaja, mede....) door de iPhone bizar hard gegaan.

Vele merken probeerden het voor de iPhone en dat kabbelde voort, maar werd geen hit. Sinds de iPhone zijn die en andere merken er of nog steeds en maken prachtige devices. Maar ergens is toch die ommekeer geweest en dat is m.b.t. de smartphone wel in de iPhone periode geweest.

Zat opmerkingen gelezen ala 'Apple doet helemaal niets, ze laten hun chips gewoon door een Samsung / TSMC maken!'. Dat Apple ARM-chips zelf designed vergeten die personen dan even snel, want dat komt goed uit. Maar het designen van chips etc is geen kattepis. En zoals nu blijkt met hun iPhone/iPad en nu Mac line doen ze toch iets goed: bizar snel maar toch veel langer op dezelfde acculading kunnen werken. Je kunt dan wel zeggen: 'niets bijzonders, het was er al en zij zijn volgers'. Dat doet alleen de prestatie niet teniet.

Mijn punt is: er zijn nu eenmaal bedrijven / mensen die een bepaald iets op de markt brengen wat er ja of nee al was en dat 'iets' enorm mainstream kunnen maken.

Je kunt er m.i. van vinden wat je wilt en het 'ja maar die en die waren eerder dus XXX (Apple nu) zijn sukkels' spelletje blijven spelen zolang als je wilt, maar ik kijk liever naar het eindresultaat, niet naar de lettertjes die er naartoe gaan. En (in dit geval) denk ik dat we inderdaad zullen zien dat het chip landschap door de M1 Apple Soc (en jaja, andere vindingen van andere merken) danig zal veranderen.

Intel is groot en veelgebruikt; het aandeel Apple devices is (veel) kleiner dan het totaal van bijv. windows machines. Maar wat er nu bij Apple gebeurt, kan wel degelijk op de lange termijn ook in die hoek flinke gevolgen gaan hebben. Sluit nooit iets uit. ('nu er corona is, kan men écht niet de supermarkten dicht gooien hoor! dat kan echt niet!' ---> ehh...misschien zou je eens moeten kijken of de winkels in de 2e wereldoorlog open waren? Wat nou, dat kan niet?

Ondanks dat ik denk een techie te zijn, komt het m.i. steeds vaker voor dat mensen systemen alleen op cijfertjes een waarde oordeel geven. 'Ja, maar die heeft 235.000 cores en deze 230.000, dus die is slechter!'. En nu weer 'ja, maar het was er al. Dus dat (in dit geval) Apple nu iets op de markt brengt en veelal lovende kritieken krijgt, doe ik allemaal teniet door te zeggen dat het er al was!'. Grappig detail dat Linus zoals altijd de boel flink afgekraakt heeft, totdat hij daadwerkelijk met M1 apparatuur ging werken. Hij heeft zijn woorden (deels) teruggenomen.

Het was er al, maar in een consumenten product (en mogelijk ook pro) never near as fast als wat er nu gebracht is. En ja, een computer met mindere cijfers (cpu, gpu, ssd etc) kán inderdaad nog steeds een veel snellere user ervaring geven.

Ik vind het echt jammer dat er altijd weer mensen die er kennelijk genot uit putten om de aloude 'ze zijn te laat en het is te weinig' opmerking plaatsen, puur omdat ze zich kennelijk niet ingelezen hebben (of daar bereid toe zijn) en er kennelijk (?) niet mee werken. En kennelijk (mogelijk) wat tegen merk X hebben.
"de Desktop OS" = Windows ?

Je kan meer op je desktop draaien dan alleen Windows. Vrijwel alles dat niet Windows is ondersteund ARM al tientallen jaren.

Of ze sneller en efficiënter zijn is enorm afhankelijk van de de chips in kwestie en de workload. x86 zal in de meeste gevallen sneller of gelijk zijn, gezien het instructies sets heeft die sommige workloads efficiënter kunnen uitvoeren. Je kan ARM wel extenden met nieuwe instructie sets voor deze workloads maar dan worden de chips dus weer minder efficiënt.
De performance was simpelweg om te huilen. Zeker als je ook nog x86-software moest emuleren.

Nu Apple met hun M1 in 1 klap een zeer goede "desktop" ARM SoC hebben neergezet, gaat eigenlijk de deur weer open. Zeker nu Apple grote ontwikkelaars gaat verplichten hun software voor ARM beschikbaar te maken. Hierdoor ontstaat er een momentum, waarbij we over een jaar ofzo heel vaal native ARM-software hebben.

Ik ben benieuwd wat Qualcomm gaat doet, want als je kijkt naar hun desktop ARM SoC's zouden ze zich diep moeten schamen.
De performance was simpelweg om te huilen. Zeker als je ook nog x86-software moest emuleren.
...en dat was waarschijnlijk ook het geval geweest als Apple dit had moeten doen. 64bit emulatie lijkt op Windows echter beter te werken op Apple's eigen M1 dan Rosetta.
Ik weet bijna zeker dat alles te maken heeft met de performance van de M1 en het gebrek aan performance van de SoC's waar Microsoft het mee moet (of moest) doen.

Die paar Snapdragon SoC's "speciaal" voor desktops/laptops zijn een iets opgevoerde telefoon SoC met prestaties die gewoon belabberd zijn vergeleken met die van Intel en AMD. Geen wonder dat Windows dan ook waardeloze prestaties heeft...
Je geeft Apple veel te veel credit, dit is niks nieuws. Microsoft is hier al langer mee bezig met hun Surfuce Pro lineup. En er zijn andere partijen, voornamelijk zij die Chromebooks verkopen die al jaren ARM machines beschikbaar stellen.

In de prosumer sector zijn ARM machines (workstations, servers) ook al niet meer heel bijzonder, er zijn verschillende partijen dit soort machines aanbieden.

Apple is de volgende stap in de volledige overstap op RISC voor consumenten hardware, en ze zijn er laat bij.

[Reactie gewijzigd door Omega op 11 december 2020 14:21]

Heb even lukkraak gezocht op "Chromebook kopen" en eerste 10 modellen genomen, slechts 2 ervan waren ARM, de anderen Intel Core M en Celeron modellen.

Ik heb nog nooit iemand met een ARM Chromebook of Arm Surface gezien (Heb zelf een Pro 7). Gisteren zag ik wel al de eerste M1 gebruikt worden. kan natuurlijk zijn door het milieu waar ik toevallig inzit, dus daar kan je geen conclusies over trekken. Maar ik heb toch een sterk vermoeden dat Apple in hun eerste kwartaal meer M1 computers gaat verkopen dan de hele ARM computer markt samen (kijk eens naar levertermijnen).
Dat is net de kracht van Apple, een product goed in de markt zetten wanneer de markt daar klaar voor is (al dan niet met een beetje druk door het ecosysteem dat ze hebben, bvb verplichte ARM overstap voor developers nu).

Je kan nu wel zeggen dat Apple niet veel credits verdient en ze te laat zijn, ik vind dat een onderwaardering van hun inspanningen en verwezenlijkingen de laatste 10 jaar. Zij gaan er op hun eentje voor zorgen dat de ARM adoptie veel en veel sneller gaat gaan, dat komt duidelijk niet van Google of Microsoft.
Volgens mij is x86 nog lang niet ten einde, maar heeft het wel ge-piekt. In laptop/desktop-land nu zeker, maar in server-land zal het nog wel even x86 blijven.

Maar ook daar maakt AMD gehakt van Intel met Epyc.

Op mobiel is Intel afgemaakt door Qualcomm.
Op de desktop had Intel al last van AMD en nu dan ook de hete adem van ARM-bakkers.
Op servergebied is AMD superieur.

Gelukkig hebben ze bij Intel een nieuw logo? Zal mooi staan voor hun toekomst als glorieuze maker van SSD's en Wifi-chipsets.

[Reactie gewijzigd door Keypunchie op 11 december 2020 13:59]

ARM zit nu ook op de piek en zal op den duur ook wel weer vervangen worden, gezien ARM ook alweer prehistorisch is technisch gezien (kijk maar hoe oud het al is!).
Beetje rare redenatie. Omdat iets oud is, wil niet zeggen dat het technisch prehistorisch is. Je kunt ARM chip van 20 jaar geleden ook niet vergelijken met nu.
Maar dan is x86 technisch ook niet oud, want een x86-chip van nu is ook niet hetzelfde als 20 jaar geleden...
Risc V is the new wave?
Wie zal het zeggen
Ja eens betreft server land, je gaat niet snel je oude vertrouwde software overzetten, maar AWS zet toch flink in met hun Graviton ARM servers welke 40% sneller zijn dan Intel. Ze zullen wel al veel diensten van AWS kunnen overzetten naar ARM bijv S3 of DynamoDB of hun Aurora RDS etc.
Ben benieuwd of het in verhouding net zo goed is als Rosetta 2 op de M1 Macbooks.
De Snapdragon zijn minder snel dan de M1, dus onafhankelijk van wat MS softwarematig doet zal het voorlopig langzamer zijn
Dat gaat het pas zijn als de gebruikte arm chips hiervoor optimalisaties krijgen. Net zoals de M1 van Apple.
Apple ondersteunt met de Armversie van macOS sinds de release vorige maand ook 64bits-programma's.
Sterker nog, volgens mij ondersteunt macOS alléén 64bits-programma’s en krijg je een foutmelding als je een 32bit programma probeert te openen.
Dat is al sinds de vorige release van macOS uit 2019.
Intel-programma's niet inderaad, maar M1 ondersteunt, voor zo ver ik begrijp, wél 32-bits ARM-programma's.
Wat vreemd, wat zou daar de reden voor zijn omdat te ondersteunen? Alle mobile apps voor iOS zijn al lang 64bit-only en voor de ARM versie van macOS moet je sowieso al opnieuw compileren dus kun je net zo goed ook meteen 64bit-only gaan.
Niet als je Windows ARM met emulatie zou kunnen draaien.
Het is sowieso al geen fantastisch jaar voor velen, maar ik denk dat voor Intel 2020 echt het slechtste jaar ooit moet zijn... Ze gaan echt serieus moeten terugkomen, niet enkel met x86/x64 maar dus ook met ARM (en mssn zelfs Risc V)
Bijzonder intersant wat Microsoft nu met het huidige ARM ontwerp in petto heeft. Een Surface op ARM en emulatie voor x86? Dat ze dit kunnen en ook nog eens bijzonder ‘sustainable’ duurzaam zijn bewijzen ze keer op keer.
Langzaam maar zeker is het einde van x86 dan toch in zicht gekomen.
Dit alles gaat mooi niet werken op een surface RT toch?
Ik heb ook nog steeds een Surface 2 met ARM processor.
Ik verwacht niet dat Microsoft nog een update naar Windows 10 on ARM voor deze tablet zal uitbrengen. Voorlopig lijkt ie het op Windows RT wel nog steeds prima te doen.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee