Met het altijd aanwezige gerucht van ARM MacBooks dat hernieuwde energie opdoet, is het tijd om een ​​goed begrip te krijgen van de technische verschillen tussen ARM-processors en de gangbaardere x86-processors van Intel en AMD.

Wat betekent x86 eigenlijk?

Intel-processors die worden aangetroffen op desktop- en laptopcomputers worden soms "x86" -processors genoemd. Dit kan een beetje verwarrend zijn als je je twee programmabestandenmappen in Windows hebt opgemerkt.

Windows 7, 8 en 10 verwijzen naar hun 32-bits programma's met de term 'x86' en hun 64-bits programma's (in sommige contexten) als 'x64'. Dat is niet helemaal juist. 64-bits-compatibele processors moeten worden aangeduid als x86-64, maar het is een stuk onhandiger.

De "x86" naam komt van de originele 16-bits Intel-processors die de x86-instructieset, de 8086, gebruikten. Toekomstige generaties die dezelfde instructieset gebruikten, deelden ook hetzelfde achtervoegsel, zoals de 80386. Dit bleef zo ​​tot de Pentium-chips, die brak de naamgeving, maar we gebruiken nog steeds "x86" om naar dit soort chips te verwijzen.

Instructie Sets

Alle processors zijn gebaseerd op wat een 'instructieset' wordt genoemd. Dit is een set rudimentaire bewerkingen die een chip kan uitvoeren en instructies voor het uitvoeren ervan. Het vertelt de chip hoe basis wiskunde te doen en gegevens te verplaatsen. De programmeertaal voor deze instructies wordt assembleertaal genoemd.

Het kernverschil tussen ARM en x86-chips is hun instructieset. x86-chips zijn CISC, wat staat voor "complexe instructiesetcomputing." CISC-chips proberen een gegeven taak in zo min mogelijk assemblagelijnen weer te geven, waarbij basisfuncties worden weggenomen. Deze meer complexe bewerkingen moeten ook in de loop van meerdere klokcycli worden uitgevoerd. ARM-chips zijn RISC, wat staat voor "reduced instruction set computing." RISC-chips bevatten uiterst rudimentaire instructiesets, waarbij elk proces wordt onderverdeeld in uiterst kleine, eenvoudige stappen. Elk van deze kleinere stappen kan in een enkele klokcyclus worden uitgevoerd.

CISC versus RISC

Als een CISC-chip twee getallen moet vermenigvuldigen, kan deze één opdracht uitvoeren: MULT 2, 3 . Deze enkele opdracht dekt ladingsnummers uit het geheugen, vermenigvuldigt ze samen en slaat het resultaat op de juiste geheugenlocatie op. Een RISC-chip die dezelfde bewerking uitvoert, zou veel meer stappen vereisen. Eerst een LOAD instructie om de nummers van de registrars naar de uitvoeringseenheid te verplaatsen. Vervolgens een PROD instructie om de cijfers te vermenigvuldigen. Eindelijk, een STOR instructie om het resultaat in het juiste register te plaatsen.

Hoewel de CISC-chip misschien efficiënter lijkt omdat de opdrachten eenvoudiger lijken, houdt u een paar belangrijke verschillen in gedachten:

  • Ten eerste voeren CISC-chips commando's uit over meerdere klokcycli, terwijl elke instructie in een RISC-chip wordt uitgevoerd gedurende een enkele klokcyclus. Daarom kan onze hypothetische opdracht MULT in dezelfde hoeveelheid cycli worden uitgevoerd als de set RISC-instructies die dezelfde taak uitvoeren.
  • Ten tweede moeten alle instructies en logica van CISC in transistors worden opgeslagen. RISC-chips kunnen minder transistors gebruiken omdat ze minder instructies moeten opslaan.
  • Ten derde zorgt het lagere aantal transistors dat vereist is voor RISC voor een lager energieverbruik.

Er zijn enkele voordelen voor CISC. Ten eerste hoeft de computer niet veel werk te doen om van een programmeertaal op menselijk niveau zoals C naar bewerkingsniveau op verwerkingsniveau te converteren. In feite lijkt de hierboven genoemde MULT opdracht sterk op de opdracht foo = foo * bar C. RISC-chips vragen de compiler om nog veel meer werk te doen om code in assembler te krijgen. CISC-chips kunnen ook rechtstreeks op het hoofdgeheugen werken, terwijl RISC-chips alleen op CPU-registers kunnen werken.

Energieverbruik

Het andere fundamentele verschil tussen de architecturen is het energieverbruik. Dankzij hun gereduceerde instructiesets hebben RISC-chips minder transistoren nodig om te functioneren. Dit betekent dat er minder transistors nodig zijn om stroom te krijgen, wat leidt tot energiebesparing en hittevermindering. Dit heeft ertoe geleid dat ARM-chips bijna alle mobiele apparaten ondersteunen.

Intel en AMD's x86-chips zijn beter voor desktopcomputers waar stroomverbruik niet zo belangrijk is. Ze zijn ook opgenomen in laptops die duidelijk op batterijen werken. Macht is echter niet zo duur als bij smartphones, waardoor krachtigere chips mogelijk zijn.

Conclusie

Het hoogste onderscheid tussen de chips is gebaseerd op kracht en snelheid. ARM-chips zijn ideaal voor omgevingen met weinig stroom, maar zijn meestal langzamer, terwijl x86-chips snel werken, maar minder krachtig zijn. Die basisalgoritmen veranderen echter, terwijl Intel pogingen doet om low-powered versies van zijn x86-chips te produceren, en ARM-chips, zoals de A10 Fusion van Apple, beginnen laptopchips in te halen.