Maturarbeit Gaming-PC -> NVIDIA Kepler GK104 - Viele Unklarheiten

jan94gubler

Schraubenverwechsler(in)
Guten Tag allerseits! :)

Ich schreibe gerade meine Maturarbeit (Gaming-PC Komponentenauswahl, optimales P/L-Verhältnis mit Fokus auf Graka und CPU)
Momentan bin ich am Anschlag, ich versuche herauszufinden wie ein GK104-Chip funktioniert. Dabei stellen sich mir vor Allem bei den "Streaming Multiprocessors" (SMX) viele Fragen, die ich auch nach stundenlanger Internetrecherche nicht oder nur teilweise beantworten kann.
Am wenigsten verstehe ich den Zusammenhang zwischen Polymorph Engine und den übrigen Komponenten des SM (NVIDIA GeForce GTX480 Video Card Review :: PolyMorph engine and Raster Engine :: Motherboards.org)

Fragen bezüglich der SM(X)s:
1. Wie fliessen denn die Daten genau durch diese SMs?
-Ist die Polymorph Engine der erste Posten und das "Interconnect Network" der letzte?
-Oder ist es eher wie ein Ablauf und die Polymorph Engine dabei sowas wie das "Kotrollzentrum": Vertex Fetch -> CUDA Cores -> Tessellator -> CUDA Cores -> Viewport Transform -> CUDA Cores usw...?

2. So wie ich es verstanden habe sind...
...TEX=TMUs
...Instruction Caches=Speicher, der Befehle an die Cores speichert
...Warp Scheduler und Dispatch Units=Einheiten oder Teile, die die Befehle auf die Cores aufteilen
-Sind diese Annahmen richtig oder habe ich auch das nicht verstanden? :P

3.
-Was ist das Register File genau?
-Was ist das "L1 Cache"?
-Was ist das "Interconnect Network"?

Fragen bezüglich des ganzen Chips:
1. So wie ich es verstanden habe sind
...die "Memory Controllers" rechts und links vom Chip die Teile, die die Daten aus den GDDR5-Speicherzellen zum Chip holen?
...der "PCI Express 3.0 Host Interface" die Schnittstelle von Chip und Graka-Ausgang
...die 32 dunkelblauen Rechtecke rund um den "L2 Cache" wohl die ROPs?

2.
-Was ist die GigaThread Engine genau? Auch sowas wie "Arbeitsaufteiler", also Kontrollzentrum?
-Was ist das "L2 Cache"?

Ich weiss, dass sind wirklich viele Fragen auf einmal... Ich habe aber schon stundenlang recherchiert und ich finde es ziemlich kompliziert...
Aber vielleicht ist ja hier ein Spezialist, der sich wirklich gut auskennt mit Grafikchips? Wäre schon froh, wenn ihr mir eine der vielen Fragen beantworten könntet! :)

Vielen Dank schon im Voraus :)
 

Anhänge

  • GK104 SMX.png
    GK104 SMX.png
    76,2 KB · Aufrufe: 152
  • GK104.png
    GK104.png
    77,9 KB · Aufrufe: 253
Guten Tag allerseits! :)

Ich schreibe gerade meine Maturarbeit (Gaming-PC Komponentenauswahl, optimales P/L-Verhältnis mit Fokus auf Graka und CPU)
Momentan bin ich am Anschlag, ich versuche herauszufinden wie ein GK104-Chip funktioniert. Dabei stellen sich mir vor Allem bei den "Streaming Multiprocessors" (SMX) viele Fragen, die ich auch nach stundenlanger Internetrecherche nicht oder nur teilweise beantworten kann.
Am wenigsten verstehe ich den Zusammenhang zwischen Polymorph Engine und den übrigen Komponenten des SM (NVIDIA GeForce GTX480 Video Card Review :: PolyMorph engine and Raster Engine :: Motherboards.org)
Also mal vorne weg. Es gibt nicht DAS "optimale P/L-Verhältnis" Es gibt ein Optimum zu einem bestimmten Problem. Mehr aber auch nicht!!! Je nachdem, wie dein Problem aussieht, kann etwas komplett anderes plötzlich optimal sein!
Bzgl Technik usw. wirst du nicht drum rum kommen SEHR viel zu lesen. So >2k Seiten solltest du schon einplanen, um die Sachen relativ detailiert betrachten zu können. Aber selbst dann solltest du nicht erwarten, viele Sachen wirklich zu verstehen. Du erhälst zwar ein grundlegendes Verständnis, und kannst auch Zusammenhänge erklären, aber warum das so ist, muss nicht dazu gehören. Geschweige denn warum man etwas so macht und nicht anders.

Fragen bezüglich der SM(X)s:
1. Wie fliessen denn die Daten genau durch diese SMs?
-Ist die Polymorph Engine der erste Posten und das "Interconnect Network" der letzte?
-Oder ist es eher wie ein Ablauf und die Polymorph Engine dabei sowas wie das "Kotrollzentrum": Vertex Fetch -> CUDA Cores -> Tessellator -> CUDA Cores -> Viewport Transform -> CUDA Cores usw...?
Man hat heute keine fixe Pipeline aus fixed function units mehr. Es gibt zwar noch immer einige Schritte, die einfach in gewisser Reihenfolge erfolgen, man ist aber recht frei darin, was man nun machen will, und kann durch Shader eben sehr viel machen. Da musst du einfach dir die Pipelines dazu anschauen. Da führt kein Weg dran vorbei... Ich hab mich mit der DX11 Pipeline auch noch nicht beschäftigt. Sowei ich weiß, kann man aber an gewissen Stellen auch nochmal zurück in der Pipeline. Es gibt also glaub ich loops. Das musst du dir aber einfach genau anschauen...

Als Einstieg, um die Sache aber mal im Grundsatz zu verstehen, hilft es, sich mal die OpenGL Pipeline an zu schauen. Das ist in der Version noch eine fixed function Pipeline NeHe Productions: GLSL: An Introduction

Oder auch hier ein ganz nützlicher Wikipedia Artikel für die Grundlagen Grafikpipeline

Für DX11 hab ich mal auf die Schnelle folgendes gefunden: Pipelines for Direct3D Version 11 (Windows Drivers) DX11.JPG (image)

2. So wie ich es verstanden habe sind...
...TEX=TMUs
...Instruction Caches=Speicher, der Befehle an die Cores speichert
...Warp Scheduler und Dispatch Units=Einheiten oder Teile, die die Befehle auf die Cores aufteilen
ja, ja und ja

-Sind diese Annahmen richtig oder habe ich auch das nicht verstanden? :P
Das kann dir keiner sagen, ob du WIRKLICH die Sachen verstanden hast, oder nur meinst, es verstanden zu haben. Der Teufel steckt hier immer im Detail, und man kann böse auf die Schnauze fallen, weil man meint etwas verstanden zu haben, es aber nicht so ist. Wenn du die Architekturen wirklich verstehen willst, kommst du nicht dran rum, die Whitepaper zu lesen!

Hier das Whitepaper für GK104: http://www.geforce.com/Active/en_US/en_US/pdf/GeForce-GTX-680-Whitepaper-FINAL.pdf
GCN whitepaper (kurz): http://www.amd.com/jp/Documents/GCN_Architecture_whitepaper.pdf
GCN ISA (mittel): http://www.x.org/docs/AMD/AMD_Southern_Islands_Instruction_Set_Architecture.pdf
GCN OpenCL Programming Guide (Whitepaper lang): http://developer.amd.com/download/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf
AMD allgemein: Index of /docs/AMD

3.
-Was ist das Register File genau?
Eine Ansammlung von vielen Registern, auf die die ALUs zugreifen können. Wenn du mehr wissen willst, schau einfach bei wikipedia, was ein Register ist. Das file bezieht sich nur auf die große Anzahl
-Was ist das "L1 Cache"?
Der "First level Cache" was ein Cache ist, ist auf Wikipedia gut erklärt. Lx bezeichnet immer die Hierachiestufe.
-Was ist das "Interconnect Network"?
Wikipedia/Google hilft:

Ein "Verbindungsnetzwerk" auf Deutsch. Das Network hätte man sich auch sparen können :-_-:

Fragen bezüglich des ganzen Chips:
1. So wie ich es verstanden habe sind
...die "Memory Controllers" rechts und links vom Chip die Teile, die die Daten aus den GDDR5-Speicherzellen zum Chip holen?
Der "Memory Controller" ist genau DAS was er auch sagt. Er "kontrolliert" den Speicher... Speicherchips besitzen praktisch keine Logik. Das übernimmt alles der Speicherkontroller.

...der "PCI Express 3.0 Host Interface" die Schnittstelle von Chip und Graka-Ausgang
Nein...

Es ist wieder genau das, was der Name sagt... Es ist das "PCI Expres 3.0 Host Interface"... Also der Teil vom Chip, der die PCI-E 3.0 Verbindung zum Host (Rechner) bereitstellt...

...die 32 dunkelblauen Rechtecke rund um den "L2 Cache" wohl die ROPs?
Wenn es die "ROPs" wären, würde da auch "ROPs" stehen... Es ist einfach der "L2 Cache" nicht mehr und nicht weniger... (Ok, die ROPs sind bei nVidia wenn ich mich recht erinnere an die L2 Partitionen gekoppelt, das muss aber apriori so nicht sein)

Bitte bitte bitte lern lesen, und deute nicht in irgendwas irgendwas anderes rein. Schau nach, was du dazu herausfindest per Google/Wikipedia UND vor allem mit den Whitepapers! Ansonsten frag, schmeis aber nicht einfach Begriffe zusammen... Da kommt dann nur Schmu bei raus.

2.
-Was ist die GigaThread Engine genau? Auch sowas wie "Arbeitsaufteiler", also Kontrollzentrum?
[/quote]
Die GigaThread Engine kümmert sich, wenn ich mich recht erinnere um das Warp/Thread Sheduling bzgl der SM(x). Das müsste ich aber auch nochmal genau nachlesen. Also wenn dus genau wissen willst, les im Whitepaper nach

-Was ist das "L2 Cache"?
Ein Cache... :-_-: Und zwar der Level 2 Cache...

Ich weiss, dass sind wirklich viele Fragen auf einmal... Ich habe aber schon stundenlang recherchiert und ich finde es ziemlich kompliziert...
Gewöhn dich dran. Du kratzt nur an der Oberfläche... Die spannenden und schwierigen Sachen kommen erst noch.

Ich hoffe du hast VIEL Zeit ;) Die Whitepaper und Wikipedia werden dein Freund sein. Ansonsten kann ich nur eins sagen. Wenn du etwas liest, und es nicht versteht, bzw einzelne Sachen nicht kennst, dann finde erst heraus, was das zu bedeuten hat, ansonsten kannste dir das weiter lesen sparen. Und ja, um einen Satz zu verstehen kann es auch nötig sein 100 Seiten anders Zeug erstmal zu lesen... Gewöhn dich lieber gleich dran. Du weist fast nichts. Da ist das absolut normal, das man ständig gegen ne Wand rennt.

Aber vielleicht ist ja hier ein Spezialist, der sich wirklich gut auskennt mit Grafikchips? Wäre schon froh, wenn ihr mir eine der vielen Fragen beantworten könntet! :)

Vielen Dank schon im Voraus :)
 
Vielen Dank für die schnelle Antwort und das du dir Zeit genommen hast mir zu antworten :)
Ich werde mir die von dir angegebenen Seiten sicher anschauen und hoffe, dass ich so etwas weiter komme. Mein Ziel ist es nicht, den Grafikchip im kleinsten Detail zu analysieren, ich will "nur" die einzelnen Teile des Chips kennen und wissen und dann erklären können, was diese machen. Schön wäre natürlich auch zu verstehen, wie die Daten verarbeitet werden, aber nach dem Lesen deiner Antwort bleibe ich glaube ich mal beim Erklären der Teile ;) Ich interessiere mich wirklich sehr für das Thema und werde auch nach der Maturarbeit noch weiter recherchieren so viel ist sicher. Das Problem ist nur, dass ich nicht allzu sehr ins Detail gehen sollte (aber eben möchte :P), denn ich sollte auch noch die anderen Komponenten des PCs noch behandeln :P
Und tut mir leid für die zT vielleicht etwas doofen Fragen.. Wie du gesagt hast, wenn man mehr wissen will, muss man halt sehr viel Zeit investieren, die ich aber leider (zumindest für diese Arbeit) nicht habe :/ Aber ich lese mich da jetz mal rein und probiere so viel wie nur möglich herauszufinden in der Zeit, die mir noch bleibt.

Nochmals Danke!
 
Super :daumen:

Wie ich gesagt hatte, man muss oft deutlich mehr lesen, als das was man eigentlich nur wissen will. In den ganzen Dokumenten werden halt nur die Neuerungen/Änderungen angesprochen, alles andere muss man, sofern man es nicht kennt, halt oft in "alten" Sachen nachlesen.

PS:
Du kannst ruhig weiterhin Fragen stellen, wenn du etwas nicht verstehst. Nur als Tip: Gerade Wikipedia erklärt viele Sachen WIRKLICH! sehr gut und vor allem leicht verständlich

PPS:
Was ist eigentlich deine genaue Aufgabenstellung? Ich befürchte du übernimmst dich da gewaltig.
 
Jep danke vielmal für deine Hilfe! :)

Die Leitfrage unserer Maturarbeit ist folgende:
"Wie sind die Komponenten zu wählen und wie ist bei deren Zusammenbau zu einem kompakten Spielecomputer vorzugehen, ohne das Budget von CHF 1000.- zu überschreiten? Was spielen Prozessor und Grafikkarte für eine Rolle im System, wie haben sie sich im Laufe der Jahre entwickelt und welche verschiedenen Technologien existieren?

Unser Betreuer hat uns (ich mach die Arbeit mit einem Kollegen zusammen und wir haben die Komponenten aufgeteilt) gesagt: " Einer übernimmt CPU und einer GPU und Sie müssen sich EXPERTENWISSEN aneignen."
Ich habe auch das Gefühl das ich ein wenig zu weit gehe, aber wenn er sagt Expertenwissen... und zudem interessiert mich das Thema so oder so und mir macht es Freude das genau anzuschauen :)

Auf dein Angebot, dass ich noch weiter Fragen stellen kann, werde ich sicher gerne noch zurückkommen :)
Vielen Dank :D
 
Jep danke vielmal für deine Hilfe! :)
Kein Ding.

Die Leitfrage unserer Maturarbeit ist folgende:
"Wie sind die Komponenten zu wählen und wie ist bei deren Zusammenbau zu einem kompakten Spielecomputer vorzugehen,
Das sind apriori schon mal zwei Sachen, die schlecht miteinander harmonieren. Vor allem! wenn man den nächsten Punkt noch dazu nimmt...

ohne das Budget von CHF 1000.- zu überschreiten?
Was spielen Prozessor und Grafikkarte für eine Rolle im System,
Frag mal deinen Leherer folgendes: "Herr/Frau XY, was ist das bessere KfZ? Audi A3 oder nen 7,5 tonner mit Auflieger?

Ich hoffe doch inständig das die Antwort: "Es kommt drauf an, was du machen willst" bei raus kommt. Leider bezweifle ich das... Wenn doch, kannste folgendes sagen: "Tja sehen Sie, und das ist auch die Antwort auf unsere Fragestellung..."

wie haben sie sich im Laufe der Jahre entwickelt und welche verschiedenen Technologien existieren?
Das ist aber ein sehr sportliches Programm...

Ihr solltet AUF JEDEN FALL! dringenst nochmal abklären, was euer Lehrer denn genau haben will. So wie sich das anhört, will er nämlich Null hören, was neue Hardware so kann, womit ihr euch auch das lesen von den Whitepapers sparen könnt, sondern allgemein die Entwicklung von Hardware z.B. CPU

Single-Core
Single-Core mit dedizierter FPU, als Coprozessor
Single-Core mit integrierter FPU
Multi-Sockel (SMP)
Multi-Core mit North- und Southbridge
Multi-Core mit integriertem Memory-Controller (Northbridge)
Many-Core
SOC

das wäre mal so ne GANZ einfache Aufteilung, die man noch beliebig erweitern kann mit PCI, AGP, PCI-X, PCI-E, PCI-E 2.0, PCI-E 3.0 usw usw.

Für mich hört sich das sehr viel mehr nach so etwas an, was für euch auch deutlich einfacher zu stemmen wäre, auch wenns trotzdem noch beliebig viel arbeit ist :D

Unser Betreuer hat uns (ich mach die Arbeit mit einem Kollegen zusammen und wir haben die Komponenten aufgeteilt) gesagt: " Einer übernimmt CPU und einer GPU und Sie müssen sich EXPERTENWISSEN aneignen."
Frag ihn mal, ob er den Unterschied zwischen einem "vollassoziatischem Cache und einem 4 fach (bzw n fach) assoziatifen Cache" kennt. Wenn nein, dann muss es mit eurem "Expertenwissen" nicht weit her sein. Wenn er die Frage beantworten kann, dann könnt ihr mal noch fragen, ob er euch zwei "Cache replacement policies" nennen kann.

Die Antworten wären dann folgende ;)
1.Cache
2. LeastRecentlyUsed, Pseudo LeastRecentlyUsed und MostRecentlyUsed sind die einfachsten und bekanntesten. Cache algorithms - Wikipedia, the free encyclopedia

Wenn er euch das nicht aus dem Stehgreif beantworten kann, oder zumindest grundlegend weiß, worum es geht, dann könnt ihr absolut oberflächlich bleiben. Das sind wirklich schon relative Basics, wenn man sich etwas näher mit PC-Hardware beschäftigt. Gut ok, >50% der Leute hier werden wohl auch hier damit nichts anfangen könne, aber gut. Mehr als die Leute hier oft wissen, müsst ihr dann auch nicht können.

Falls er es nicht beantworten kann, fragt aber nach, ob ihr denn so was in die Tiefe gehend machen sollt, oder nicht. Ich glaub zwar nicht, das er ja sagen wird, weil er selbst keine Ahnung davon hat, und ihr die Story vom Pferd erzählen könnt, aber gut, man weiß ja nie :D

Ich habe auch das Gefühl das ich ein wenig zu weit gehe, aber wenn er sagt Expertenwissen... und zudem interessiert mich das Thema so oder so und mir macht es Freude das genau anzuschauen :)
Ja, das glaube ich auch. Du unterschätzt das Themengebiet voll auf! Du kannst dich da wirklich ohne Probleme mehrere Jahre mit jedem Tag >5h dran austoben, und wirst noch immer mehr als genug Neues vor dir haben, was du noch nie gehört hast ;)

Klärt also wirklich ab, was euer Lehrer will, sonst wird das nichts.

Auf dein Angebot, dass ich noch weiter Fragen stellen kann, werde ich sicher gerne noch zurückkommen :)
Vielen Dank :D
Wie gesagt, kein Ding. Fragen könnt ihr schon. Lesen und verstehen müsst ihr aber schon selbst. Nachtragen werde ich euch das Zeug nicht. Das bringt nämlich nichts. Wenn ihr aber mal hängt, könnt ihr gern was fragen. Ihr könnt eure Arbeit mir auch gern mal zum "lesen" geben. Und keine Sorge, ich zerrupf euch auch ausreichend :devil:

gibts das ganze noch mal in deutsch ? oder muss ich mich auf english da durch arbeiten ?
Das Whitepaper? Gibt's nur auf Englisch :/
Was erwartet ihr? :ugly:

Fachliteratur, bzw Herstellerpapiere gibts immer nur auf Englisch! Das ist absolut die Ausnahme, wenns mal auf Deutsch ist, und wenns auf Deutsch ist, dann liest es sich meinstens absolut beschissen, weil eh die hälfte englische Begriffe sind :ugly:

Und wenn der Autor meint, er müsste das "Eindeutschen", dann gibts nur noch das hier :kotz:

Also mit dem "Fach"-Englisch solltet ihr euch lieber sehr schnell anfreunden. Ansonsten sehr ihr da kein Land.
 
Zuletzt bearbeitet:
Ein sehr komplexes Thema...

Ein Problem dabei ist das dir wohl einige Grundlagen fehlen- wenn du etwa nicht weißt wie ein Cache oder ein Register oder eine ALU oder... funktioniert kannst du die Funktionsweise eines GPU nicht richtig verstehen.

Die Frage ist aber auch ob das wirklich nötig ist. Vermutlich nicht.

Wahrscheinlich reicht es aus wenn du Funktionsumfang, Leistung und Verbrauch verschiedener Grafikkarten einigermaßen einordnen kannst- ohne wirkliches Verständins der Funktionsweise. Allerdings will ich dich nicht entmutigen, das Thema ist ja nicht uninterressant.
 
Zurück