Foren Aktuelles Erstellen Mitglieder Anmelden

Allerlei Technikdiskussionen

Benutzer, welche sich diesen Thread anschauen:

pil schrieb:
Kann mir einer verraten wofür RAM eigentlich gebraucht wird, was sind seine Zuständigkeitsbereiche und wieso es besser ist wenn er schnell ist? Also welche Vorteile hat hier die PS4 gegenüber der Xbone?

Also im Grunde ist es relativ simpel. Eine CPU (oder GPU - egal, wichtig ist das PU => Processing Unit) rechnet. Das klingt banal, aber so ist es. Sie nimmt 2 oder mehr Werte, macht damit irgendwas und berechnet so ein oder mehrere Ergebnisse.
Diese Werte und Ergebnisse können natürlich nicht frei herumfliegen. Sie müssen irgendwo gespeichert werden. Und dafür gibt es mehrere Möglichkeiten.
Die erste befindet sich direkt in der CPU und nennt sich Register. Das sind ganz einfache Flipflops. Da ist nix Spezielles dran, aber diese Dinger sind rasend schnell. Pro Takt kann dort ein Wert gelesen und/oder geschrieben werden. Schneller geht es nicht.
Natürlich sind diese Register in ihrer Anzahl stark begrenzt, weil sie eben auch viel Chipfläche fressen und Energie verbrauchen. Also hat man (z.T. auch in der CPU) integriert den Cache Speicher. Der ist schon ein ganzes Stück größer (mehrere MB) und verbraucht proportional gesehen weniger Fläche und Saft. Dafür hat er aber längere Zugriffszeiten. Was bedeutet das?

Nehmen wir mal ein Beispiel einer CPU, die mit 3 GHz getaktet ist. Ein Takt ist schlicht und ergreifend ein Signal, welches zwischen den Zuständen 1 und 0 hin- und herwechselt. Bei einer Frequenz von 3 GHz tut es das in einer Sekunde 3 Milliarden Mal. Der Einfachheit halber sagen wir mal, dass immer, wenn der Takt von 0 auf 1 wechselt, kann die CPU irgendwas machen => ergo in einer Sekunde 3 Mrd Mal. Zeitlich gerechnet sind das also 1/3.000.000.000 = 0.3 ns (Nanosekunden) pro Taktperiode, sprich alle 0.3 ns kann die CPU irgendwas machen.
Und solange Register im Spiel sind funktioniert das auch so. Nun haben wir aber den Cache-Speicher. Der ist an und für sich sehr schnell, hat aber eben eine Zugriffsdauer von z.B. 20 ns. Das bedeutet, wenn die CPU etwas aus diesem Speicher lesen will, dann muss sie knapp 67 Taktzyklen (20 ns / 0.3 ns) warten, bis was aus dem Speicher kommt. Auch das ist noch ziemlich schnell und für die meisten Berechnungen mehr als vertretbar.
Nun ist es aber auch beim Cache so, dass es sehr teuer ist (Fläche, Energie etc.) und deswegen ist er größentechnisch auch eher begrenzt. Und jetzt kommt der nächste Baustein in der Speicherhierarchie: der RAM
Der RAM ist ein CPU-naher Speicher. Er hat i.d.R. eine direkte Anbindung zur CPU, befindet sich aber nicht auf dem Chip. Und dadurch wird er zum perfekten Trade-Off zwischen Größe und Kosten. Seine Reaktionszeit ist dafür aber nochmals höher als die des Cache, was wiederum in längeren Wartezeiten für die CPU resultiert. Ist aber eben alles noch vertretbar und deswegen haben wir heute beträchtliche Mengen von diesem Speicher, in die die CPU alles Mögliche an Werten schreiben kann. Was das alles ist? Im Grunde alles, was irgendwie berechnet werden muss. Und solange es im RAM ist, ist auch alles gut und die CPU kann flott arbeiten. Sollte der RAM allerdings mal voll sein, oder ein benötigter Wert nicht im RAM, dann wird es richtig bitter für die CPU. Denn dann muss sie auf die Festplatte zugreifen und das bedeutet dann Wartezeiten von mehreren Millisekunden. Und wenn wir jetzt mal 10 ms als Beispiel hernehmen, dann würde unsere mit 3 GHz getaktete CPU satte 10 ms = 10.000.000 ns / 0.3 ns = 33.333.333 = 33.3 Mio Takte warten müssen, bis da mal was aus der Festplatte kommt. Will heißen, an dem Zeitpunkt wird's dann ziemlich hässlich.

Kurz: Viel RAM und die CPU kann jede Menge Zeugs in vertretbarem zeitlichem Rahmen berechnen.

Jetzt kann man natürlich noch versuchen, die Verzögerungszeiten des RAMs auszugleichen, indem man die Menge an Daten, die gleichzeitig gelesen und geschrieben werden können, verändert. Es ist immerhin ein Unterschied, ob ich pro Zugriff 16 Bit lese oder 64 Bit. Wenn meine CPU auf 16 Bit Basis arbeitet (sprich, jeder Wert besteht aus 16 Bit), dann kann sie im ersten Fall immer genau einen Wert lesen/schreiben und im zweiten Fall 4 Werte gleichzeitig.
Und genau das ist im Grunde bei den neuen Konsolen der Fall. Die X1 hat mit DDR3 den RAM mit der geringeren Zugriffszeit. Die PS4 hat aber mit dem GDDR5 eine viel größere Zugriffsbreite. Sie kann weit mehr Werte gleichzeitig schreiben und lesen, was ihr einen erheblichen Geschwindigkeitsvorteil gegenüber der X1 einbringt...zumindest auf dem Papier. Was man davon am Ende sehen wird, bleibt abzuwarten. Ich wette, dass sich dieses Plus an Power nur bei den Exklusivtiteln zeigen wird und das werden im Verhältnis zum gesamten Lineup eher wenige Titel sein.
 
So wie ich es mitgekriegt habe, kann man auch bei GDDR5 die gleichen Zugriffszeiten wie bei DDR3 erreichen (damit einher geht aber dann wohl der Speicherbandbreitenvorteil flöten), indem ein entsprechender Speichercontroller verwendet wird. Die CPU mag vor allem geringe Latenzzeiten, die GPU dafür eine hohe Speicherbandbreite.

Und ich wette dagegen, dass man das Plus an Power (Ram und GPU) nur bei Exklusivtiteln sehen wird.
 
Sisaya schrieb:
So wie ich es mitgekriegt habe, kann man auch bei GDDR5 die gleichen Zugriffszeiten wie bei DDR3 erreichen (damit einher geht aber dann wohl der Speicherbandbreitenvorteil flöten), indem ein entsprechender Speichercontroller verwendet wird. Die CPU mag vor allem geringe Latenzzeiten, die GPU dafür eine hohe Speicherbandbreite.

Und ich wette dagegen, dass man das Plus an Power (Ram und GPU) nur bei Exklusivtiteln sehen wird.

Afaik hat die CPU ja nur eine Bandbreite von ~30GB/s wenns mich nicht täuscht (ging glaub ich aus der Killzone-Präsentation hervor)... Weiß man denn schon ob die also nen eigenen Speicherkontroller hat (der eben die Latenzprobleme des GDDR5 beheben würde)?
 
Werden wir denke ich nie erfahren, wenn nicht zufällig einer der Architekten direkt darauf angesprochen wird oder irgendein Entwickler dies eventuell als Problem anspricht.
Beim Gaming ist aber sowieso der Grafikprozessor die treibende Komponente, sodass ich diesen Latenz-Kompromiss gegen den CPU und für den GPU nicht so schlimm finde,
 
Hätten 2 Speichercontroller nicht das Problem, dass dann der Unified-Ansatz komplex werden würde? Dadurch müsste ja ne variable Aufteilung in CPU-und GPU-RAM erfolgen, damit nicht beiden Controller auf die selben Speicherbereiche zugreifen können... Oder es gibt einen zusätzlichen Controller, der die beiden Speichercontroller controlled :ulgy:
Auch im Sinne der Speicherkonsistenz würde das sonst Probleme verursachen.
 
Naja im Endeffekt lässt sich aus der PS4 einfach mehr rausholen. Mehr Details, lebensechte Charaktere, beeindruckende Effekte, tolle Physik und geringe Ladezeiten. Das wird man am Anfang nicht alles erkennen können, aber langfristig bietet die PS4 die schöneren Spielewelten für weniger Geld.
 
Bill Gates schrieb:
Naja im Endeffekt lässt sich aus der PS4 einfach mehr rausholen. Mehr Details, lebensechte Charaktere, beeindruckende Effekte, tolle Physik und geringe Ladezeiten. Das wird man am Anfang nicht alles erkennen können, aber langfristig bietet die PS4 die schöneren Spielewelten für weniger Geld.

Ich prophezeie dir eine tolle Zukunft als Analyst oder als PR-Schreiber bei Sony...
 
Aber sind 102 GB/s nicht schon sehr viel, ich meine wenn ich so eine Leitung hätte wäre ich schon froh. Und müssten die Daten nicht eh viel größer sein um da ein Unterchied festzustellen.

Bin da sehr unerfahren daher meine frage
 
MachtAG schrieb:
Aber sind 102 GB/s nicht schon sehr viel, ich meine wenn ich so eine Leitung hätte wäre ich schon froh. Und müssten die Daten nicht eh viel größer sein um da ein Unterchied festzustellen.

Bin da sehr unerfahren daher meine frage

Wer hat denn ne 102 GB/s Leitung... Sowas gibts doch nicht;)
 
MachtAG schrieb:
Aber sind 102 GB/s nicht schon sehr viel, ich meine wenn ich so eine Leitung hätte wäre ich schon froh. Und müssten die Daten nicht eh viel größer sein um da ein Unterchied festzustellen.

Bin da sehr unerfahren daher meine frage

Es wirkt tatsächlich enorm viel.
Es werden aber tatsächlich so viele Daten zwischen RAM und Prozessor hin- und hergeschickt.
Es werden ja auf den Rohdaten (z.B. Gittermodelle, Texturen, später dann gerenderte Bilder) sehr viele Berechnungen durchgeführt. Für die Berechnungen müssen die Daten allerdings in den Registern des Prozessors liegen, die allerdings sehr klein (dafür extrem schnell) sind. Danach müssen die da wieder raus, zurück in den RAM und der nächste Block Daten geholt werden. Da kommen dann die etlichen GB/Sekunde zustande.

Als Beispiel (vereinfacht und ich weiß auch nicht, ob das tatsächlich genauso abläuft. Zur Veranschaulichung müsste es reichen):
Auf einer Textur soll eine Pixel-Shader Operation durchgeführt werden. Dazu muss Pixel für Pixel dieser Textur aus dem RAM in die Register geholt werden.
Sagen wir, zuerst Pixel 1-31 von RAM in Register. Die GPU berechnet irendwas, das Ergebnis wird zurück in den RAM geschrieben.
Dann kommen Pixel 32-63 vom RAM in die Register, Berechnung, zurück.
und das dann im Zweifel auf einer 2048x2048 Pixel großen Textur.

Und dann hast du genau eine winzige Operation für den Frame gemacht, aber schon etliche Schreib- und Lesevorgänge und damit Bandbreitenverbrauch.
Und daher haben Hi-End PC-GPUs teilweise Durchsätze von über 500GB/sek. Mehr ist hier immer besser.


Bissl verständlich?
 
Ne ich meinte die Bandbreite beim RAM der Xbox

@el barto

ah ok, mir kommt das nur immer so unheimlich viel vor :D
 
Es ist auch viel. Aber wenn man überlegt, dass die Prozessoren in den Konsolen weit über 1 Millarde Berechnungen pro Sekunde durchführen können und für jede einzelne Berechnung davon Daten benötigen, relativiert sich das wieder :D
 
Das stimmt wohl. Aber ich bin trotzdem zuversichtlich immerhin haben wir ja immer gedacht das es nur 4GB werden. Und jetzt sind es 8, das ist ja schon Ne Steigerung von 7,5 GB.
 
Ich glaub RAM Technisch hat sich noch nie soviel in einer Konsolengeneration getan wie jetzt, bin mal gespannt was das alles bewirken kann. Bisher kennen wir ja nur Konsolen Games mit weit unter einem GB Ram.
 
Zurück
Oben