ARM vs x86, varför är en mer energieffektiv än den andra?

ARM vs x86

Med tillkännagivandet denna vecka av den första Apple Macintosh baserat på processorer med ISA ARM, efter att ha meddelat övergången av Apple för några månader sedan, har ämnet ARM vs x86 dykt upp och frågan om varför det inte finns några processorer med ISA x86 på enheter med låg effekt har den återkommit. Men vad är motiv och myter kring denna fråga?

Om du någonsin har undrat varför du inte kan se smartphones, surfplattor och alla typer av enheter som använder x86-processorer med en förbrukning under 10 W och till och med 5 W. Låt oss berätta att det inte beror på brist på intresse för Intel or AMD, men det finns ett antal anledningar till detta, en serie oöverstigliga hinder som har att göra med arten av x86-arkitekturen.

ARM vs x86 eller CISC vs RISC

RISC vs CISC

ARM står för Advanced RISC Machines, medan alla x86-baserade CPU sägs ha en CISC-liknande instruktionsuppsättning. Men vad betyder detta? RISC står för Reduced Instruction Set Computing eller Computing with a Reduced Instruction Set, medan CISC står för Complex Instruction Set Computing, därför är det ett sätt att klassificera de instruktioner som används av olika processorer.

Huvudskillnaden är att eftersom RISC har en minskad uppsättning instruktioner, blir det slutligen nödvändigt att använda flera enklare instruktioner för att utföra en mer komplex, medan i fallet med en CISC-enhet kan många komplexa instruktioner utföras i en enda instruktion , så CISC-enheter sparar utrymme när det gäller mängden minne.

Procesador gör Genérico

Till exempel skulle maskinkoden för en summa i RISC vara följande:

  1. Lagrar den första operanden i ackumulatorregistret
  2. Ladda den andra operanden och gör tillägget.
  3. Lagrar resultatet i ackumulatorregistret.

Istället på en CISC-processor:

  1. Lägg till första och andra operand.

När det gäller maskinkod, a RISC binär har fler instruktioner och därför tar upp mycket mer minne , medan i CISC-binären är koden mycket lättare.

Instruktionscykeln för processorer

Hämta avkoda körning

Varje processor, oavsett om det är CISC eller RISC, måste gå igenom fyra olika steg som är:

Hämta: Följande instruktion hämtas i minnet.

Avkoda: Instruktionen avkodas och förbereds för utförande.

Kör: Instruktionen utförs av en av CPU-enheterna. och resultatet av instruktionen skrivs till motsvarande minnesbank eller register.

In RISC-processorer en instruktion som utförs av CPU: n motsvarar en instruktion i binär kod, medan i CISC kan en instruktion i maskinkod vara uppdelad i flera mikroinstruktioner, vilket innebär att Avkoda enhet av CISC-processorer är mycket mer komplex och är en annan av de viktigaste faktorerna för x86 att ha en högre konsumtion.

Segmentering på x86 vs ARM

segmentering

En av de särdrag som alla processorer har sedan början av 90-talet är segmentering, som består i att istället för att vänta på att en instruktion ska utföras i sin helhet i processorn för att ge plats för nästa, avanceras dessa av varje steg i instruktionen. cykel, som kan delas in i flera delsteg var och en av dem.

Eftersom RISC-processorer har en direkt korrelation mellan antalet instruktioner i den binära koden och de som körs av CPU, är det mycket enkelt att segmentera instruktionerna i flera steg. Men i en x86 är det extremt svårt , eftersom segmenteringen sker på mikroinstruktionerna som genereras under Decode-steget, vilket betyder ännu mer ytterligare kretsar kör och förbrukar kraft kontinuerligt.

Inte bara det, men medan till exempel opkoderna för varje instruktion i ARM är av fast storlek i fallet med x86 är de variabla, vilket gör avkodningen av instruktioner i mikroinstruktioner mycket mer komplex när det gäller x86-processorer.

Färre poster motsvarar mindre energieffektivitet

Uppgifter

ISA x86 har mycket färre register inuti det än andra ISAS, betyder det att många instruktioner måste utföras på minnet eller cacherna, vilket gör att du slutar konsumera mycket mer energi vid körning. Detta är ett klassiskt problem med x86-arkitekturen och inte för att det är en CISC-arkitektur.

För att förstå det är det nödvändigt att ta hänsyn till det energiförbrukningen av varje operation beror på avståndet mellan data och processorn .

x86 vs ARM på enheter med mycket låg effekt.

Intel smartphone

Intel provade det för några år sedan med den misslyckade Intel Medfield-processorn.

Dessutom är skapandet av en av de möjligheter som har övervägs blandad CPU , som består av en x86 som internt avkodar sina instruktioner till ARM-instruktioner och tillåter full kompatibilitet mellan de två ISAS, vilket skulle vara den slutgiltiga processorn.

Men tyvärr är varken ARM eller Intel och AMD, särskilt den senare, intresserade av att göra denna blandade processor sedan för att göra den arbete i båda lägena skulle det vara mycket svårt att uppnå, förutom att avkodningen av x86-instruktioner skulle fortsätta att vara ett problem, så vi skulle ha en processor som bara kunde fungera på ett sätt och där det mesta av kretsen skulle gå till spillo.