RAM Parameter

Moien

(Hatte den gleichen Text vor Wochen in Hardware-forum gepostet. Keinerlei Antworten…)

Meine Graka (Radeon M7, verbaut in einem Laptop) arbeitet im Moment mit folgenden RAM-Parametern:

tRcdRD: 6
tRcdWR: 3
tRP: 6
tRAS: 16
tRRD: 3
tR2W-CL: 4
tWR: 4
tW2R: 2
tW2Rsb: 1
tR2R: 2
tRFC: 20
tWL(0.5): 2
tCAS: 3
tCMD: 0
tSTR: 1

Der RAM sollte DDR sein und ist auf 360MHz ausgelegt. Um die Wärmeentwickelung zu reduzieren will ich die Graka möglichst weit runtertakten. Der RAM läuft bei 80MHz noch stabil, die GPU bei 75MHz auch (ohne dass man irgendeinen Unterschied im 2D Betrieb sehen würde…). Darunter bricht allerdings das System zusammen.

Nun kann man die RAM-Parameter ändern. Welchen sollte man in welche Richtung drehen ? (Und was bedeutet der ganze Schmorder eigentlich im einzelnen ?)

Danke

Hallo Fragewurm,

Nun kann man die RAM-Parameter ändern. Welchen sollte man in
welche Richtung drehen ? (Und was bedeutet der ganze Schmorder
eigentlich im einzelnen ?)

Frag doch bitte denjenigen, welcher das Programm geschrieben hat, welches die diese Parameter angibt.

Möglicherweise hat er die Parameterbezeichnungen aus dem Datenblatt der GPU oder dem RAM übernommen, oder einfach selbst etwas gestickt …

Eigentlich ist nicht mal klar ob das Bustakte oder ns sein sollen. Da die Parameter einstellbar sind, werden sie sich aber auf irgendeinen Takt im System beziehen. Möglich wäre auch noch, dass es sich bei den Werten um Registerinhalte des Buscontrollers handelt.

Weiterhin kann die keiner so sagen, welche Parameter in welchen Bereich verstellt werden können. Dies hängt von der Kombination aus Buscontroller und den verwendeten RAMS ab. Zudem weiss keiner, was die SOftware aus diesen Parametern dann eigentlich berechnet oder nicht.

MfG peter(TOO)

t_RcdRD = 6 (RAS to CAS Delay for Read) z.B. bedeutet, dass bei einem nominalen Takt von 360 MHz (evlt ist der physikal. Takt auch nur 180 MHz, weiß ich nicht…) mindestens 6 Takte von Anlegen der Zeilenadresse (row adress strobe) bis zum Anlegen der Spaltenadresse (column adress strobe) vergehen müssen. Streng genommen müsste der Speicherhersteller den Wert eigentlich in ns angeben, aber bei vorgegebenem Takt kann man ja auf die Taktzyklen umrechnen.

Wenn du die anderen Werte auch genau wissen, willst dann google mal, außerdem kannst du dich in die Speicherarchitektur von DRAM einlesen, um die Aufgabe der einzelnen Zeiten zu verstehen.

Ich glaube, dass bei allen angefragten Parametern der Speicher am schnellsten betrieben wird, wenn du die jeweilige Zeit auf 1 setzt (was er aber sicher nicht mitmachen wird). Für langsameren Betrieb eben größere Werte nehmen. Glaube aber nicht, dass dadurch die Wärmeerzeugung erheblich reduziert wird - mit dem Runtertakten des Speichers dürftest du den Hauptanteil schon geschafft haben.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Fragewurm,

t_RcdRD = 6 (RAS to CAS Delay for Read) z.B. bedeutet, dass
bei einem nominalen Takt von 360 MHz (evlt ist der physikal.
Takt auch nur 180 MHz, weiß ich nicht…) mindestens 6 Takte
von Anlegen der Zeilenadresse (row adress strobe) bis zum
Anlegen der Spaltenadresse (column adress strobe) vergehen
müssen. Streng genommen müsste der Speicherhersteller den Wert
eigentlich in ns angeben, aber bei vorgegebenem Takt kann man
ja auf die Taktzyklen umrechnen.

Das geht aber nur bedingt, wenn man richtig rechnet geht es nur mit ns und genauer Kenntnisse über die Schaltung und den Aufbau der Leiterplatte.

  1. Die verschiedenen Signale am Controller sind unterschiedlich zum Takt versetzt.
  2. Die Pin-Kapazitäten an den Eingängen spielen hier auch schon eine Rolle. Es macht einen Unterschied ob 1 oder 2 Eingänge an einen AUsgang angeschlossen sind und ob Serienwiderstände in den Leitungen eingebaut sind. Je nach Hersteller der RAM, sind die Kapazitäten auch nochmals etwas unterschiedlich.
  3. Mittlerweile spielen die Leitungslängen auch schon eine Rolle. Licht kommt in 1ns gerade noch 30cm weit, Strom ist noch etwas langsamer. Deshalb werden die Leiterbahnen für Adress- und datenbus auch alle gleich lang gemacht, was dann als scheinbar unsinnige Schleifen im Layout sichtbar wird.

Er kann zwar an den Werten rumspielen, bis das Ganze nicht mehr läuft, aber dabei muss man auch noch bedenken, dass die ganzen Paramter noch von der Temperatur und der Alterung der Chips abhängen.

MfG Peter(TOO)

Moien

t_RcdRD = 6 (RAS to CAS Delay for Read) z.B. bedeutet, dass
bei einem nominalen Takt von 360 MHz (evlt ist der physikal.
Takt auch nur 180 MHz, weiß ich nicht…) mindestens 6 Takte
von Anlegen der Zeilenadresse (row adress strobe) bis zum
Anlegen der Spaltenadresse (column adress strobe) vergehen
müssen.

Danke, das hilft doch schon weiter. Mit RAS-to-CAS kann ich was anfangen, darüber schreibt ja jedes 0815 Overclockerforum.

Wenn du die anderen Werte auch genau wissen, willst dann
google mal, außerdem kannst du dich in die Speicherarchitektur
von DRAM einlesen, um die Aufgabe der einzelnen Zeiten zu
verstehen.

Werds mal versuchen.

Ich glaube, dass bei allen angefragten Parametern der Speicher
am schnellsten betrieben wird, wenn du die jeweilige Zeit auf
1 setzt (was er aber sicher nicht mitmachen wird). Für
langsameren Betrieb eben größere Werte nehmen. Glaube aber
nicht, dass dadurch die Wärmeerzeugung erheblich reduziert
wird - mit dem Runtertakten des Speichers dürftest du den
Hauptanteil schon geschafft haben.

Ich will halt weiter runter … bis es anfängt im 2D-Betrieb aufzufallen. Zum zocken kann man ja wieder hochstellen. Die Graka wird trotz reduziertem Takt am schnellsten warm und löst den Lüfter schon bei 49°C aus. Die CPU kann bis 70°C warm werden bevor sich der Lüfter meldet. Aber die CPU wird im normalen Officebetrieb eh nur noch 40°C warm.

Danke

Moien

Nun kann man die RAM-Parameter ändern. Welchen sollte man in
welche Richtung drehen ? (Und was bedeutet der ganze Schmorder
eigentlich im einzelnen ?)

Frag doch bitte denjenigen, welcher das Programm geschrieben
hat, welches die diese Parameter angibt.

Hab ich. Der hat die Registernamen und ein kleines Demo-prog für den Zugriff auf die Register von ATI bekommen. Allerdings ganz ohne Doku. Nur Namen, nominal Werte und Lage im Registersatz.

Möglicherweise hat er die Parameterbezeichnungen aus dem
Datenblatt der GPU

Kosten um mal rein zu kucken liegen bei 15000 Euro. Die Doku zum Betrieb als 2D/3D Karte ist einigermassen frei (Knebellizenz, aber ohne Kosten). Aber alles was darüber raus geht (wo, wie, welchen RAM anschliessen,…) wird teuer.

oder dem RAM übernommen

Der RAM ist bei dem Modell auf dem GPU-Chip integriert. Was da genau drin ist weiss keiner. Bei den nicht M-Varianten wird ein anderer RAM verbaut.

Eigentlich ist nicht mal klar ob das Bustakte oder ns sein
sollen. Da die Parameter einstellbar sind, werden sie sich
aber auf irgendeinen Takt im System beziehen. Möglich wäre
auch noch, dass es sich bei den Werten um Registerinhalte des
Buscontrollers handelt.

In der Demodatei von ATI sind alle möglichen Parameter der GPU drin. Von der Spannung des Kerns über der Takt der GPU/RAM bis hin zur Kontrolle des PLL für´s VGA-Signal. Welcher Teil auf welchen Parameter anspricht … ?

Weiterhin kann die keiner so sagen, welche Parameter in
welchen Bereich verstellt werden können. Dies hängt von der
Kombination aus Buscontroller und den verwendeten RAMS ab.

Das war schon klar. Aber in welche Richtung soll die Reise gehen ?

Zudem weiss keiner, was die SOftware aus diesen Parametern
dann eigentlich berechnet oder nicht.

Es schreibt die Werte 1:1 in den Registersatz der GPU. Ohne irgendwelche Checks oder Umwandelungen.

Danke

Anmerkung o.T.
Hallo Peter,
es ging nicht ums schnellermachen, sondern ums langsamermachen wegen Temperatur und Lüfter.
Gruß
loderunner

Hallo loderunner,

es ging nicht ums schnellermachen, sondern ums langsamermachen
wegen Temperatur und Lüfter.

Solange es keine statischen RAMs sind, spielt das keine Rolle !!
Dynamische RAMs haben eine obere und eine untere Grenze beim Timing. Die Daten werden ja in Kondensatoren gespeichert, deshalb die ganze Geschichte mit dem Refresh. Da sowieso kein statischer Betrieb möglich ist, sind teilweise auch die Zwischenregister dynamisch asgelegt, weil das Platz auf dem Chip spart.

Das wird auch der Grund sein, wieso die GPU bei einer zu niederen Taktfrequenz schlapp macht. Die meisten heutigen CPUs haben dynamische Register, haben also auch eine minimale Taktfrequenz.

MfG Peter(TOO)

Hallo Fragewurm,

Nun kann man die RAM-Parameter ändern. Welchen sollte man in
welche Richtung drehen ? (Und was bedeutet der ganze Schmorder
eigentlich im einzelnen ?)

Frag doch bitte denjenigen, welcher das Programm geschrieben
hat, welches die diese Parameter angibt.

Hab ich. Der hat die Registernamen und ein kleines Demo-prog
für den Zugriff auf die Register von ATI bekommen. Allerdings
ganz ohne Doku. Nur Namen, nominal Werte und Lage im
Registersatz.

OK, das ist ja schon mal was :wink:

Das ist natürlich ein Problem. Die Registerinhalte müssen also nicht unbedingt linear mit dem Timing korrelieren …

Das war schon klar. Aber in welche Richtung soll die Reise
gehen ?

Das ist schwer zu sagen, wenn m,an nicht weiss was die Parameter genau anstellen, bzw. wie das Timing abläuft. Grundsätzlich ist der Stromverbrauch proportional zur Anzahl Signal-Flanken. Insofern kannst du alle Parameter, welche die Flanke nur zeitlich gegen eine Andere versetzen, vergessen.
Beim Stromverbrauch bringt nur das etwas, was die Schreib- und Lesezyklen, effektiv verlängert, also den Durchsatz wesentlich veringert.

Das einfachste wäre mit einem Logik-Analysator das Timing zu beobachen, aber wer hat schon so ein Teil zur Hand…

Zudem weiss keiner, was die SOftware aus diesen Parametern
dann eigentlich berechnet oder nicht.

Es schreibt die Werte 1:1 in den Registersatz der GPU. Ohne
irgendwelche Checks oder Umwandelungen.

Aber keiner weiss was sie tun …

MfG peter(TOO)

Moien

Letzter Stand:
mit den Parametern spielen bringt tatsächlich was: weniger Fehler.

Scheinbar ist das Hauptproblem das schreiben von Daten hin zur Graka. Während dem Transfer werden die gerade aktuellen Pixel nicht mehr sauber ausgelesen => Striche von 10-20 Pixel werden „schön bunt“ dargestellt.

Stellt man die Einstellungen rund um RAS-to-CAS hoch werden die Fehler weniger und kürzer. Und bei 70/70MHz bleibt der Lüfter dann ganz aus.

Danke an alle.