64-bitars CPU-arkitektur

x86 är traditionellt inriktad på topprestanda framför allt annat, vilket är en viktig skillnad mot Arm-processorer som strävar efter bättre energieffektivitet. I dagens värld har vi 64-bitars arkitekturer som är vanliga i smartphones och datorer. Denna förändring kom inte så snabbt, det var runt 2012 som även telefoner övergick till att använda den, men detta ändrade inte vårt sätt att använda enheterna, utan gjorde bara att de hanterade saker och ting bättre. Idag har båda arkitekturerna stöd för 64-bitars men det är mer relevant i smartphones.

Pc:s övergick till 64-bit långt före smartphones, men det var inte Intel som myntade den moderna x86-64-arkitekturen (även känd som x64). Den utmärkelsen tillhör AMD:s tillkännagivande från 1999, där Intels befintliga x86-arkitektur anpassades i efterhand.

ARM-arkitektur

ARM är RISC-baserad (Reduced Instruction Set Computing) medan Intel (x86) är CISC-baserad (Complex Instruction Set Computing). Arm’s CPU-instruktioner är relativt atomära, med en mycket nära korrelation mellan antalet instruktioner och mikrooperationer. CISC erbjuder i jämförelse många fler instruktioner, varav många utför flera operationer (t.ex. optimerad matematik och dataförflyttning). Detta leder till bättre prestanda, men mer energiförbrukning vid avkodning av dessa komplexa instruktioner.

Arm introducerade sin 64-bitarsarkitektur ARMv8 år 2011. I stället för att utöka sin 32-bitars instruktionsuppsättning erbjuder Arm en ren 64-bitarsimplementering. För att åstadkomma detta använder ARMv8-arkitekturen två exekveringstillstånd, AArch32 och AArch64. Som namnen antyder är en för att köra 32-bitarskod och en för 64-bitarskod. Det fina med ARM-designen är att processorn smidigt kan växla från det ena till det andra läget under normal körning. Detta innebär att avkodaren för 64-bitarsinstruktionerna är en ny konstruktion som inte behöver upprätthålla kompatibilitet med 32-bitarstiden, samtidigt som processorn som helhet förblir bakåtkompatibel.

ARM:s seger i det mobila ekosystemet

De arkitektoniska skillnaderna som diskuterats ovan förklarar delvis de nuvarande framgångarna och problemen som de två chipmastodonterna står inför. Arms strategi för låg effekt är perfekt lämpad för kraven på 3,5 W Thermal Design Power (TDP) för mobila enheter, men prestandan skalas upp för att matcha Intels chip för bärbara datorer också. Samtidigt vinner Intels typiska Core i7 med en TDP på 100 W stora framgångar i servrar och högpresterande stationära datorer, men har historiskt sett svårt att skala ner till under 5 W.

En unik egenskap hos Arm-arkitekturen har varit särskilt viktig för att hålla en låg TDP för mobila tillämpningar, nämligen heterogen databehandling. Tanken är enkel nog, bygg en arkitektur som gör det möjligt för olika CPU-delar (när det gäller prestanda och effekt) att arbeta tillsammans för ökad effektivitet. Heterogeneous Multiprocessing (HMP) är redan stor inom Android-området, se chip som Snapdragon 810, Exynos 7420 eller Helio X20, men Heterogeneous Compute (HC) är nästa utveckling.

Du förstår, processorer kan utformas för att utföra vissa uppgifter effektivare, men en enda konstruktion kämpar för att vara bra på allt. Din typiska CPU kan vara bra på seriell bearbetning, medan en GPU kan hantera strömmar av parallella data och en DSP är bättre optimerad för att bearbeta siffror med hög noggrannhet i realtid. Med ett större utbud av alternativ att välja mellan är teorin att om man väljer den bästa processorn för en specifik uppgift kommer man att få bättre prestanda och energieffektivitet.

Världens snabbaste dator i skrivande stund är ARM-baserad!

Fugaku är nu världens snabbaste superdator. Som en del av TOP500-projektet har Japans Fugaku-dator rankats som den snabbaste i världen och drivs av A64FX-processorn. Fugaku finns vid RIKEN Center for Computational Science i Wakō, Japan.

Mjukvarukompatibilitet

Användningar och mjukvara måste kompileras för den CPU-arkitektur som de körs på, historiskt sett har ekosystemen, t.ex. Android på Arm eller Windows på x86, inga problem med att köras på flera plattformar eller arkitekturer. Apples Arm-baserade Macs, Googles Chrome OS och Microsofts Windows on Arm är alla moderna exempel där programvaran måste köras på både Arm- och Intel-arkitekturer. Att kompilera inhemsk programvara för båda är ett alternativ för nya appar och utvecklare som är villiga att investera i omkompilering. För att fylla luckorna förlitar sig dessa plattformar också på kodemulering. Med andra ord översätts kod som kompilerats för en CPU-arkitektur så att den kan köras på en annan. Detta är mindre effektivt och försämrar prestandan jämfört med native appar, men bra emulering är för närvarande möjligt för att se till att appar fungerar.

Efter flera års utveckling är emuleringen av Windows on Arm i ett ganska bra skick för de flesta applikationer. Android-applikationer kan också köras hyfsat bra på Intel Chromebooks för det mesta. Vi får vänta och se om Arm Macbooks körs lika bra.

Jag hoppas att du gillade artikeln och fick den information du ville ha från den om så är fallet följ mig för fler inlägg som detta i framtiden. Jag gör mitt bästa för att ge värdefull information till alla som söker den.

Lämna ett svar

Din e-postadress kommer inte publiceras.