Permalänk
Medlem

X86 vs. ARM

Som rubriken lyder: vilken arkitektur är bäst?

Har googlat runt men får inget konkret svar på vilken arkitektur som egentligen har bäst potential.

Har industrin satsat fel som riktat in sig på x86 cpu:er från början? Är anledningen att ARM är på så stark uppgång att intel håller så hårt i sina patent? Och kan en arm med samma energiförbrukning och storlek som en x86 i praktiken lika gärna ha samma prestanda eller till och med bättre?

Visa signatur

I5 750@3.8|8GB XMS3@1600MHz|Gigabyte GA-P55A-UD6|GTX460 1GB@900MHz/1,087V|Intel 320series 80GB|

Permalänk
Medlem

Så komplicerat i dag så svårt å svar på vilket som är bäst. För var det ju rätt logiskt att börja om med nytt instruktionsätt för det sparade transistorer. RISC processorer kune ha ca 1/3 av transistorantalet gämfört med likvärdiga SISC när det kom till prestanda. På den tiden där en CPU bestod av några regiser, en alu kanske en FPU dock sällan sedan en decoder så klart och lite sånt men inte mycket mer. I dag utgör dom delarna i en CPU 1% av transistorantalet. Resterande 80% är cache och övrigt är prefetch, branch prediction logic osv osv.
Tyvär behöver dom flesta högrepstanda processorer av traditonel scalar eller super scalar arkitektur risk eller sisc eller mellanting fett med caceh pga DRAM's höga accesstider och för att få prestanda i klass med intels och AMD's X86 måste dom vara kapabla av flera instruktioner varje cykel så flera pipelines är ett krav därmed ökar logiken som jag näde som också utgör en stor del av transistorantalet i dag villket inte var fallet för i tiden. Out of order execution är ju inget krav men nästan nödvändigt med.

Så transistorantalet man numera sparar på att byta instruktionstätt är nog minimalt. Det mesta en modärn x8 CPU gör i dag för att köra gamla instruktioner sköts av samma delar som nya instuktionera använder. Inte så att man inkluderar extra hårdvara specifikt för bakåtkomptabilitet utan decodern sköter det och kan bryta ner instruktionerna i micro ops och se till att dom exekveras på samma vis som nya instruktioner. Så transistorantalet det kräver för att bibehålla dessa 1000 unstuktioner eller nåt x86 har i dagsläget är nog på sin helhet inte mö större än att designa säg en i7 motsvarighet run AMR instuktionsättet.

x85 överlever pga bakåtkomptabiliteten. Designar man en superdatore eller nåt så kan det vara vettigt att börja om men knappt där gör man det lägre. Billigare att köpa 100 tusen x86 processorer till bra pris bara.

I framtiden med manycores alltså processorer med hundratals kärnor där man valt att gå tillbaks till enklare scalar enklare super scalar processorer som inte är så kraftiga kanske bara en instruktion för scalar och 2 för superscalar arkitekturer där man minskat på cache osv för att istället optimera mjukvaran att vara så flertrådad som möjligt. lite som sun kör med niagara fast än mer extremt. Så istället för att förlita sig på några snabba kärnor har man många små kanske 512st och var kanske dom kan exekvera 2 trådar och upp till 2 instruktioner per kärna, en per tråd. På så vis kan man banta bort mycket logick som krävs för att köra instuktioner parallellt och dessutom kan man ta bor cache om processorn kan arbeta med en tråd som den råkar ha data i cachat för just då och då kanske det är vettigt med ett mer slimmat instruktionsätt för att banta transistorantalet per kärna än mer.

Min personliga syn på det i alla fall. Intel kommer dock göra allt för att hålla kvar x86 på marknaden som ledande så tror inte det dör ut på länge än.

Permalänk
Medlem

CPU:er baserade på ARM är väldigt energi-snåla, de är utvecklade för att köras i tillämpningar som inte kräver samma saker som en CPU för PC-datorer och liknande vilket gör det lite svårt att jämföra i prestanda. Minnesbandbredd, flyttals-beräkningar och annat är inte så viktigt i en mobil-telefon men avgörande för mycket i en PC.

Här är en bra artikel som jämför ARM med några vanliga strömsnåla X86-CPU:er.

© 2009 Bright Side Of News*, All rights reserved. The Coming War: ARM versus x86

Visa signatur

kill -s SIGCHLD `pidof Kenny`
bash: Oh my god, they killed Kenny
init: You Bastards