Allt från Computex 2023

[Processorer] 32bit->64bit. Varför inte 32bit->256bit?

Permalänk
Medlem

[Processorer] 32bit->64bit. Varför inte 32bit->256bit?

Jag har funderat på en sak ett tag nu...
Det vanligaste är ju att det sitter en processor med 32bitars arkitektur i de datorer som står och dammar i våra hem nu för tiden.
Det nya (nåja) är ju 64bits, men varför går man inte över till 256bits eller varför inte 512 på en gång?

Visa signatur

P5B E6600 2048MB 1900GT 2x300GB, MacBook Pro

Permalänk
Medlem

det är inte en linjär potensiell prestandaskala i att öka antalet bitar, den potensiella prestandan ökar i kvadrat!

Visa signatur

jag är lyckligare än du. Jag är bra på poker...

Permalänk
Medlem

Och processortillverkarna väljer att dubblera "antalet bitar" ett snäpp i taget för att krama ur så mycket pengar som möjligt ur konsumenterna...?

Visa signatur

P5B E6600 2048MB 1900GT 2x300GB, MacBook Pro

Permalänk
Medlem

Anledningen till att man inte går över till 128-bitarsprocessorer (eller ännu högre) är helt enkelt att det inte finns någon anledning till det. Tal bestående av fler bitar än 64 är ovanliga och därmed finns det heller ingen anledning att utföra beräkningar på sådana stora tal. Även användandet av 64-bitars beräkningseneheter medför en relativt liten prestandaökning.

EDIT: Med andra ord kommer vi alltså inte få se några 128-bitars processorer inom en överskådlig framtid.

Permalänk
Medlem

en viktig bidragande faktor är troligtvis också priset. intel kan verkligen behöva 128bitar nu då AMD faktiskt är bättre på dom allra flesta applikationerna. problemet är bara att ingen tillverkare har lyckats producera en arkitektur som är såpass billig att någon är villig att betala för den.

Permalänk

Nej, intel behöver inte 128 bitars processorer, det skulle vara väldigt få fall där det går utnyttja det (en 128 bitar processor skulle klara tal upp till 3,4028236692093846346337460743177*10^38 ) Bara för att en processor kan klara stora tal gör det inte den automatiskt snabbare.
64 bitar klarar tal upp till 18446744073709551616, och det lär räcka ett bra tag...

Visa signatur

Core i7 @ 3.8GHz | Asus P6T Deluxe v2 | Corsair 3x2GB PC12800 | Radeon 5870 | Corsair 550W | 2x74 GB Raptor Raid 0 | Intel 160 GB SSD

Permalänk
Medlem

Det är 128-bitars i xbox 360. Varför då?

Visa signatur

P5B E6600 2048MB 1900GT 2x300GB, MacBook Pro

Permalänk
Medlem

Har inte Playstation 2 också 128-bitars CPU?

Visa signatur

E8500, 4GB Corsair, 2x500 Samsung RAID0, 4GB I-Ram, EP43-DS3, 7900GTO, Win7.
AmigaOne G3XE, 1GB, Raptor 150GB, 4GB I-Ram, Radeon 9250 256MB, OS4.1

Permalänk

codename[black]: Var har du sett det?

Crusher: Jo jag har hört det också, men jag tror det bara var delar av den som var 128bitars. (kan ha fel)
Men det är ju ett rätt bra exempel på att 128bitars processorer (om den nu är det) inte automatiskt snabbare än t.ex. en 32 bitars. Nya processorer har ju bra mycket snabbare processorer än PS2.

Visa signatur

Core i7 @ 3.8GHz | Asus P6T Deluxe v2 | Corsair 3x2GB PC12800 | Radeon 5870 | Corsair 550W | 2x74 GB Raptor Raid 0 | Intel 160 GB SSD

Permalänk
Medlem

Nej, både Xbox 360 och Playstation 2 har 64-bitars processorer. Vad de däremot klarar av är att packa flera tal i vektorer, för att sedan utföra beräkningar på dessa vektorer. Detta kallas SIMD (Single Instruction Multiple Data) och finns implementerat i vanliga x86-processorer också. De flesta känner nog redan till MMX,SSE,SSE2 och SSE3. SSE2 tillhandahåller, liksom PS2:ans EmotionEngine och 360:ns PowerPC, möjligheten att packa data i 128-bitars vektorer.

Faktum kvarstår dock att ingen av dessa processorer kan ta ett ensamt 128-bitar stort tal och utföra beräkningar på det "i ett svep". Anledningen är, som jag skrev tidigare, att det inte finns någon egentlig praktisk nytta för det.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av codename[black]
Det är 128-bitars i xbox 360. Varför då?

Nej, det är en 64bitars med 128bits AltiVec (multimedia/vektorenhet). Precis som 32/64bits Intel/AMD har 128bits SSE, vektorenheterna som är 128bits, inte processorns hel eller flyttalsenhet!

Citat:

Ursprungligen inskrivet av Crusher
Har inte Playstation 2 också 128-bitars CPU?

Nej, dom har en 128bitars vektorenhet (jämför med SSE) i en CPU med dubbla 64bits heltalsenheter. Så helt ren 128bitare är det absolut inte.

Hur som helst är största anledningen till bredare processorer att man kan adressera mer minne, idag kan 48bits adresseras (256TB minne) i AMDs 64bits processor, 32bit = 4096MB minne, man behöver inte utnyttja 64bit fullt ut alltså... CPUn har i övrigt 128bits SSE-enhet och 128bits-bred buss till minnet och såklart 64bits register för hel och flyttal.
En annan fördel med större register är att man inte behöver bryta upp riktigt stora tal i flera delar och kan därför beräkna dom med färra operationer.

Permalänk
Medlem

Tack ska ni ha, det börjar klarna.

Citat:

LasseKongo
codename[black]: Var har du sett det?

http://sweclockers.pricerunner.com/games/game-consoles/392841...

Visa signatur

P5B E6600 2048MB 1900GT 2x300GB, MacBook Pro

Permalänk
Medlem

Snarare än antalet bitar processorn kan hantera så borde de satsa på fler register. Intel har setat på 8st GPR från 8086 till Pentium 4, de senaste kan ha 16.

Athlon64 har 16 stycken, men jag förstår inte varför de inte slog på 64st direkt, eller åtminstone 32. Då hade 64-bits läget faktiskt spelat roll med märkbar prestandaökning.

Vad gör en GPR då? Jo, den håller i ett heltalsvärde, en adress eller annan viktig datastump. Har man åtta stycken kan man manipulera t.ex. åtta heltal innan man får skriva till minnet, den slöa L1-cachen t.ex. (en förlust på en hel cykel!). Ju fler dess bättre, färre cacheanrop och färre RAM-anrop, färre bortkastade cykler.

Hur GPRerna spelar in på prestandan är en annan fråga. Av min erfarenhet så spottar en PPC601 ut lika många komputroner per klockcykel som en Pentium-1. Mig veterligen är PPC601 designmässigt lika häftig som en 486, men den har fyra gånger så många GPRer. Senare bänktester visade att PPC601 gjorde 50% fler flyttalsoperationer per klockcykel jämfört med en Pentium MMX, trots en bättre kompilator för den senare.

Se även http://en.wikipedia.org/wiki/General_purpose_register

Visa signatur

Dator: C=64 med bandare och diskdrive.

Permalänk
Medlem

@LasseKongo, Mikael, Petterk.. tackar, nu vet jag mer.

Visa signatur

E8500, 4GB Corsair, 2x500 Samsung RAID0, 4GB I-Ram, EP43-DS3, 7900GTO, Win7.
AmigaOne G3XE, 1GB, Raptor 150GB, 4GB I-Ram, Radeon 9250 256MB, OS4.1