PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Füllraten ausrechnen


ColdColt
2006-01-15, 12:30:16
Hallo!

Wie berechnet man die Füllraten?
Also Pixelfüllrate, Texturfüllrate und Samplefüllrate.

Mich interessieren nur die theoretischen Füllraten.

Vielen Dank im voraus schon.

Mfg,
Cold

ShadowXX
2006-01-15, 13:29:08
Hallo!

Wie berechnet man die Füllraten?
Also Pixelfüllrate, Texturfüllrate und Samplefüllrate.

Mich interessieren nur die theoretischen Füllraten.

Vielen Dank im voraus schon.

Mfg,
Cold

Texelfüllrate ist Takt * Anzahl TMUs (z.B. 650 * 16 = 10400MTexel/s)

Pixelfüllrate ist Takt * Anzahl ROPs.

Bei Samplefüllrate weiss ich momentan nicht genau was du meinst....

ColdColt
2006-01-15, 13:34:12
Demirug hatte das mal erwähnt, ich weiß auch nicht was es ist. :-)

http://www.forum-3dcenter.org/vbulletin/showpost.php?p=2734199&postcount=2

123456
2006-01-15, 20:45:59
Texelfüllrate ist Takt * Anzahl TMUs (z.B. 650 * 16 = 10400MTexel/s)

Pixelfüllrate ist Takt * Anzahl ROPs.

Bei Samplefüllrate weiss ich momentan nicht genau was du meinst....

Dazu sollte man noch erwähnen, dass mit "Takt" der Chiptakt gemeint ist, damit keine Verwechslung auftritt.

Die Texelfüllrate berechnet sich im Übrigen aus Chiptakt * Pixel-Pipelines und nicht TMUs. Die Radeon X1600 XT beispielsweise besitzt je Pipeline 4 TMUs, also insgesamt 16 TMUs. Nach deiner Berechnung müsste sie eine theoretische Texelfüllrate von 590 MHz * 16 TMUs = 9.440 MTexel/s haben, wodurch die Rohleistung höher als bei einer X1800 XL wäre.

Gast
2006-01-15, 21:05:18
Die Texelfüllrate berechnet sich im Übrigen aus Chiptakt * Pixel-Pipelines und nicht TMUs. Die Radeon X1600 XT beispielsweise besitzt je Pipeline 4 TMUs, also insgesamt 16 TMUs. Nach deiner Berechnung müsste sie eine theoretische Texelfüllrate von 590 MHz * 16 TMUs = 9.440 MTexel/s haben, wodurch die Rohleistung höher als bei einer X1800 XL wäre.Du redest Schwachsinn. Die Texelfüllrate berechnet sich aus Takt * TMUs. Die x1600xt besitzt insgesamt 4 TMUs, wie kommst du auf 16? Es sind 4 ROPs, 4 TMUs und 12 ALUs. Daran gibt es nichts zu rütteln.

SKYNET
2006-01-15, 21:09:34
takt x pipeles = texelfüllrate, so und net anders!

Gast
2006-01-15, 21:13:37
Skynet, woran macht man denn i.d.R. die Anzahl der Pipelines fest? Richtig, an den TMUs. ;)

123456
2006-01-15, 21:14:57
takt x pipeles = texelfüllrate, so und net anders!

Richtig.

Du redest Schwachsinn. Die Texelfüllrate berechnet sich aus Takt * TMUs. Die x1600xt besitzt insgesamt 4 TMUs, wie kommst du auf 16? Es sind 4 ROPs, 4 TMUs und 12 ALUs. Daran gibt es nichts zu rütteln.

Die X1600 XT besitzt nicht 4 TMUs, sonder 4 TMUs je Pipeline, oder nicht? So habe ich es in Erinnerung. Bei 4 Pixel-Pipelines ergeben sich also insgesamt 16 TMUs.

Gast
2006-01-15, 21:17:19
Vom Begriff "Pipeline" sollten wir uns sowieso früher oder später verabschieden, da das ganze ziemlich schwammig ist um die Einheiten eines Chips zu beschreiben. Sowohl x1300 als auch x1600 haben 4 "Pipelines", trotzdem ist die x1600 deutlich leistungsfähiger, weil sie eben 3 ALUs pro Pipeline hat. Wäre es nicht viel besser einfach die Einheiten beim Namen zu nennen, anstatt zu versuchen die neuen Chips unbedingt in ein "Pipeline-Konzept" zwängen zu wollen? Also für rv515 dann 4 ROPs, 4 TMUs und 4 ALUs und für rv530 dann 4 ROPs, 4 TMUs und 12 ALUs.

Gast
2006-01-15, 21:18:14
Die X1600 XT besitzt nicht 4 TMUs, sonder 4 TMUs je Pipeline. Bei 4 Pixel-Pipelines ergeben sich also insgesamt 16 TMUs.Red keinen Stuss. Die x1600xt hat 4 Pipelines mit je 3 ALUs pro Pipe.

ShadowXX
2006-01-15, 21:22:52
Richtig.


Nein...Texelfüllarte war schon immer Takt * TMU.

Das man immer Pipes * Takt genommen hat liegt einfach daran, das wir bis jetzt immer (und immer noch) eine TMU pro Pipe gehabt haben.

Das kann sich aber irgenwann ändern (siehe C1, der hat 1 (bzw. 3 Pipes) aber 8 (oder warens 16?) TMUs....und da rechnest du dann bestimmt nicht Pipe * Takt für die Füllrate)


Die X1600 XT besitzt nicht 4 TMUs, sonder 4 TMUs je Pipeline, oder nicht? So habe ich es in Erinnerung. Bei 4 Pixel-Pipelines ergeben sich also insgesamt 16 TMUs.

Nein....der X1600 hat 4 Pipes...pro Pipe hat er 1ne TMU , 1nen Rop und 3 PS-ALUs (woraus sich dann insgesamt 4TMUs, 4ROPs und 12 PS-ALUs ergeben).

Davon abgesehen kann ich dem Gast aus Posting #9 nur Recht geben.

Gast
2006-01-15, 21:23:15
TMU = Texture Mapping Unit -> zum Samplen von Texturen (daher auch Texelfüllrate)
ALU = Arithmetic Logical Unit, vom Marketing auch gern "Pixel Shader Unit" genannt.

123456
2006-01-15, 21:26:53
Nein...Texelfüllarte war schon immer Takt * TMU.

Das man immer Pipes * Takt genommen hat liegt einfach daran, das wir bis jetzt immer (und immer noch) eine TMU pro Pipe gehabt haben.

Das kann sich aber irgenwann ändern (siehe C1, der hat 1 (bzw. 3 Pipes) aber 8 (oder warens 16?) TMUs....und da rechnest du dann bestimmt nicht Pipe * Takt für die Füllrate)



Nein....der X1600 hat 4 Pipes...pro Pipe hat er 1ne TMU , 1nen Rop und 3 PS-ALUs (woraus sich dann insgesamt 4TMUs, 4ROPs und 12 PS-ALUs ergeben).

Davon abgesehen kann ich dem Gast aus Posting #9 nur Recht geben.

Das glaube ich dir dann mal. Klingt logisch. Nur woher habe ich aufgeschnappt, dass die X1600 4 TMUs je Pipeline hätte? :uponder:

Gast
2006-01-15, 21:27:15
takt x pipeles = texelfüllrate, so und net anders!

das gilt nur für 1 TMU/"pipeline".

ansich ist die texelfüllrate takt*TMU-anzahl.


Die X1600 XT besitzt nicht 4 TMUs, sonder 4 TMUs je Pipeline, oder nicht? So habe ich es in Erinnerung. Bei 4 Pixel-Pipelines ergeben sich also insgesamt 16 TMUs.

wie kommst du auf den schwachsinn.

die x1600er serie hat 4 TMUs, 4 ROPs und 12 ALUs.

von pipelines sollte man imo sowieso nicht mehr reden, in zukunft schon garnicht.

die TMUs/ALUs/ROPs sind kaum mehr an eine pipelinestruktur gebunden sondern können (zumindest teilweise) unabhängig voneinander konfiguriert werden.

wenn man schon von pipelines redet sollte man imo eher die quads zählen, da innerhalb eines quads doch noch eine fixe struktur vorhanden ist. wobei man allerdings ein quad einer architektur nicht mit einem quad einer anderen architektur vergleichen kann.

123456
2006-01-15, 21:30:25
Das man immer Pipes * Takt genommen hat liegt einfach daran, das wir bis jetzt immer (und immer noch) eine TMU pro Pipe gehabt haben.

Hatte die FX-Reihe nicht ein 4 x 2-Design? Also 2 TMUs je Pixel-Pipeline?

Gast
2006-01-15, 21:35:23
wenn man schon von pipelines redet sollte man imo eher die quads zählen, da innerhalb eines quads doch noch eine fixe struktur vorhanden ist. wobei man allerdings ein quad einer architektur nicht mit einem quad einer anderen architektur vergleichen kann.Finde ich auch nicht unbedingt geeignet. Wie ich oben schon schrieb, sollte man imho die Einheiten einfach beim Namen nennen. Das gefällt zwar dem Otto-Normal-Dau nicht unbedingt, da es ein wenig aufwendiger ist als das bewährte "Pipelinekonzept", aber in Zukunft führt da wohl nichts vorbei.

Gast
2006-01-15, 21:38:00
Das kann sich aber irgenwann ändern (siehe C1, der hat 1 (bzw. 3 Pipes) aber 8 (oder warens 16?) TMUs....und da rechnest du dann bestimmt nicht Pipe * Takt für die Füllrate)1 bzw. 3 Pipes stimmt, TMUs waren es 16. ;)

Gast
2006-01-15, 21:39:27
Und bevor jetzt noch wer fragt, wie die Xbox360-Fans auf 48 Pipelines kommen: er hat 48 ALUs. ;) Trotzdem nur 1 bzw. 3 Pipelines, je nach Zählweise.

ShadowXX
2006-01-15, 21:41:57
Hatte die FX-Reihe nicht ein 4 x 2-Design? Also 2 TMUs je Pixel-Pipeline?

Ja...da hast du recht. Ich hätte schreiben sollen "das in den letzten 2 Jahren gängige Design war eine TMU pro Pipe (angefangen hat da der r300)".

Hier übrigens für dich noch mal einen Übersicht zu den x1000-Architekturen:
http://www.guru3d.com/article/Videocards/262/4/

Unter Texture Units findest du die Anzahl der TMUs.

P.S.
auf Beyond3D findet man übrigens sehr gute Artikel zu den ATI Architekturen (incl. dem C1).....wenns jemand ganz genau wissen will.

Odal
2006-01-15, 21:48:53
naja mittels dem begriff pipelines konnte man bisher ganz gut die verschiedenen kastrierten karten einer generation eines herstellers vergleichen, ähnliches wird wohl auch zukünftig noch möglich serin...

oder man schlüsselt es halt detailierter in pixelALU, TMU und ROP auf sowie das Vertexzeug

123456
2006-01-15, 22:19:45
Ja...da hast du recht. Ich hätte schreiben sollen "das in den letzten 2 Jahren gängige Design war eine TMU pro Pipe (angefangen hat da der r300)".

Na dann sollte es korrekterweise doch "Chiptakt * TMUs * Pixel-Pipelines" heißen, oder nicht?

Gast
2006-01-15, 22:48:27
Na dann sollte es korrekterweise doch "Chiptakt * TMUs * Pixel-Pipelines" heißen, oder nicht?Nein. Die TMU erzeugt die Texel.

Simon Moon
2006-01-16, 00:13:36
Hatte die FX-Reihe nicht ein 4 x 2-Design? Also 2 TMUs je Pixel-Pipeline?

Die FXen hatten afaik eine Mischung zwischen 8x1 und 4x2, je nachdem was grad praktischer ist. Bei den GF2-4 waren es afaik jeweils auch 4x2 Designs, bei der GF1 weiss ichs nimmer. Die T(wi)NT(exel) hatte wie der Name schon sagt auch 2 TMUs auf die 2 Pipes verteilt - als erste afaik.

Die (Ur)Radeon256 hatte ein 2(Pipes)x3TMU Design. Der R200 dann 4x2. Und der R300 dann 8x1.

sklave_gottes
2006-01-16, 00:43:39
Die T(wi)NT(exel) hatte wie der Name schon sagt auch 2 TMUs auf die 2 Pipes verteilt - als erste afaik.
die voodoo2 war die erste.

Simon Moon
2006-01-16, 01:11:38
die voodoo2 war die erste.

Jo, und wie ich mir grad die Chiptabelle angucke, scheint die TNT(2) doch nur eine 2x1 Architektur zu haben. Scheint zumindest so, weil die Texelfüllrate mit der Pixelfüllrate übereinstimmt. Tja, lang ists her...
btw. für Nostalgiker http://www.3dconcept.ch/chips/chiptable3rd.htm

Spasstiger
2006-01-16, 01:12:11
@Voodoo: Die Antworten auf all deine Fragen wurden schon auf Seite 1 dieses Thread gegeben. Ich zitiere mal einen Gast:

Die Texelfüllrate berechnet sich aus Takt * TMUs. Die x1600xt besitzt insgesamt 4 TMUs, wie kommst du auf 16? Es sind 4 ROPs, 4 TMUs und 12 ALUs. Daran gibt es nichts zu rütteln.

Gast
2006-01-16, 08:22:15
Die FXen hatten afaik eine Mischung zwischen 8x1 und 4x2, je nachdem was grad praktischer ist. Bei den GF2-4 waren es afaik jeweils auch 4x2 Designs, bei der GF1 weiss ichs nimmer. Die T(wi)NT(exel) hatte wie der Name schon sagt auch 2 TMUs auf die 2 Pipes verteilt - als erste afaik.

Die (Ur)Radeon256 hatte ein 2(Pipes)x3TMU Design. Der R200 dann 4x2. Und der R300 dann 8x1.

Die FX hat wohl eher immer gerade das genommen was unpraktischer war. Nein mal im ernst, die FX war ein 4x2 Design, die 4 Rops konnten aber je 2 Z-Werte/Takt schreiben. Daraus hat das Markting ganz ganz schnell ein 8 Pipe Design gebastellt, weil ATI ja sowas am Markt hatte. Gekauft haben es ja dann auch genug...

ShadowXX
2006-01-16, 10:10:39
Na dann sollte es korrekterweise doch "Chiptakt * TMUs * Pixel-Pipelines" heißen, oder nicht?

Wieso?

Auch bei der GFFX kann man die Texel-Füllrate weiterhin mit Takt * TMU berechnen (*FXTakthiereinsetzen * 8 (= 4 *2 ))

Nach deiner Rechnung müssta man dann ja FXChiptakt * 8 * 4 nehmen.

Die Pipeline-Anzahl spielen überhaupt keine Rolle.

Wie schon erwähnt: Der C1 hat ein TMU-Array aus 16 TMUs, wird aber nur von einer (bzw. drei, je nach sichtweise) "Pipeline" bedient (die ALUs selbst sind als 3 Arrays a 16 US-ALUs angelegt).
Da kann man keine einzige TMU auch nur irgendwie einer "Pipe" zuordnen.

Das ganze wäre aber auch dort 16 * 500, egal ob man jetzt eine Pipe oder drei Pipes als Grundlage nimmt.

Man könnte rein theoretisch auch einen Chip bauen der 32Pipes aber nur 4 TMUs hat, oder einen Chip der 32TMUs aber nur 4 Pipes.

Ihr könnt das "Pipeline-Denken" langsam anfangen zu streichen, da spätestens bei den übernächsten Generationen man da gar nichts mehr mit anfangen kann.
Es ist echt vorteilhaft sich jetzt schon langsam anzugewähnen nur noch darauf zu gucken wieviel TMUs, Rops & ALUs (welcher Art auch immer) die Chips haben und das Pipelinedenken anzulegen.

Ailuros
2006-01-16, 11:08:47
Vorsicht beim Xenos, denn es sind 8 GTexels/s + 4xMSAA.

ShadowXX
2006-01-16, 11:16:28
Vorsicht beim Xenos, denn es sind 8 GTexels/s + 4xMSAA.

Ich wollte es nicht zu kompliziert machen....das C1 Beispiel sollte nur aufzeigen das man bei solchen Berechnungen die Pipelineanzahl rauslassen sollte, besser noch: Den Pipelinegedanken langsam aber sicher zu Grabe tragen sollte.

Spasstiger
2006-01-16, 11:20:05
Bei der GeForce 6600 GT ist die Füllrate auch nicht mehr alleine mit der Zahl der Pipelines zu bestimmen. 4 ROPs, aber 8 TMUs.
Von der Pixelfüllrate her also wie ein klassischer 4-Pipeline-Chip, von der Texelfüllrate her aber wie ein klassischer 8-Pipeline-Chip.

Gibt es eigentlich eine Größe, die die Zahl der Alus und den Takt in Zusammenhang bringt?

Ailuros
2006-01-16, 11:24:11
Bei der GeForce 6600 GT ist die Füllrate auch nicht mehr alleine mit der Zahl der Pipelines zu bestimmen. 4 ROPs, aber 8 TMUs.
Von der Pixelfüllrate her also wie ein klassischer 4-Pipeline-Chip, von der Texelfüllrate her aber wie ein klassischer 8-Pipeline-Chip.

Texel-Fuellraten stehen fuer multitexturing; wie relevant ist heutzutage noch single-texturing genau?

Gibt es eigentlich eine Größe, die die Zahl der Alus und den Takt in Zusammenhang bringt?

Ja aber dann kommt es zum MADD/ADD Gewarkel und es kann ziemlich kompliziert werden und es kommt dann meistens auch zu so manchen Meinungsverschiedenheiten.

Anzahl der ALUs * FLOPs/Takt * Taktrate (waere eine Moeglicheit)

Spasstiger
2006-01-16, 11:32:38
Anzahl der ALUs * FLOPs/Takt * Taktrate (waere eine Moeglicheit)

Dann kann man den Takt ja gleich weglassen. ;)

Welche Rechenoperationen muss eine "ALU"/ein Pixelprozessor eigentlich beherrschen, um als ALU zu gelten?

Ailuros
2006-01-16, 11:41:11
Dann kann man den Takt ja gleich weglassen. ;)

Welche Rechenoperationen muss eine "ALU"/ein Pixelprozessor eigentlich beherrschen, um als ALU zu gelten?

Die Taktrate spielt aber eine ziemlich wichtige Rolle beim Resultat.

4D MADD (multiply + add = 2 FP32 OPs) = 8 FLOPs
4D ADD (1 FP32 OP) = 4 FLOPs

Spasstiger
2006-01-16, 12:07:20
Die Taktrate spielt aber eine ziemlich wichtige Rolle beim Resultat.

Aber in deiner Rechnung kürzt sich der Takt raus. FLOPs / Takt * Takt = FLOPS. ;)

ShadowXX
2006-01-16, 12:17:14
Aber in deiner Rechnung kürzt sich der Takt raus. FLOPs / Takt * Takt = FLOPS. ;)

Das Flops/Takt soll mögliche Flops in einem Takt bedeuten...dann kürzt es sich nicht mehr raus.

Spasstiger
2006-01-16, 12:25:43
Das Flops/Takt soll mögliche Flops in einem Takt bedeuten...dann kürzt es sich nicht mehr raus.

Ok, mein Denkfehler. Aber wie verhält es sich jetzt mit den ALUs, was müssen diese beherrsche, um als solche zu gelten? Der NV40 hat ja auch schon zwei Shader-Units pro Pipeline. Trotzdem redet man von insgesamt nur 16 ALUs, weil beide Shader-Units nur einen eingeschränkten Funktionsumfang haben.

ShadowXX
2006-01-16, 12:36:01
Ok, mein Denkfehler. Aber wie verhält es sich jetzt mit den ALUs, was müssen diese beherrsche, um als solche zu gelten? Der NV40 hat ja auch schon zwei Shader-Units pro Pipeline. Trotzdem redet man von insgesamt nur 16 ALUs, weil beide Shader-Units nur einen eingeschränkten Funktionsumfang haben.

Ich glaube das Sie MADD-Fähig sein müssen um als vollständige ALU zu gelten (beim nv40 war ja nur eine der beiden MADD-Fähig).

Allerdings übernehme ich für diese Aussage keine Garantie, speziell nicht ob die Terminologie meiner Aussage Richtig ist.

Ailuros
2006-01-16, 13:23:16
Ok, mein Denkfehler. Aber wie verhält es sich jetzt mit den ALUs, was müssen diese beherrsche, um als solche zu gelten? Der NV40 hat ja auch schon zwei Shader-Units pro Pipeline. Trotzdem redet man von insgesamt nur 16 ALUs, weil beide Shader-Units nur einen eingeschränkten Funktionsumfang haben.

NV40=

16 * 8 FLOPs * 0.4GHz

G70=

24 * 16 FLOPs * 0.43/0.55GHz

R520=

16 * 12 FLOPs (4D MADD + 4D ADD) * 0.625GHz

R580=

48 * 12 FLOPs * 0.65GHz

Die ADDs laufen nur unter Bedingungen bei R5xx, und bei G7x muesste man noch die texture-OPs in Betracht nehmen.

Ailuros
2006-01-16, 13:25:11
Ich glaube das Sie MADD-Fähig sein müssen um als vollständige ALU zu gelten (beim nv40 war ja nur eine der beiden MADD-Fähig).

Allerdings übernehme ich für diese Aussage keine Garantie, speziell nicht ob die Terminologie meiner Aussage Richtig ist.

Wenn's nach NVIDIA ginge schon ;) ATI besteht aber trotzdem darauf dass man die ADDs auf ihren GPUs mitrechnen sollte.

Demirug
2006-01-16, 13:33:49
Ich glaube das Sie MADD-Fähig sein müssen um als vollständige ALU zu gelten (beim nv40 war ja nur eine der beiden MADD-Fähig).

Allerdings übernehme ich für diese Aussage keine Garantie, speziell nicht ob die Terminologie meiner Aussage Richtig ist.

Selbst MADD reicht eigentlich nicht aus. Als vollwertige ALU dürfte man nur eine zählen die den kompletten Befehlssatz beherscht. Den Rest dann vielleicht prozentual zum abdeckungsgrad des Befehlssatzes. Ist zwar immer noch nicht perfekt weil nicht jede Operation gleich häufig benötigt wird aber wahrscheinlich das beste was man ohne die berücksichtung von echtem Shadercode machen kann.

ShadowXX
2006-01-16, 13:40:12
Selbst MADD reicht eigentlich nicht aus. Als vollwertige ALU dürfte man nur eine zählen die den kompletten Befehlssatz beherscht. Den Rest dann vielleicht prozentual zum abdeckungsgrad des Befehlssatzes. Ist zwar immer noch nicht perfekt weil nicht jede Operation gleich häufig benötigt wird aber wahrscheinlich das beste was man ohne die berücksichtung von echtem Shadercode machen kann.

Danke für die nähere Erleuterung.

Das eine ALU mehr als nur MADD, ADD oder MUL können muss, hatte ich irgendwie schon verdrängt, da über die "Nebengeräusche" so wenig geredet wird.

Ailuros
2006-01-16, 13:42:11
Ich wuerde noch wagen anzuhaengen dass je mehr ALUs in der Zukunft komplizierter werden, desto schwerer wird es fuer uns Laien sein das Zeug zu entziffern :frown:

Juice
2006-01-16, 14:44:07
Die FXen hatten afaik eine Mischung zwischen 8x1 und 4x2, je nachdem was grad praktischer ist. Bei den GF2-4 waren es afaik jeweils auch 4x2 Designs, bei der GF1 weiss ichs nimmer. Die T(wi)NT(exel) hatte wie der Name schon sagt auch 2 TMUs auf die 2 Pipes verteilt - als erste afaik.

Die (Ur)Radeon256 hatte ein 2(Pipes)x3TMU Design. Der R200 dann 4x2. Und der R300 dann 8x1.

Der GeForce 256 (GF1) hatte ein 4x1 Design, deswegen war der GF 1 damals ohne Multitexturing schneller als eine GF2MX(2x2) und mit etwas langsamer