PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : R(V)3x0: 24Bit FP und 12Bit INT


Quasar
2003-06-30, 11:31:47
Mal eine sehr spekulative, aber auch sehr technologische Frage, auf die ich nur mit Spekulationen wildester Art eingehen kann:

Beim nV3x ist es ja so, dass sie den 12Bit-INT Pfad, den 16Bit-FP und den 32Bit-FP beherrschen. Wobei ich als erstes mal davon ausgehen und weitgehend als gesichert annehme, dass INT und FP in großteils separaten Umgebungen ablaufen, sprich, die alten Funktionseinheiten werden nicht emuliert, sondern sind in Teilen zusätzlich vorhanden (dafür sprechen u.A. die derzeitigen Beschränkungen des OpenGL-Treibers auf 4 Single-Pass Texturen).

Bei ATi wird es ja i.A. so dargestellt, daß ALLES, auch die 12Bit-INT Operationen über die 24Bit-Pipelines laufen (konkrete Angaben dazu gibt es m.W. nicht..).

Nun meine, als nicht-programmierer und nicht-Chipdesigner gestellt:

Könnte der R(V)x0 in irgendeiner Weise davon profitieren, dass das nativ unterstützte 24Bit Floating-Point Format zufällig doppelt so breit ist, wie das alte 12Bit-INT, analog zur angeblichen Leistungsverdoppelung des nV3x beim Wechsel von 32BitFP auf 16BitFP?

Exxtreme
2003-06-30, 11:35:37
Du meinst wohl 2x 12 Bit auf einem Schlag durch die Register jagen?

Theoretisch wäre es möglich. Ich weiss aber nicht wieviel Aufwand es wäre, diese beiden Werte wieder zu trennen.

Demirug
2003-06-30, 11:57:56
Original geschrieben von Quasar
Mal eine sehr spekulative, aber auch sehr technologische Frage, auf die ich nur mit Spekulationen wildester Art eingehen kann:

Beim nV3x ist es ja so, dass sie den 12Bit-INT Pfad, den 16Bit-FP und den 32Bit-FP beherrschen. Wobei ich als erstes mal davon ausgehen und weitgehend als gesichert annehme, dass INT und FP in großteils separaten Umgebungen ablaufen, sprich, die alten Funktionseinheiten werden nicht emuliert, sondern sind in Teilen zusätzlich vorhanden (dafür sprechen u.A. die derzeitigen Beschränkungen des OpenGL-Treibers auf 4 Single-Pass Texturen).

Da bin ich mir ehrlich gesagt nicht so sicher in wie weit bei den einzelnen Derivaten wirklich noch Int einheiten enthalten sind. Wirklich getrennt sind die Einheiten aber nicht die liegen schön hintereinader in einer Pipeline.

Das mit den 4 Texturen unter OpenGL dürfte einen anderen Grund haben.
Bei mehr als 4 Texturen muss die Pipeline anders angesteuert werden und bei den Chips bei denen nicht alle Pipelines CineFX fähig sind verliert man Füllrate.

Bei ATi wird es ja i.A. so dargestellt, daß ALLES, auch die 12Bit-INT Operationen über die 24Bit-Pipelines laufen (konkrete Angaben dazu gibt es m.W. nicht..).

So steht es in den Entwicklerdokumenten geschrieben.

Nun meine, als nicht-programmierer und nicht-Chipdesigner gestellt:

Könnte der R(V)x0 in irgendeiner Weise davon profitieren, dass das nativ unterstützte 24Bit Floating-Point Format zufällig doppelt so breit ist, wie das alte 12Bit-INT, analog zur angeblichen Leistungsverdoppelung des nV3x beim Wechsel von 32BitFP auf 16BitFP?

Nicht wirklich. Mit den Datenleitungen ist es ja nicht getan. Die Registerfiles müsste so ausgelegt sein das man die doppelte Anzhal von Register pro Takt lesen und schreiben kann. Die ALUs und Registerfiles des R300 sind rein auf FP berechungen ausgelegt. Wollte man nun also mit Integer rechnen müsste man erst mal fleisig konvertieren und zusätzliche (oder modifizierte) ALUs bräuchte man auch.