Zoeken op website

Wat zijn ARM-CPU's en gaan ze x86 (Intel) vervangen?


Iedereen gaat tegenwoordig voor ARM - Amazon en Apple leveren allebei interne CPU's met waanzinnige prestatieverbeteringen, en het gerucht gaat dat Microsoft hun eigen CPU's aan het ontwikkelen is. 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 topprestaties. Gewoonlijk hebben Intel of AMD de kroon op het gebied van prestaties, waarbij ze allebei x86-CPU's produceren. Maar onlangs hebben CPU's van Apple en Amazon op basis van ARM Intel (en de x86-architectuur) een run voor hun geld gegeven.

Amazon heeft hun Graviton2 CPU, die niet sneller is dan Intel's server-tegenhangers, maar kosteneffectiever is en minder stroom verbruikt. Met hoeveel verbetering het was ten opzichte van Graviton1, zal hun volgende iteratie waarschijnlijk hevige concurrentie in 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 speciaal silicium waardoor Apple Macbooks de huidige snelste laptops ter wereld zijn, tot grote ergernis van pc-enthousiastelingen (waaronder ikzelf).

Ze lopen zelfs zo ver vooruit op het gebied van laptops 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 zo was' Het is niet vernederend genoeg, het verplettert het absoluut met een Geekbench Single-Core-score van 1.390 vergeleken met de Surface's 802, wat in vergelijking lachwekkend slecht is. De M1 is serieus snel.

Het gerucht gaat ook dat Microsoft zijn eigen interne ARM-processor aan het ontwikkelen is, en hoewel dat gerucht afkomstig is van de Azure-serverruimte, zouden ze waarschijnlijk dezelfde chip gebruiken voor de Surface als ze de prestaties van Apple kunnen evenaren.

Wat is het verschil tussen ARM en x86?

Aan het eind van de dag is er niet al te veel verschil tussen ARM en x86. Je kunt nog steeds Google Chrome uitvoeren en YouTube op beide bekijken. In feite doet u dat nu misschien, aangezien bijna alle Androids en elke iPhone een ARM-gebaseerde processor gebruiken.

Het grootste verschil voor de meeste mensen is dat oudere applicaties bedoeld voor x86 opnieuw moeten worden gecompileerd om ook op ARM te kunnen draaien. Voor sommige dingen is dit eenvoudig, maar niet alles wordt ondersteund, zeker niet voor legacy software. Maar zelfs dat kan meestal worden uitgevoerd via x86-emulatie, die Windows begint te ondersteunen.

Voor ontwikkelaars zijn er veel verschillen in de manier waarop applicaties worden gecompileerd, maar tegenwoordig ondersteunen de meeste compilers de belangrijkste instructiesets goed en hoef je niet echt veel wijzigingen aan te brengen om het voor meerdere platforms te laten compileren .

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 wel architecturen genoemd, die in feite een lijst zijn met microcode-'programma's' die de CPU ondersteunt. Daarom hoeft u zich geen zorgen 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 is gecompileerd voor x86 in het algemeen beide CPU's ondersteunt.

CPU's voeren in feite bewerkingen opeenvolgend uit, zoals een machine die een lijst met te doen taken krijgt. 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 hanteren over het algemeen de ontwerpbenadering van het verpakken van veel dingen in één 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 het geheugengebruik, en aangezien het vroeger duur was, was CISC vroeger beter.

Dat is echter niet meer het knelpunt, en hier komt RISC om de hoek kijken. RISC, of Reduced Instruction Set, maakt in feite komaf met 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 ontwerp van de CPU. 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 als de instructiebuffer gevuld kan worden, en dat gaat een stuk makkelijker als de instructies kleiner en makkelijker 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 instructies die erin komen herschikt en optimaliseert. Als een applicatie bijvoorbeeld twee dingen moet berekenen, maar ze niet van elkaar afhankelijk zijn, 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 maakt met groot succes gebruik van OoOE.

Als je geïnteresseerd bent in de interne werking, moet je dit fantastische artikel van Erik Engheim lezen over wat de Apple M1-chip zo snel maakt. Kortom, het maakt veel gebruik van gespecialiseerd silicium, uitvoering buiten gebruik 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 hoeveel de Apple M1-chip al is verbeterd, ziet de toekomst van de industrie er veelbelovend uit.

Bovendien is ARM 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 instructiesetarchitectuur, waarbij de exacte implementaties aan de fabrikant worden overgelaten. Als de industrie in het algemeen richting RISC evolueert, zullen er open en closed source-implementaties beschikbaar zijn.

Gerelateerde artikelen: