Iedereen gaat tegenwoordig ARM-Amazon en Apple leveren allebei interne CPU's met waanzinnige prestatieverbeteringen, en Microsoft zou volgens geruchten hun eigen CPU's ontwikkelen. ARM is van oudsher gebruikt voor mobiele chips met een laag vermogen, dus waarom verplettert ARM x86 precies op de desktop- en serverruimte?
Iedereen gaat tegenwoordig ARM
De processorwereld is een complexe industrie en slechts een paar ontwerpen van een paar bedrijven kunnen concurreren op het gebied van prestaties. Meestal hebben Intel of AMD de kroon op het gebied van prestaties, waarbij ze allebei x86-CPU's produceren. Maar recentelijk hebben CPU's van Apple en Amazon op basis van ARM Intel (en de x86-architectuur) een kans gegeven voor hun geld.
Amazon heeft hun Graviton2-CPU, die niet sneller is dan de server-tegenhangers van Intel, maar kosteneffectiever is en minder stroom verbruikt. Met hoeveel verbetering het was ten opzichte van Graviton1, zal hun volgende iteratie waarschijnlijk felle concurrentie op de serverruimte zijn.
Apple sloeg het uit het park met hun eerste niet-mobiele CPU, de Apple Silicon M1-processor, die sneller werkt dan desktop Intel CPU's en bijna net zo snel als AMD's Ryzen 5000-serie, de huidige prestatiekroon. Het is op maat gemaakt silicium waardoor Apple Macbooks de huidige snelste laptops ter wereld zijn, tot grote ergernis van pc-enthousiastelingen (inclusief ikzelf).

In feite zijn ze zo ver vooruit in de laptopruimte dat Windows op de M1 Macbook sneller werkt dan de Surface Pro X, ondanks dat Windows op ARM alleen via een emulator draait. En alsof dat nog niet vernederend genoeg was, verplettert het het absoluut met een Geekbench Single-Core-score van 1.390 vergeleken met de Surface's 802, wat in vergelijking belachelijk slecht is. De M1 is serieus snel.
Microsoft zou ook hun eigen interne ARM-processor ontwikkelen, en hoewel dat gerucht afkomstig is uit de Azure-serverruimte, zouden ze waarschijnlijk dezelfde chip voor de Surface gebruiken als ze de prestaties van Apple kunnen evenaren.
Wat is het verschil tussen ARM en x86?
Uiteindelijk is er niet al te veel verschil tussen ARM en x86. Je kunt nog steeds Google Chrome gebruiken en YouTube op beide bekijken. In feite doet u dit nu misschien, aangezien bijna alle Androids en elke iPhone een op ARM gebaseerde processor gebruiken.
Het grootste verschil voor de meeste mensen is dat oudere applicaties die bedoeld zijn voor x86 opnieuw gecompileerd moeten worden om ook op ARM te kunnen draaien. Voor sommige dingen is dit eenvoudig, maar niet alles wordt ondersteund, zeker niet legacy software. Maar zelfs dat kan meestal via x86-emulatie, die Windows begint te ondersteunen.
Voor ontwikkelaars zijn er veel verschillen in hoe applicaties worden gecompileerd, maar tegenwoordig ondersteunen de meeste compilers goed de belangrijkste instructiesets, en je hoeft niet echt veel wijzigingen aan te brengen om het compileert voor meerdere platforms.
Maar hoe werkt ARM sneller?
Om deze vraag te beantwoorden, moeten we dieper ingaan op hoe CPU's onder de motorkap werken.
ARM en x86 zijn beide instructiesets, ook bekend als architecturen, die in feite een lijst zijn van microcode-"programma's" die de CPU ondersteunt. Dit is de reden waarom u zich geen zorgen hoeft te maken over het uitvoeren van een Windows-app op een specifieke AMD- of Intel-CPU; het zijn beide x86-CPU's en hoewel de exacte ontwerpen verschillend zijn (en anders presteren), ondersteunen ze allebei dezelfde instructies. Dit betekent dat elk programma dat voor x86 is gecompileerd, in het algemeen beide CPU's zal ondersteunen.
CPU's voeren bewerkingen in principe opeenvolgend uit, zoals een machine die een lijst met taken krijgt die moet worden uitgevoerd. Elke instructie staat bekend als een opcode en architecturen zoals x86 hebben veel opcodes, vooral gezien het feit dat ze al tientallen jaren bestaan. Vanwege deze complexiteit staat x86 bekend als een "Complex Instruction Set" of CISC.
CISC-architecturen nemen over het algemeen de ontwerpbenadering van het inpakken van veel dingen in een enkele instructie. Een instructie voor vermenigvuldiging kan bijvoorbeeld gegevens van een geheugenbank naar een register verplaatsen, vervolgens de stappen voor de vermenigvuldiging uitvoeren en de resultaten in het geheugen door elkaar schudden. Alles in één instructie.
Onder de motorkap wordt deze instructie echter uitgepakt in vele "micro-ops", die de CPU uitvoert. Het voordeel van CISC is geheugengebruik, en aangezien het vroeger duur was, was CISC vroeger beter.

Dat is echter niet meer het knelpunt, en dit is waar RISC in het spel komt. RISC, of Reduced Instruction Set, maakt in feite een einde aan complexe meerdelige instructies. Elke instructie kan meestal in een enkele klokcyclus worden uitgevoerd, hoewel veel lange bewerkingen moeten wachten op resultaten van andere delen van de CPU of het geheugen.
Hoewel dit achteruit lijkt te gaan, heeft het enorme implicaties voor het CPU-ontwerp. CPU's moeten al hun instructies uit het RAM-geheugen laden en ze zo snel mogelijk uitvoeren. Het blijkt dat het veel gemakkelijker is om dat te doen als je veel eenvoudige instructies hebt in plaats van veel complexe. De CPU werkt sneller wanneer de instructiebuffer kan worden gevuld, en dat is een stuk gemakkelijker om te doen als de instructies kleiner en gemakkelijker te verwerken zijn.
RISC heeft ook het voordeel van iets dat Out-of-Order-uitvoering of OoOE wordt genoemd. In wezen heeft de CPU een eenheid erin die de instructies die erin komen opnieuw ordent en optimaliseert. Als een toepassing bijvoorbeeld twee dingen moet berekenen, maar ze zijn niet van elkaar afhankelijk, kan de CPU beide parallel uitvoeren. Gewoonlijk is parallelle code erg ingewikkeld voor ontwikkelaars om te schrijven, maar op de laagste niveaus van de CPU kan het gebruik maken van multitasking om dingen te versnellen. De Apple M1-chip gebruikt OoOE met groot effect.
Als je geïnteresseerd bent in de innerlijke werking, moet je dit fantastische artikel van Erik Engheim lezen over wat de Apple M1-chip zo snel maakt. Kortom, het maakt intensief gebruik van gespecialiseerd silicium, Out-of-order uitvoering en heeft veel meer instructiedecoders om zijn snelheid te ondersteunen.
Gaat ARM x86 vervangen?

Het eerlijke antwoord is: waarschijnlijk. Intel voelt al jaren het einde van de wet van Moore en hoewel AMD de afgelopen jaren prestatiesprongen heeft kunnen maken, zijn ze niet ver vooruit.
Dit wil niet zeggen dat x86 binnenkort zal uitsterven, maar het is duidelijk dat ARM meer potentieel heeft dan alleen een mobiele architectuur te zijn - een stigma dat niet langer geldig is gezien de huidige richting van de industrie. De voordelen van RISC-architecturen zijn duidelijk, en met de mate waarin de Apple M1-chip al is verbeterd, ziet de toekomst van de industrie er veelbelovend uit.
Plus, ARM is niet de enige RISC-architectuur die er is. Het is nog steeds eigendom, hoewel ARM zijn ontwerpen in licentie geeft aan externe ontwerpers, zoals Qualcomm, Samsung en Apple. RISC-V is open source en is eveneens veelbelovend. Het is een gestandaardiseerde instructieset-architectuur, waarbij de exacte implementaties aan de fabrikant worden overgelaten. Als de industrie in het algemeen richting RISC gaat, zullen er open en gesloten source-implementaties beschikbaar zijn.