De verschillen tussen ARM en Intel x86-64

De verschillen tussen ARM en Intel x86-64
Verschil tussen Intel Arm Featured

Nu ARM-chips alomtegenwoordig zijn in high-performance laptops en edge-servers, is het legitiem om je af te vragen of deze nieuwe apparaten je volgende aankoop waard zijn. Het is tijd om inzicht te krijgen in de technische verschillen tussen ARM-processors en de meer gespierde x86-64-voorgangers die voorheen ongehinderd de chipmarkt domineerden.

Wat betekent x86-64 eigenlijk?

Intel-processors die in desktop- en laptopcomputers worden aangetroffen, worden soms “x86”-processors genoemd. De 64-bits architectuur die alle moderne computers tegenwoordig gebruiken, is nu gebaseerd op het x86-model, dat nu “x86-64” wordt genoemd.

Dit klinkt allemaal wat verwarrend, maar het verklaart wel waarom er twee verschillende Program Files- mappen zijn in Windows.

X86arm-programmabestanden

Om het simpel te houden, alle 32-bits applicaties gaan in de x86-map en de 64-bits applicaties in de andere map. Dit is een conventie sinds Microsoft in 2001 zijn 64-bits versie van Windows XP uitbracht.

Om het wat eenvoudiger te maken, zullen we naar “x86-64” verwijzen als “x86”, omdat er genoeg overeenkomsten zijn tussen 32-bits en 64-bits chips om ze te groeperen.

Het label “x86” komt van de grootvader van de moderne verwerking, een microprocessor die door Intel werd gecreëerd en de 8086 heette. Deze 16-bits chip werkte onder een instructieset die nog steeds grotendeels door moderne processoren wordt gebruikt om geavanceerde computertaken uit te voeren.

Van uw teksteditor tot geavanceerde videosoftware, alles kan nog steeds werken onder een architectuur die in 1978 is ontstaan!

Sinds de release van de 8086 microprocessor, bleef Intel de naamgevingsconventie gebruiken voor toekomstige modellen zoals de 80286 en 80386 totdat het brak met de traditie door de Pentium-serie uit te brengen. Niettemin brengen we nog steeds hulde aan die oude chips door alle daaropvolgende processors die zijn instructieset gebruiken te categoriseren als “x86”.

Zelfs de modernere 64-bits processoren die AMD in de jaren 2000 voor het eerst uitbracht in de Opteron-serie, krijgen dezelfde aanduiding, aangezien de overgrote meerderheid van de 64-bits processoren in desktopsystemen en servers nog steeds op de nu bescheiden 8086 is gebaseerd.

Instructiesets

Alle functionaliteit van een processor is gebaseerd op wat een instructieset wordt genoemd. Dit is een hardwired set van rudimentaire bewerkingen die een chip kan uitvoeren. Elke instructie vertelt de chip om dingen te doen zoals basiswiskunde en data te verplaatsen. Onderaan elk stukje code in elk programma dat u op uw machine uitvoert, bevindt zich een laag die met de processor communiceert. Deze laag gebruikt ook zijn eigen code, bekend als assemblertaal, die een stap verder naar beneden vertaalt naar de basisinstructies die vaak machinecode of machinetaal worden genoemd.

De IHS van een Intel i386
Bron afbeelding: Wikimedia Commons

Hier komen we bij het belangrijkste verschil tussen ARM- en x86-chips.

x86-chips gebruiken complexe instructieset computing (CISC) , terwijl ARM-chips gereduceerde instructieset computing (RISC) gebruiken . Terwijl CISC-chips proberen meer “werk” in één instructie te stoppen en tegelijkertijd klokcycli opofferen om deze taak te volbrengen, hebben RISC-chips (zoals de naam al aangeeft) een veel kleinere instructieset die alles opsplitst in eenvoudigere stappen die in één enkele klokcyclus kunnen worden uitgevoerd.

CISC versus RISICO

Als een CISC-chip twee getallen moet vermenigvuldigen, kan deze één enkele opdracht uitvoeren: MULT 2, 3. Deze enkele opdracht omvat het laden van getallen uit het geheugen, vermenigvuldigen ervan en het opslaan van het resultaat in de juiste geheugenlocatie. Een RISC-chip die dezelfde bewerking uitvoert, zou veel meer stappen vereisen. Eerst een LOADinstructie om de getallen van de registrars naar de uitvoeringseenheid te verplaatsen. Vervolgens een PRODinstructie om de getallen te vermenigvuldigen. Tot slot een STORinstructie om het resultaat in het juiste register te plaatsen.

Apple M1 SoC gemonteerd op een MacBook
Bron afbeelding: Wikimedia Commons

Hoewel de CISC-chip efficiënter lijkt omdat de opdrachten er eenvoudiger uitzien, moet u rekening houden met een paar belangrijke verschillen:

  • Ten eerste voeren CISC-chips opdrachten uit over meerdere klokcycli, terwijl elke instructie in een RISC-chip wordt uitgevoerd over één klokcyclus. Hierdoor MULTzou onze hypothetische opdracht in hetzelfde aantal cycli kunnen worden uitgevoerd als de set RISC-instructies die dezelfde taak uitvoeren.
  • Ten tweede moeten alle instructies en logica van CISC worden opgeslagen in transistors. RISC-chips kunnen minder transistors gebruiken omdat ze minder instructies hoeven op te slaan.
  • Ten derde zorgt het lagere aantal transistoren dat RISC nodig heeft voor een lager stroomverbruik.

CISC heeft een aantal voordelen. Ten eerste hoeft de computer niet veel werk te doen om te converteren van een programmeertaal op menselijk niveau zoals C naar een assemblertaal op processorniveau. In feite MULTlijkt de hierboven genoemde opdracht erg op de C-opdracht foo = foo * bar.

RISC-chips vragen de compiler om veel meer werk te doen om code in assemblertaal te krijgen. CISC-chips kunnen hun bewerkingen ook direct op het systeemgeheugen uitvoeren, terwijl RISC-chips gegevens uit het geheugen naar de processorregisters moeten halen voordat ze ermee kunnen werken.

In een head-to-head prestatiewedstrijd tussen de twee, is er wat consumenten betreft geen duidelijke winnaar. RISC heeft echter nog een troef in handen om echt een voorsprong te krijgen op CISC.

Energieverbruik

Tussen CISC en RISC is er absoluut geen concurrentie als het gaat om stroomverbruik. RISC neemt hier categorisch de kroon. Een gereduceerde instructieset zorgt voor een gereduceerde wafer footprint, waardoor de chip kleiner wordt en dus minder stroom verbruikt.

Interne componenten van een traditionele ATX-desktopvoeding
Bron afbeelding: Wikimedia Commons

Kleinere chips met minder microscopische componenten hebben ook minder elektrische weerstand en vereisen minder wattage om te werken. De beste case study hiervoor is de bewezen technologie van de smartphone, een “computer-lite” apparaat dat een immense hoeveelheid prestaties levert voor zijn relatief kleine formaat, maar in veel gevallen meer dan 24 uur meegaat op een relatief kleine batterij.

Dat gezegd hebbende, betekent dit niet dat alle computers ARM-chips gaan gebruiken om het stroomverbruik te verminderen. In de desktopmarkt, waar het systeem doorgaans afhankelijk is van een directe verbinding met een stopcontact in plaats van een batterij, is energie-efficiëntie niet zo’n enorme prioriteit. CISC-chips presteren nog steeds geweldig in deze situaties en er zijn geen tekenen dat dit binnenkort zal veranderen.

Moet ik een ARM- of x86-systeem kopen?

Het komt echter neer op één simpele vraag: probeert u elke beetje prestatie per wattuur aan vermogen van uw batterij eruit te persen? Of bent u meer geneigd om zoveel mogelijk ruwe prestaties door uw apparaat te persen ten koste van de batterijduur?

Voor de meeste use cases waarvoor iemand een systeem zou kopen, is de beslissing zo simpel. Zorg er uiteindelijk voor dat je niet vergeet je oplaadkabel mee te nemen!

Beeldmateriaal: Ingenieur in steriel pak houdt Microchip vast van DepositPhotos

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *