PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DRAM Auto-Precharge


BlackArchon
2005-05-12, 12:43:24
Im BIOS des Shuttle SN45GV3 (Nforce 2 Ultra 400/RAID MCP) finde ich die Option 'DRAM Auto-Precharge'. Was bewirkt das? Als Erklärung steht nebenbei folgendes:Write with Auto Precharge:
If Auto-Precharge is enabled, the row being accessed will be precharged at the end of the WRITE burst;
If Auto-Precharge is disabled, the row will remain open for subsequent accesses.Ich hab schon bei www.bios-info.de nach der Option gesucht, auch in deren Forum. Aber nichts richtiges gefunden. Bei Google erfahre ich nur, dass das besser deaktiviert sein sollte. Aber was ist das eigentlich? Was macht diese Option? Ist sie performancerelevant?

DrumDub
2005-05-12, 13:02:40
ich denk mal das genz bezieht sich hierauf:

Row Precharge Timing(tRP)

Settings = Auto, 0, 1, 2, 3, 4, 5, 6, 7

This is the third timing that most ram companies rate there ram with. For example, you might see ram rated at 3-4-4-8 @275mhz. this is the second 4, in that situation.

”This BIOS feature specifies the minimum amount of time between successive ACTIVATE commands to the same DDR device. The shorter the delay, the faster the next bank can be activated for read or write operations. However, because row activation requires a lot of current, using a short delay may cause excessive current surges. For desktop PCs, a delay of 2 cycles is recommended as current surges aren't really important. The performance benefit of using the shorter 2 cycles delay is of far greater interest. The shorter delay means every back-to-back bank activation will take one clock cycle less to perform. This improves the DDR device's read and write performance. Switch to 3 cycles only when there are stability problems with the 2 cycles setting.” http://www.dfi-street.com/forum/showthread.php?t=11397

mit "auto" wird nach jedem write burst wird die row wieder precharged, was performance kostet, aber wohl für die stabilität ganz gut ist.

BlackBirdSR
2005-05-12, 13:05:04
Wenn ein Zugriff auf eine Speicherzelle stattfindet, muss erstmal eine ganze Reihe an Zellen in sogenannte Amplifier geladen werden.
Also ein Precharge. Erst dann lässt sich das gewünschte Datum auslesen.

Will man jetzt allerdings an einer anderen Stelle im Speicher etwas machen, muss man die momentan eingelesen Reihe erst wieder zumachen.
Das kostet Zeit.

Auto-Precharge schließt die Seite nach einem Zugriff und ermöglicht so das spekulative vorrausladen einer anderen Seite.
Fällt ein Speicherzugriff jetzt aber wieder in die vorhin benutzte Seite, verliert man auch Zeit.

Meistens geht man davon aus, dass Zugriffe nicht völlig willkürlich im Speicher erfolgen, sondern oftmals zusammenhängende Blöcke im Speicher auslesen.
Die Seite daher offen zu lassen und nicht gleich zuzumachen, scheint daher die bessere Lösung.

BlackArchon
2005-05-12, 13:12:40
@DrumDub: Also wäre enabled etwas langsamer, aber dafür stabiler? Warum empfiehlt dann Shuttle für ein ziemlich ähnliches Mainboard (http://de.shuttle.com/en/desktopdefault.aspx/tabid-99/205_read-5221/ und http://eu.shuttle.com/de/desktopdefault.aspx/tabid-99/205_read-5221/) das auf disabled zu stellen? Die werden doch sicher eher auf Stabilität setzen in ihren FAQs.

@BlackBirdSR: Danke für die Erklärung, das klingt logisch. Also lasse ich die Option auf disabled.

Jetzt würde mich nur noch rein interessehalber interessieren, warum Shuttle auf dem Schwesterboard disabled empfiehlt, diese Option sollte doch gar nichts an der Stabilität ändern, oder?

GloomY
2005-05-12, 15:16:27
ich denk mal das genz bezieht sich hierauf:”This BIOS feature specifies the minimum amount of time between successive ACTIVATE commands to the same DDR device.Die Erklärung dazu stimmt nicht. So wie der Text hier lautet, hört es sich nicht nach tRP sondern nach tRRD (Row-to-Row Delay) an. Das sieht man u.a. auch daran, dass weiter unten bei tRRD genau die gleiche Erklärung wie bei tRP steht (bis auf ein "3 cycles or higher" statt "3 cylces").

tRP ist einfach die Zeit, die zum Schliessen einer Page benötigt wird.

http://www.dfi-street.com/forum/showthread.php?t=11397

mit "auto" wird nach jedem write burst wird die row wieder precharged, was performance kostet, aber wohl für die stabilität ganz gut ist.Jep. Es kostet dann Performance, wenn der nächste Zugriff wieder in die gleiche Page fällt, was nicht gerade unwahrscheinlich ist (räumliche Datenlokalität).

Auto-Precharge ist so ein Feature, bei dem ich den Sinn nicht ganz verstehe. Der Speichercontroller kann ohne Auto-Precharge auch selbst ein Precharge Command veranlassen, wenn er weiss, dass der nächste Speicherzugriff nicht in der gleichen Page liegt. Das geht dann auch nicht langsamer als mit Auto-Precharge, wo das DRAM selbst die Page schliesst.
Insofern sehe ich - aus Performance-Sicht - keinerlei Gründe für Auto-Precharge. Stabilität ist auch kein Thema, weil der Speicher auch ohne Auto-Precharge stabil läuft.
Ich könnte mir höchstens denken, dass eventuell der Stromverbrauch etwas damit zu tun hat. Wenn die Sense Amps nicht geladen sind, verbrauchen diese höchstwahrscheinlich auch weniger Strom. Das muss man gegen den Fall abwägen, wo man mehrmals auf die gleiche Page zugreift und somit bei Auto-Precharge einmal mehr die Page schliesst und wieder öffnet. Diese beiden Operationen kosten eine Menge an Energie und werden bei zwei Zugriffen in die gleiche Page ohne Auto-Precharge nicht benötigt.

DrumDub
2005-05-12, 15:22:53
gloomy

danke für die erklärung... :)