PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : warum sind cpu chips immer noch bei 32bit/64bit?


Neon3D
2005-01-21, 00:15:15
die grakarten chips sind bei 256 bit bandbreite während die cpus gerade auf 64 gehen.

könnte man nicht einfaxh die 256bit architektur für cpus weitgehend übernehmen und man hätte (mit dem richtigen betriebssystem) viel mehr power.

BlackBirdSR
2005-01-21, 00:24:24
die grakarten chips sind bei 256 bit bandbreite während die cpus gerade auf 64 gehen.

könnte man nicht einfaxh die 256bit architektur für cpus weitgehend übernehmen und man hätte (mit dem richtigen betriebssystem) viel mehr power.

Die Bandbreite zum Speicher bei 3dKarten und die interne Verarbeitungsbreite bei CPUs ist was völlig verschiedenes.
Zudem arbeiten Grafikchips ganz anders.
Sie übertragen vielleicht 256Bit pro Takt zum kern, aber dort wird auch nur max mit 32Bit Genauigkeit gearbeitet.

Bei CPUs bezeichnen die 32/64 Bit hauptsächlich die breite der Register und die Größe des adressierbaren Speichers.
64Bit sind genug um Berechnungen sehr präzise auszuführen. Bereits 32Bit CPUs rechnen Gleitkommaoperationen intern mit 80Bit.
128Bit CPUs oder gar noch mehr, würde sich aber nicht lohnen.
Zum Einen braucht es kaum so breite Register, gibt es keine allzu nützlichen Datenformate und zuletzt: Wer will bitte jedes Atom im Universum adressieren? Da kommen wir bei 128Bit schon in die Nähe :P

FeuerHodenamMorgen
2005-01-21, 07:04:52
Um das noch einmal zu verdeutlichen. Die 128/256 Bit bei Grafikkarten beziehen sich auf die Anzahl der Verbindungen von der GPU zum Speicher. Je nach Geschwindigkeit der GPU und des Speichers machen 256 Bit Sinn oder auch nicht.

Intern rechnen die GPUs mit 24/32 bit was vollkommen ausreichend ist (obwohl sich manche SPieledesigner auch da mehr Bit wünschen).

Savay
2005-01-21, 15:42:50
naja PS werden in max. 24 oder 32bit berechnet!

Frambuffer intern afaik bis 48bit oder gar 52bit geauigkeit gespeichert und Farbräume teilweise mit bis zu 96/128bit berechnet!

CPUs und GPUs arbeiten da recht verschieden...und einfach beliebige berechnungs genauigkeiten gegenüber zu stellen bringt da recht wenig!

aber das sollte die cracks hier mal erklären! bin da auch noch nicht in gänze durch gestiegen :biggrin:

bei CPUs bezieht sich 64 bit ja hauptsächlich auf die Registerbreite und die so in einem pass auslesbare genauigkeit und den addressbereich!
auch 32bit CPUs können ja mit 64 bit genauigkeit rechnen...brauchen dafür aber doppelt soviele register bzw per se "doppelt" so lange

Savay
2005-01-21, 15:50:24
BTW
GPUs sind doch afaik schon bei 512bit interner busbreite? der ur-GeForce hat ja bereits 256bit (GF256 halt :rolleyes:)

aber das ganze hat wie gesagt nicht direkt mit dem 256bit speicherinterface zu tun...das ja bei CPUs auch schon bei 128bit busbreite liegt :) (streng genommen gar 256)

EDIT:

klar 512bit muss ja...wir sind ja bei 256bit DDR! das macht dann effektiv 512bit pro takt die übertragen werden können!
und intern "arbeitet" der chip dann eben mit den 512 bit hat also indirekt doch was mit dem speicherinterface zu tun :) oder lieg ich da jetzt total daneben :|

PHuV
2005-01-23, 15:12:16
Wenn Du programmieren würdest, würdest Du es verstehen, warum es heute noch kaum sinn macht >32/64 Bit zu programmieren. 64 Bit wird beispielsweise auch nur benötigt, weil dadurch an sich fürs Programmieren größere Zahlen und ein größerer Adressraum benötigt wir.

Bevor wieder so ein Neumalkluger kommt und behauptet, die Zahlendarstellung wäre groß genug bzw. im Fließkommabbereich wäre es ausreichend, der sollte bitte mal mit großen Datenbereichen >4 GByte arbeiten und addressieren, und diese Datengröße ist bei normalen Datenbanken heute keine Seltenheit mehr!

Fakt ist, daß bei 64 Bit viel Code allein zum Füllen der Register draufgeht, weil viele Anweisungen mit 8-32 abgedeckt sind. Hast Du beispielsweise ein 8 Bit-Befehl, so muß unter Umständen per Auffüllen (in Computersprache Alignment) das Register aufgefüllt werden, sprich, 24 Bit liegen brach. Je größer die Registerinhalte sein können, um so größer das Alignment, um so mehr die Verschwendung. Dadurch kann es sogar kommen, daß Programme in 64 Bit langsamer laufen. Auf weiteres verweise ich mal auf c't, die haben das mal in einer Ausgabe genauer durchleuchet.

Bei optimierten CPUs, GPUs oder DSPs sieht die Sachlage wieder deutlich anders aus. Durch die gleichmäßige und ständig wiederkehrende Verarbeitung von hohen Werten und hohen Datenstömen sind spezielle DSPs und GPUs mit langen Registern >64 bit durchaus sinnig und wichtig. Aber diese Prozessoren sind zu speziell und nur für gewisse Aufgaben optimiert, damit sich diese hohen Bandbreiten oder Registergrößen auch lohnen.

Für die Alltagsarbeiten wäre eine CPU >64 viel zu teuer und aufwendig im Vergleich zum Kosten/Nutzen (jaja, eine CPU hat heute auch größere Register als 64 Bit, aber diese lassen sich nur für Teilaufgaben einsetzten, siehe Altivec oder SSE).

66k56scheissforumoi6
2005-01-23, 17:27:56
zu teuer / aufwendig (z.B. Leiterbahnführung)

übrigens heisst es "Sinn haben" und nicht "Sinn machen" *klugscheiss*

Wilhelm
2005-01-23, 19:15:34
Hallo

Wenn ich mich nicht ganz stark Irre, werft ihr gerade 2 Dinge durcheinander.
Die 64-Bit bei CPUs bezieht sich auf die möglichen register.
Wie wdragon geschrieben hat, gibt es schon lange Teile in den CPUs, die mit einer höheren Bit Zahl arbeiten. Als Beispiel sei MMX genannt, das mit 128 Bit arbeitet. Die Angabe bei Grafikkarten bezieht sich auf die Bus-Breite zum Speicher. Mehr nicht. Es gibt keine 64 Bit GPU (afaik). Es gibt nur wie bei den CPUs Einheiten, die genauer rechnen. Die Bandbreite wird afaik über mehere parallele Einheiten a 32-bit realisiert.

BlackBirdSR
2005-01-23, 19:20:24
Hallo

Wenn ich mich nicht ganz stark Irre, werft ihr gerade 2 Dinge durcheinander.
Die 64-Bit bei CPUs bezieht sich auf die möglichen register.


Da kommt noch ein bißchen mehr dazu.
Z.B. die Fähigkeit 64Bit ALU Operationen durchzuführen. 64Bit breite Register, und einen theoretisch max. Adressraum von 64Bit.


Wie wdragon geschrieben hat, gibt es schon lange Teile in den CPUs, die mit einer höheren Bit Zahl arbeiten. Als Beispiel sei MMX genannt, das mit 128 Bit arbeitet.

Stimmt schon, z.B die FPU.
Aber MMX selbst arbeitet mit 64Bit breiten Registern, kann aber nur 2x32Bit Daten berechnen. 128Bit breite Register bietet erst SSE, aber ebenfalls nur max 2x32Bit.
Die Rechengenauigkeit ist also nicht unbedingt höher als bei normalen 32Bit Operationen.
SSE2 schafft hier Abhilfe und erlaubt 2x64Bit Daten in einem 128Bit Register.

Wilhelm
2005-01-23, 19:31:46
Ok, mein Fehler.
Aber wie gesagt, es gibt keine Grafikkarte, die 64-Bit berechnung zu bieten hat.
Schlagt mich falls ich mich irre. :|