Archiv verlassen und diese Seite im Standarddesign anzeigen : RAM: Takt & Latenz - Optimum ausrechnen?
KinGGoliAth
2005-01-24, 11:21:48
wer kennt das nicht:
neuen ram und / oder neues mainboard (oder auch ne neue grafikkarte) und dann geht es ans oc'en.
am ende steht man fast immer vor der frage was besser ist:
-> höhere latenz bei mehr takt oder niedrigere latenz bei weniger takt?
meistens hilft da nur endlos probieren und testen und benchen usw... :(
kann man irgendwie (wenns geht schnell und einfach ;) ) ausrechnen welche latenz / mhz konstellation welchen datendurchsatz (natürlich rein theoretisch) ermöglicht?
BK-Morpheus
2005-01-24, 11:31:37
wer kennt das nicht:
neuen ram und / oder neues mainboard (oder auch ne neue grafikkarte) und dann geht es ans oc'en.
am ende steht man fast immer vor der frage was besser ist:
-> höhere latenz bei mehr takt oder niedrigere latenz bei weniger takt?
meistens hilft da nur endlos probieren und testen und benchen usw... :(
kann man irgendwie (wenns geht schnell und einfach ;) ) ausrechnen welche latenz / mhz konstellation welchen datendurchsatz (natürlich rein theoretisch) ermöglicht?
So nen Tool wäre echt gut.
Am besten wo man einstellen kann:
AXP, A64 S754, A64 S939, P4
Reftakt, Timings und so ne Art Performancerating, was errechnet wird.
Botcruscher
2005-01-24, 11:49:24
Da die Leistung von der Hard und der Software abhängt und somit für jedes Programm anders ist, wird es solch ein Tool nie geben.
Botcruscher
2005-01-24, 11:51:13
wer kennt das nicht:
-> höhere latenz bei mehr takt oder niedrigere latenz bei weniger takt?
Genau da liegt das Problem. Einige Anwendungen wollen mehr Durchsatz, andere weniger Latenz.
Poweraderrainer
2005-01-24, 12:34:27
und wenn man alles vorher ausrechnet (ausrechnen könnte) und immer alles vor die nase gesetzt bekommt: wo bleibt dann der spaß beim OC? ;)
KinGGoliAth
2005-01-24, 13:35:55
*lol*
ähm ja.
so kann man das auch sehen abeeeer wie in der physik und mathematik ist es doch noch viel prickelnder wenn man seine theorien durch versuche belegen kann und nicht nur durch grobes herumprobieren auf e=mc² kommt ;) .
also?
rechner für sowas?
egal ob anwendung xyz mehr mhz oder abc weniger latenz mag! man muss doch zumindest näherungsweise errechnen können, welche theoretischen werte mit diesen kombinationen aus takt und latenz zu erreichen sind.
edit:
bei memtest86 werden auch die übertragungsraten angezeigt die sich in abhängigkeit von latenz und takt auch verändern. werden die errechnet oder allen ernstes gemessen? :|
Avalox
2005-01-24, 13:36:04
@KinGGoliAth
Ich verstehe Dein Anliegen überhaupt nicht.
Latenzen sind fest vorgegeben und auch Arbeitstakt ist fest vorgegeben.
Ziel des OC ist es, diese vom Hersteller vorgegebenen Grenzen zu verschieben.
Sprich niedrigere Latenzen und einen höheren Takt zu erreichen.
Wenn du nun den Takt änderst, so hat dieses überhaupt keinen Einfluss auf die Latenz. Ebenso hat die Latenz überhaupt keinen Einfluss auf den Takt.
Da gibt es überhaupt nichts zu rechnen, weil es schlicht keinen Zusammenhang gibt.
Ich denke dich irritiert, die Art wie du die Latenzen im System über das Bios steuerst.
Diese werden nämlich in der Anzahl der benötigten Takte angegeben.
Es ist aber "bloß" eine verkappte Zeitangabe.
Wenn du die Latenz mit dem Kehrwert des Taktes multiplizierst, dann erhältst du die absolute Zeit der Latenz.
Bestimmt ein übersichtlicherer Wert, als die Anzahl der Takte anzugeben.
KinGGoliAth
2005-01-24, 13:41:29
hm.
nein avalox ich glaube du hast nicht verstanden worum es mir geht. alle anderen wissen ja was ich will ;) .
mir ist durchaus klar, wie sich takt und latenz auswirken und was das für bedeutung hat.
es geht nur um die frage ob z.b. 166mhz mit 2,0 timings schneller / besser sind als 175mhz mit 2,5 timings.
um das rauszufinden möchte ich gerne was zum rechnen haben anstatt endlos rumzuprobieren was schneller ist.
Das kommt wie gesagt auch sehr stark auf die Anwendung an. Es gibt kein "schneller" in diesem Zusammenhang.
Avalox
2005-01-24, 14:26:34
es geht nur um die frage ob z.b. 166mhz mit 2,0 timings schneller / besser sind als 175mhz mit 2,5 timings.
um das rauszufinden möchte ich gerne was zum rechnen haben anstatt endlos rumzuprobieren was schneller ist.
Du hast mein Post nicht durchgelesen.
Ich stelle mal deine obrige Frage um.
Was ist besser. 166MHz Takt und eine Latenz 1,20e-08 s, oder ein Betrieb von 175MHz und einer Latenz von 1,42e-08 s.
Wenn man es mit absoluten Werten formuliert, dann sieht du schon wo das Problem liegt. Du hast ein Charakteristika absolut beschleunigt, das andere absolut abgebremst.
Und da gilt genau das, was Botcruscher schon sagt. Das es auf das Programm und die Umstände ankommt, ob es ein besser oder schlechter gibt.
Ich denke aber, das ein "Verschlechtern" nicht Ziel eines OC sein sollte.
Bei ca. 208MHz Arbeitstakt hättest du bei einer Latenz von 2,5 Takte wieder ungefähr, das Verhalten von 166MHz und einer Latenz von 2 Takten und keine Nachteile mehr zu erwarten.
KinGGoliAth
2005-01-24, 15:23:08
hmmm... :uponder: :idea:
na gut...ich hatte das unter dem gesichtspunkt der datenübertragung gesehen. hier wird bei dem datenmenge pro zeit einfach die datenmenge (pro zeit, pro takt usw) weggelassen und ein zugriff absolut in zeit dargestellt.
so kann man das natürlich auch sehen. etwas vereinfacht.
das war im grunde auch das was ich wissen wollte. nur halt etwas abgewandelt ;)
micki
2005-01-24, 15:23:10
wirkt sich die latenz nicht nur auf den ersten zugriff aus und wenn man ab da linear liest, dann kommt es nur auf den takt an und nicht mehr die latenz?
oder?
MfG
micki
Avalox
2005-01-24, 17:26:25
Das ist mitnichten viel zu einfach gesehen.
Latenzen sind essenziell. Der Burstmode eine Optimierung von SD Ram, welche unter gewissen Umständen Vorteile bietet und nur im Burstmode erreicht SD RAM die maximale Bandbreite.
Diese Erklärung ist gut gemacht.
http://www.orthy.de/modules.php?name=News&file=article&sid=613
Die einzigen Anwendungen, welche den Burstmode so extrem und ausschliesslich optimal nutzen sind Speicherbenchmarks vom Schlage eines Sandra sein.
Spasstiger
2005-01-24, 17:45:02
Bevor man hier mit Halbwahrheiten und fehlender Fachkenntnis diskutiert (auch ich zähle mich zu den Unwissenden ;-) ), rate ich dazu, sich diese schöne Präsentation über die Funktionsweise des Arbeitsspeichers zu Gemüte zu führen:
http://www.corsairmicro.com/corsair/products/tech/memory_basics/153707/index.html
Es sollte eigentlich schon möglich sein, den Weg eines Datenpakets (128 Bit bei Dual-Channel ?) zurückzuverfolgen und die einzelnen Latenzen auf dem Weg zu beachten. Nur fehlt mir gerade die Lust dazu, diesen Weg Schritt für Schritt zurückzuverfolgen. Aber mit mit Hilfe des obigen Links sollte es kein Problem sein.
So kann man dann theoretisch die minimale Verarbeitungs-Dauer für ein Datenpaket berechnen (bei festgelegten Latenzen und vorgegebenem Speichertakt).
Avalox
2005-01-24, 22:28:32
theoretisch die minimale Verarbeitungs-Dauer für ein Datenpaket berechnen ..
Ja natürlich kann man die minimale Bearbeitungsdauer problemlos berechnen, natürlich kann man auch sonst die Dauer jedes erdenklichen Zugriffsmusters errechnen.
Nur haben tust du davon überhaupt nichts. Denn du weisst nicht, wie verschiedene Anwendungen und diese auch noch in beliebiger Kombination jeweils mit verschiedenen Zugriffsmustern auf den Speicher zugreifen.
Vom Best Case eines einmaligen Burst Zugriffs, zum Worst Case eines zufälligen Zugriffs um einzelne Bits zu drehen.
BlackBirdSR
2005-01-24, 22:37:21
@KinGGoliAth
Wenn du nun den Takt änderst, so hat dieses überhaupt keinen Einfluss auf die Latenz. Ebenso hat die Latenz überhaupt keinen Einfluss auf den Takt.
Da gibt es überhaupt nichts zu rechnen, weil es schlicht keinen Zusammenhang gibt.
Der Takt ist das wichtigste Element der Speicherlatenz.
Je schneller der Chip angesprochen wird (Der Bus ist) desto geringer die Latenzzeiten.
Die Latenzeinstellungen des Speichers im Bios dagegen, legen die maximale Dauer fest, die ein Signal zum Einschwingen beötigen darf. Je niedriger die Zeit, desto geringer der erreichbare Takt des Moduls.
Avalox
2005-01-24, 23:03:11
Der Takt ist das wichtigste Element der Speicherlatenz.
Je schneller der Chip angesprochen wird (Der Bus ist) desto geringer die Latenzzeiten.
... wenn die Anzahl der Takte für die Latenz identisch bleibt. Was allerdings ein theoretischer Ansatz ist. (und entgegen der eingehenden Frage steht)
Da die benötigte Zeit der Latenz aber nun mal auf physikalischen Eigenschaften beruht, ändert sich diese nicht. Es werden mehr Takte bei einer höheren Frequenz benötigt.
Ich denke aber wir reden eh vom selben.
][immy
2005-01-25, 07:28:44
um mal weg von all den theorien zu gehen die eh nur die hälfte der user ansatzweise verstehen...
in der praxis hat sich oft schon gezeigt das 33 Mhz mehrtakt bei cas 2,5 in etwa genauso schnell ist wie normaltakt bei cas 2,0. und bevor mich die theoretiker in diesem thread jetzt auseinandernehmen, das ist bezogen auf die derzeitige praxis (bei 166- 266 mhz taktung bzw DDR333-DDR533)
Avalox
2005-01-25, 09:14:23
von 2T auf 2,5T. Das bedarf genau ein um 25% höheren Takt um den CA in identischer Geschwindigkeit auszuführen.
Die 33MHz gelten deshalb bei DDR266 Speicher.
Endorphine
2005-01-27, 16:04:59
kann man irgendwie (wenns geht schnell und einfach ;) ) ausrechnen welche latenz / mhz konstellation welchen datendurchsatz (natürlich rein theoretisch) ermöglicht? Das ist einfach. Dafür musst du einfach nur einen Blick in das SPD-EEPROM deiner Speichermodule werfen. Dieser "Blick" kann beispielsweise so aussehen:
Endorphine
2005-01-27, 16:28:44
http://www.forum-3dcenter.org/vbulletin/attachment.php?attachmentid=20930 http://www.forum-3dcenter.org/vbulletin/attachment.php?attachmentid=20931
Die maximale Taktfrequenz zu bestimmen ist trivial. Dazu brauch man das Datenblatt nicht, das sollte man beim Kauf des Moduls erfahren (man kann natürlich auch in's Datenblatt blicken).
Nun geht's an die Bestimmung der Waitstate-Timings.
Meist kann man nur eine Hand voll Parameter im BIOS-Setup selbst einstellen. Als da währen die Zykluszeit - das ist das, was landläufig als "Taktfrequenz" bezeichnet wird. Hier stellt man das ein, was das langsamste Modul am Kanal zu leisten vermag. Dabei ist die Frequenz = 1/Periodendauer, also entsprechen beispielsweise die 5 ns eines PC3200-Moduls:
1 / (5*10^-9 Sekunden) = 200.000.000 Hz = 200 MHz
analog haben PC2700-Module 6 ns, PC2100 haben eine minimale Zykluszeit von 7,5 ns, PC2-4200 hat 3,75 ns etc.
Die Zykluszeit ist nun die Basisgröße für alle weiteren (Trivial-) Berechnungen.
Die im BIOS-Setup einstellbaren Parameter sind meist die CAS-Latenz (Speichermatrix-Spaltenzugriffszeit, column access strobe latency), als tCL abgekürzt. Dann darf man oft auch die tRCD (Wartezeit vom Zeilenzugriff bis zum Spaltenzugriff, row access to column access delay - tRCD) und die tRP (RAS precharge, RAS Vorladezeit) einstellen. Und natürlich die unsäglich lange RAS-Latenz.
Also zusammengefasst: Zykluszeit ist die Basisgröße. Üblicherweise kann man noch die tCL, tRCD, tRP und die tRAS einstellen.
Wie findet man jetzt die korrekten Parameter? Dazu brauch man als erstes die Einträge im SPD-EEPROM (serial presence detect EEPROM, darin sind die Zeiten abgelegt, damit das Board die richtigen Werte automatisch einstellt). Nun brauch man noch die Zykluszeit der Taktfrequenz, die man eingestellt hat. Die berechnet sich mit T = 1/f (wie oben beispielhaft getan).
Beispiel: im Datenblatt meines schönen Infineon PC3200-Moduls steht für tCL ein Wert von 3,0 Takten bei einer Zykluszeit von 5 ns. Das ist etwas umständlich: in Byte 18 steht die längste zulässige Zeit und in Byte 9 die dabei maximal zulässige Zykluszeit/Taktfrequenz. Da wir ja die maximale Bandbreite aus dem Speicher 'rausholen wollen wird also 5 ns = 200 MHz eingestellt und dazu passend eine 3,0 Takte lange tCL. Das entspricht einer tCL von 3,0 * 5 ns = 15 ns.
Hat man eine andere Taktfrequenz von z. B. nur 133 MHz = 7,5 ns eingestellt werden kann man dann 15 / 7,5 = 2,0 Takte einstellen. Eigentlich ganz einfach, oder? =)
Weiter geht's... Die kürzeste Zeit für tRCD steht in Byte 19. Und es sind wunderschöne 15 ns. Wir wollen mit 200 MHz taken, haben also immer noch 5 ns Zykluszeit. Das macht dann 15 / 5 = 3 Takte für die tRCD. Supi.
tRP steht in Byte 27 und zeigt auch 15 ns minimale Latenz. Also wieder 3 Takte bei 200 MHz.
tRAS steht in Byte 30 und zeigt auf 40 ns. Bei 200 MHz: 40 / 5 = 8 Takte.
Dieses Modul erreicht also die maximale Bandbreite und minimale Latenz bei einem Takt von 200 MHz und einem Timing von 3,0-3-3-8 (CL-RCD-RP-RAS).
Wenn man andere Frequenzen einstellt und ungerade Teiler 'rauskommen sollte man zugunsten der Stabilität lieber längere Latenzen einstellen. Längere Waitstates schaden nie, kürzere dagegen können zu unmotivierten Abstürzen führen.
Diese Prozedur ist übrigens nichts anderes als das, was das BIOS ausführt, wenn ihr "AUTO" einstellt bei den Timings. Das BIOS nimmt das langsamste Modul und stellt dann entsprechend der oben gemachten Rechnung alles ein, nachdem es die SPD-EEPROMs aller Module ausgelesen und verarbeitet hat.
Ich hoffe, das bringt Klarheit in die Sache.
Edit: bei mir gibt's grad wieder nen Seitenumbruch, so dass der Datenblattauszug auf der letzten Seite steht und die kleine Rechnung einsam und verlassen am oberen Seitenrand. Deshalb editiere ich die Bilder noch mal in dieses Posting 'rein. :)
alpha-centauri
2005-02-16, 11:59:13
Weil sich hier ja doch sehr viele fachlich qualifizierte Leute befinden, besonders im Gegensatz zu anderen Foren, ist noch ne Anmerkung sicher hier von mir angebracht:
Speicher ist Corsair VS mit 2,5-3-3-8-1T
Bei mir ist es aktuell folgend: 3 Ghz @ 3,6 Ghz mit nem FSB von 240 Mhz. Ram Teiler ist auf 5:4 eingestellt und der RAM läuft somit auf 200 Mhz.
Sollte doch eigentlich auch so schnell sein, als wenn ich den FSB auf 200 Mhz und den Ram Teiler auf 1:1 stellen wuerde?
Oder ergibt sich alleine durch den Teiler schon ein Performance Rueckgang?
Ich hab dann mal Probiert bei FSB 200 Mhz und Ram Teiler, sowie mit FSB 240 un Teiler 5:4 CL2 statt CL2,5 einzustellen. Benchmarks stuerzen reproduzierbar ab.
Auch mal bei FSB 200 Mhz hab ich statt 2,5-3-3-8 mal stat beiden 3er 2,5 eingstellt. Katastrophale BLuescreens.
Statt 8 konnte ich Problemlos 6 einstellen. Brachte aber nichts an performance plus.
Obwohl die Speicher mit 2,5-3-3-8-1T angeben werden, kann ich da nur von hand 2T einstellen. Ist 1T schneller als 2T ?
Standardmaessig 2,5-3-3-8-2T bei 1:1 und 200 Mhz FSB laeuft der RAM 1a. 2-3-3-8 kann ich nur bei 390 Mhz DDR einstellen.
Gehe ich auch auf FSB 244 Mhz und hab dann ca 408 Mhz DDR. Das bringt auch die Benchmarks zum Crash.
Was kann ich also tun, um die 408 Mhz stabil zu halten? Volt auf 2,7 stellen hat nix gebracht.
Was stell ich nun 2,5-3-3-8-1T bei anderes oder höher?
Des weiteren: Wwas wäre dann schneller?
Folgende theoretische Kombination:
FSB 240, 2,5-3-3-8-1T, 3,6 Ghz.
oder FSB 244 3-3-3-8-1T und 3,66 Ghz ?
Beim Testen von CL2 zu CL2,5 in 3Dmark hab ich wirklich nur wenig Unterschied gemerkt.
KinGGoliAth
2005-02-16, 12:17:07
zum testen von sowas nimmt man auch nicht 3dmark sondern prime 95, super pi oder meinetwegen auch sisoft sandra.
1T ist merkbar schneller als 2T, kann aber häufig deftige abstürze verursachen.
ich würde die erste sache mit fsb240 nehmen.
aber wie immer kommt auch hier:
probiers beides aus und bench kräftig. dauert zwar ne weile aber danach bist du 100%ig sicher was besser ist ;)
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.