MTE förklarar: Skillnaderna mellan ARM och Intel
Med det ständigt aktuella rykten om ARM MacBooks får förnyad energi är det dags att förstå de tekniska skillnaderna mellan ARM-processorer och de vanligaste x86-processorerna som gjorts av Intel och AMD.
Vad betyder x86 i alla fall?
Intel-processorer som finns i skrivbord och bärbara datorer kallas ibland "x86" -processorer. Det här kan vara lite förvirrande om du någonsin har lagt märke till dina två programfiler på Windows.
Windows 7, 8 och 10 refererar till sina 32-bitars program med termen "x86" och deras 64-bitarsprogram (i vissa sammanhang) som "x64". Det är inte strikt korrekt. 64-bitars kapabla processorer ska kallas x86-64, men det är mycket clunkier.
"X86" -namnet kommer från de ursprungliga 16-bitars Intel-processorerna som använde x86-instruktionssatsen, 8086. Framtida generationer som delade samma instruktionsuppsättning delade också samma suffix, som 80386. Detta fortsatte tills Pentium-chipset, vilket bröt namngivningskonventionen, men vi använder fortfarande "x86" för att referera till dessa typer av chips.
Instruktionsuppsättningar
Alla processorer är baserade på vad som kallas en "instruktionsuppsättning." Detta är en uppsättning rudimentära operationer som ett chip kan utföra och instruktioner för hur man utför dem. Det berättar chipet hur man gör grundläggande matematik och flytta data runt. Programmeringsspråket för dessa instruktioner kallas monteringsspråk.
Kärnskillnaden mellan ARM och x86-chips är deras instruktionsuppsättning. x86-chips är CISC, som står för "komplicerad instruktionssättberäkning". CISC-chips försöker representera en given uppgift i de minsta möjliga samlingslinjerna och eliminerar grundläggande funktioner. Dessa mer komplexa operationer måste också köras under flera klockcykler. ARM-chips är RISC, vilket står för "reducerad instruktionsuppsättning". RISC-chips inkluderar extremt rudimentära instruktionssatser, bryter varje process ner i extremt små, enkla steg. Vart och ett av dessa mindre steg kan utföras i en enda klockcykel.
CISC vs RISC
Om ett CISC-chip måste multiplicera två siffror kan det köra ett enda kommando: MULT 2, 3
. Detta enskilda kommando kommer att täcka laddningsnummer från minnet, multiplicera dem tillsammans och lagra resultatet i rätt minnesplats. Ett RISC-chip som utför samma operation skulle kräva många fler steg. Först en LOAD
instruktion för att flytta numren från registrarna till exekveringsenheten. Sedan, en PROD
instruktion för att multiplicera siffrorna. Slutligen en stor instruktion för att placera resultatet i rätt register.
Medan CISC-chipet kan tyckas effektivare eftersom dess kommandon verkar enklare, kom ihåg några viktiga skillnader:
- Först utför CISC-chips kommandon över flera klockcykler, medan varje instruktion i ett RISC-chip exekveras över en enda klockcykel. På grund av detta kan vårt hypotetiska
MULT
kommando springa i samma antal cykler som uppsättningen RISC-instruktioner som utför samma uppgift. - För det andra måste alla CISC: s instruktioner och logik lagras i transistorer. RISC-chips kan använda mindre transistorer eftersom de behöver lagra färre instruktioner.
- För det tredje möjliggör det lägre antalet transistorer som krävs av RISC lägre effektförbrukning.
Det finns några fördelar med CISC. För det första behöver datorn inte göra mycket arbete för att konvertera från ett humant nivå programmeringsspråk som C till processornivå monteringsspråk. Faktum är att MULT
kommandot som nämns ovan liknar C kommandot foo = foo * bar
. RISC-chips frågar kompilatorn att göra mycket mer arbete för att få kod ner i monteringsspråk. CISC-chips kan också användas direkt på huvudminne medan RISC-chips endast kan användas på CPU-register.
Energiförbrukning
Den andra kärnskillnaden mellan arkitekturerna är energianvändning. Tack vare sina minskade instruktionssatser kräver RISC-chips mindre transistorer att fungera. Det betyder att färre transistorer måste drivas, vilket leder till energibesparingar och värmereduktion. Detta har lett till att ARM-chips driver nästan alla mobila enheter.
Intel och AMDs x86-chips är bättre för stationära maskiner där strömförbrukningen inte är så mycket av ett problem. De ingår också i bärbara datorer som uppenbarligen är batteridriven. Makt är dock inte lika mycket av ett premium som i smartphones, vilket möjliggör mer kraftfulla chips.
Slutsats
Den mest höga skillnaden mellan chipsen är baserad på kraft och hastighet. ARM-chips är bra för lågmotoriska miljöer, men är vanligtvis långsammare, medan x86-chips fungerar snabbt men inte lika kraftmedvetna. Den grundläggande generaliseringen ändras dock, eftersom Intel försöker producera lågdrivna versioner av sina x86-chips, och ARM-chips, som Apples A10 Fusion, börjar ta över laptop chips.