MTE forklarer: Forskjellene mellom ARM og Intel
Med den stadig moderne rykten om ARM MacBooks får fornyet energi, er det på tide å få en forståelse av de tekniske forskjellene mellom ARM-prosessorer og de mer vanlige x86-prosessorene som er laget av Intel og AMD.
Hva betyr x86 uansett?
Intel-prosessorer som finnes på stasjonære og bærbare datamaskiner, kalles noen ganger "x86" -prosessorer. Dette kan være litt forvirrende hvis du noen gang har lagt merke til de to programfilmappene dine på Windows.
Windows 7, 8 og 10 refererer til deres 32-biters programmer med begrepet "x86" og deres 64-biters programmer (i noen sammenhenger) som "x64". Det er ikke helt nøyaktig. 64-bits kapasitetsprosessorer bør refereres til som x86-64, men det er mye clunkier.
"X86" -navnet kommer fra de originale 16-bits Intel-prosessorene som brukte x86-instruksjonssettet, 8086. Fremtidige generasjoner som delte samme instruksjonssett, delte også samme suffiks, som 80386. Dette ble holdt på til Pentium-chips, som brøt navngivningskonvensjonen, men vi bruker fortsatt "x86" for å referere til disse typer sjetonger.
Instruksjonssett
Alle prosessorer er basert på det som kalles et "instruksjonssett". Dette er et sett med rudimentære operasjoner som en chip kan utføre og instruksjoner for hvordan de skal utføres. Det forteller sporet hvordan man gjør grunnleggende matte og flytte data rundt. Programmeringsspråket for disse instruksjonene kalles monteringsspråk.
Kjerneforskjellen mellom ARM og x86-chips er deres instruksjonssett. x86-chips er CISC, som står for "komplekse instruksjonsoppsett-databehandling." CISC-chips forsøker å representere en gitt oppgave i de minste samlingslinjer som mulig, og abstraherer grunnleggende funksjoner. Disse mer komplekse operasjonene må også løpe i løpet av flere klokkeslett. ARM-sjetonger er RISC, som står for "redusert instruksjonssetting." RISC-sjetonger inkluderer ekstremt rudimentære instruksjonssett, som bryter hver prosess ned i svært små, enkle trinn. Hver av disse mindre trinnene kan utføres i en enkelt klokke syklus.
CISC vs RISC
Hvis en CISC-brikke må multiplisere to tall, kan den kjøre en enkelt kommando: MULT 2, 3
. Denne kommandoen vil dekke lastingstallene fra minnet, multiplisere dem sammen, og lagre resultatet på riktig minnested. En RISC-chip som utfører samme operasjon vil kreve mange flere trinn. Først en LOAD
instruksjon for å flytte tallene fra registrarene til utføringsenheten. Deretter, en PROD
instruksjon for å multiplisere tallene. Endelig, en stor instruksjon for å plassere resultatet i riktig register.
Mens CISC-brikken kan virke mer effektiv fordi dens kommandoer virker enklere, må du huske noen viktige forskjeller:
- Først utfører CISC-chips kommandoer over flere klokkeslett, mens hver instruksjon i en RISC-chip utføres over en enkelt klokke syklus. På grunn av dette kan vår hypotetiske
MULT
kommando kjøre i samme antall sykluser som settet med RISC-instruksjoner som utfører samme oppgave. - For det andre må alle CISCs instruksjoner og logikk lagres i transistorer. RISC-chips kan bruke mindre transistorer fordi de trenger å lagre færre instruksjoner.
- For det tredje gir det lavere antallet transistorer som kreves av RISC lavere strømforbruk.
Det er noen fordeler med CISC. For det første trenger ikke datamaskinen å gjøre mye arbeid for å konvertere fra et menneskelig nivå programmeringsspråk som C til prosessor nivå samling språk. Faktisk er MULT
kommandoen nevnt ovenfor svært lik C kommandoen foo = foo * bar
. RISC-chips spør kompilatoren om å gjøre mye mer arbeid for å få kode ned i monteringsspråk. CISC-sjetonger kan også fungere direkte på hovedminne mens RISC-sjetonger kun kan operere på CPU-registre.
Strømforbruk
Den andre kjerneforskjellen mellom arkitekturene er strømforbruk. Takket være deres reduserte instruksjonssett krever RISC-sjetonger mindre transistorer å fungere. Dette betyr at færre transistorer må være drevet, noe som fører til strømsparing og varmesparing. Dette har ført til at ARM-chips driver nesten alle mobile enheter.
Intel og AMDs x86-chips er bedre for stasjonære maskiner der strømforbruket ikke er så mye av et problem. De er også inkludert i bærbare datamaskiner som selvsagt er batteridrevne. Makt er imidlertid ikke så mye av en premie som i smarttelefoner, noe som gir mer kraftige chips.
Konklusjon
Det høyeste nivåforskjellen mellom sjetongene er basert på kraft og fart. ARM-sjetonger er gode for lavmaktige miljøer, men er vanligvis langsommere, mens x86-chips fungerer raskt, men er ikke like strømbevisste. Den grunnleggende generaliseringen endrer imidlertid, da Intel forsøker å produsere lavdrevne versjoner av sine x86-chips, og ARM-chips, som Apples A10 Fusion, begynner å overta laptop chips.