Archiv verlassen und diese Seite im Standarddesign anzeigen : CPU-FSB vs Speicher-Durchsatz
Ritschrum
2007-07-08, 01:57:48
Hallo,
ich habe ein kleines Logik-Problem beim Thema Speicherdurchsatz. Einmal folgende Hardware angenommen:
- Intel Core2 6xxx mit einem default FSB von 1066 Mhz (266Mhz Quadbumped)
- Intel P965 Chipsatz
- 2 x DDR2 mit 800 Mhz und im DualChannel-Betrieb
Der RAM hat einen theoritschen Durchsatz von 12,8 GByte/s (800Mhz * 128bit / 8 = 12,8). Vom CPU zur Northbridge habe ich 8,5 GByte/s (1066Mhz * 64bit /8 = 8,528).
Der Flaschenhals ist in diesem Fall der FSB zwischen CPU und Chipsatz. Diese Begründung findet man auch zuhauf in jeder OC-RAM-Review und ist auch jedem einleuchtend. Beim Nforce2 war die Differenz noch schlimmer :D
In der Praxis ergibt sich ein Durchsatz von ca 6 GByte/s. Die 6 GB + etwas overhead passen schon ganz gut zu den errechneten 8,5 GB-max.
Jetzt zu dem eigentlichen Problem:
In meinem Fall kann ich den FSB auf 1600 Mhz schrauben. Dies ergibt einen Durchsatz von 12,8 GByte/s. Super habe ich gedacht, dass passt ja super zu den 800Mhz Dualchannel-Modulen, die ja ebenfalls einen Durchsatz von 12,8 GByte/s bieten.
Die Ergebnisse sind leider etwas ernüchternd. Jetzt habe ich einen Durchsatz von 6,5 GByte/s, also nur 500 MB mehr :confused:
Ich habe mir bis jetzt so einige Artikel und Test angesehen, aber noch keine wirklich zufriedenstellende Antwort gefunden, nur dass es ein allgemeines Phänomen ist und keine Fehlkonfiguration meinerseits :wink:
Woran kann es liegen?
Meine Gedankenspiele:
- für die Differenz zwischen 6,5GB und 12,8 kann kaum overhead die Antwort sein.
- es kann doch eigentlich auch nicht an einer schlecht implementierten Dualchannel-Funktion in der Northbridge liegen. Das parallele Schreiben auf RAM und Flash laufwerken ist eine verhältnismäßig einfache Logik und geht daher mit einer fast 100%igen Leistungsverdoppelung einher (nicht so wie bei RAID oder SLI ;D).
- Timings ? Ich kann zwar nicht genau jeden Wert bei den RAM-Timings definieren, aber das Ansprechverhalten vom RAM kann nicht solche Auswirkungen auf den Durchsatz haben.
Ich persönlich glaube an eine mangelnde Leistung der Northbridge. Denke sie kann einfach keine 12,8 gb zwischen CPU und RAM durchschaufeln. Nen Beleg bzw Kennzahlen dafür habe ich nicht, kommt mir aber am logischsten vor. Zumindestens sehe ich die Aussage "der CPU-FSB limitiert" (siehe auch hier den DDR3 Artikel) als falsch an.
Würde mich freuen, wenn jemand was genaues dazu weiß. Evt habe ich ja eine totale Fehlannahme.
Gruss
Ritschrum
patrese993
2007-07-08, 02:40:47
ich denke, das liegt an den Straps des 965er Chipsatzes.
Boote mal mit 380 FSB und schraub ihn hinterher im Windows hoch ;)
Ich komm mit meinem 975x bei 400 FSB auf über 8k...
Manche Mainboards entschärfen die internen Timings bei bestimmten FSB-Grenzen.
Das ist das normal. Die Boards von ASUS sollen das nicht tun.
Die Timings spielen aber auch eine erhebliche Rolle. Zwischen CL5-5-5-15 und CL3-3-3-8 liegen noch einmal Welten!
Neben den bereits genannten Details geht natürlich Bandbreite verloren. Ein integrierter Speichercontroller wäre noch ne ganze Ecke besser.
Die theoretischen Maximalwerte wird man niemals erreichen, denn:
DDR2-Bandbreite ist theoretisch
FSB Bandbreite ist theoretisch
In der Praxis liegt die Effizienz weit weg von 100%.
Superheld
2007-07-08, 10:10:39
hab mich auch schon gefragt was da nicht stimmt:|
http://www.xtremesystems.org/forums/showthread.php?t=150291
die Bandbreite müsste doch viel höher sein:)
Nein. Das ist vom Mainboard abhängig!
Gigabyte arbeitet z.B. mit entschärften Timings, ASUS nicht.
Bei manchen Mainboards gibts auch noch ne Fast/Turbo/Extreme Option, die aber nicht mit jedem RAM funktioniert.
Das Gigabyte DS3 spuckte bei mir auch fast 1,5GB/s weniger aus als ein P5K.
Die reale Leistung ändert sich damit aber kaum.
Ein nForce 680i liefert übrigens die höchsten Werte beim Speicher, ist in realen Anwendungen aber sogar teilweise langsamer als die P35s.
BlackBirdSR
2007-07-08, 10:40:08
Ist doch alles so, wie es sein soll...
1. Effektive Bandbreite ist eine Funktion der Latenz. Daraus folgt, dass alle nicht gepufferten, gestellten und künstlich begünstigten Tests niemals den maximalen Durchsatz erreichen.
2. Effektive Banbreite ist eine Funktion des Zugriffsmusters. Das bedeutet, dass maximale Bandbreite nur im Falle der optimalen Verteilung der Daten und des optimalen Zugriffs auf die Adressen voll ausgenutzt werden kann.
3. DualChannel mit 128 Bit, bedeutet 1 Controller mit 128 Bit breiter Anbindung. Der Speicher wird nicht über 2 unabhängige Moodule angesprochen, und der Controller verteilt die Daten nicht abwechselnd links/rechts im Channel nach einem festen Algorithmus. Viele Daten sind nicht 1:1 Trennbar auf 2 versch. Adressbereiche.
4. Cache puffert extrem viele Speichernafragen ab, viele Zugriffe auf den RAM sind wirklich R, also Random und daher nicht unbedingt Streamingfreundlich. Streaming ist eine der Vorraussetzungen für maximale effektive Bandbreite.
5. Bandbreite ist nicht Alles. über 95% aller Anfragen befinden sich im L2-Cache der CPU. Bei einem Speicherzugriff bricht die Leistung automatisch stark ein. Es werden jedoch nur selten ganze Datenbanken benötigt, sondern wenige Informationen, die gerade eben nicht im Cache waren.
Die meisten Zugriffe benötigen also wenig Daten, und das auch nur kurzzeitig und dann wieder aus dem Cache.
Als Folge ist nicht effektive Banbbreite über einen längeren Zeitraum, sondern die Latenz mit einer der wichtigsten Faktoren.
6. Latenz nimmt auch für DDR2-800 bei kleinerem FSB ab, eventuelle Verluste durch asynchrone Betriebsweise beachten.
7. Überschuss von 6GB/s etc gibt es nicht. Speicher arbeitet nicht mit maximaler Effizienz. DDR2-800 liefert durch höheren Takt auch bei kleinerem FSB mehr. Der höhere FSB selbst bringt dann auch nur noch wenige %.
Beide gleichzeitig von 266MHz auf 400MHz zu erhöhen bringt spürbarere Erfolge.
8. Speicherbandbreite ist zu einem PR-Begriff geworden. Die tatsächliche Arbeitsweise des I/O-Verbunds wird pervertiert und extrem abstrahiert.
Ritschrum
2007-07-08, 11:16:55
Danke, merke ich habe die Frage ins richtige Forum gestellt =)
Mir ist klar, dass man zum einen nur von einem theoritschen Maximum sprecht und dass es in der Praxis relativ wenig Mehrleistung bringt. Zwischen Core2 + DDR2-533 oder DDR2-800 liegen nur 2-4%.
Mir gehts nur darum zu sagen, wie es zu einer solchen Differenz kommt und den Standart-Spruch "der CPU-FSB limitiert" zu hinterfragen.
Die meisten Zugriffe benötigen also wenig Daten, und das auch nur kurzzeitig und dann wieder aus dem Cache.
Als Folge ist nicht effektive Banbbreite über einen längeren Zeitraum, sondern die Latenz mit einer der wichtigsten Faktoren.
Denke, dass ist das schlagenste Argument. Sollte sich aber auch messen lassen können. Ich versuche mal ein Stück Software zu finden, mit dem ich die Peakleistung raus bekommen kann.
Zum Thema entschärfte Timings. Es handelt sich bei mir um ein ASUS P5B-E. Habe auch testhalber den RAM-Takt auf 533 Mhz und die Timings auf 3-3-3 gestellt. Damit war ich bei 5,3 GB/s. Bei 800 Mhz liegen Timning bei 4-5-5.
Aber wie gesagt, ich versuche einmal die Peakleistung zu messen. Bei den meisten Benchmarks sieht man ja nicht, wie die Werte zustande kommen.
Gruss
Ritschrum
BlackBirdSR
2007-07-08, 11:42:03
Zum Thema entschärfte Timings. Es handelt sich bei mir um ein ASUS P5B-E. Habe auch testhalber den RAM-Takt auf 533 Mhz und die Timings auf 3-3-3 gestellt. Damit war ich bei 5,3 GB/s. Bei 800 Mhz liegen Timning bei 4-5-5.
Aber wie gesagt, ich versuche einmal die Peakleistung zu messen. Bei den meisten Benchmarks sieht man ja nicht, wie die Werte zustande kommen.
Gruss
Ritschrum
Die interessante Frage ist jetzt, wie verhält sich die Performance in Programme (z.B encoding) und in Spielen, wenn du "nur" 5.3GB/s theoretisch hast.
Wenn du die Peakleistung mit allen Tricks und bösem PR haben willst, empfehle ich dir z.B SiSoft Sandra. Sollte ziemlich hohe Werte ergeben.
Ritschrum
2007-07-08, 12:05:52
Habe SiSoft Sandra bis jetzt auch genutzt. 6500 lesen, 6500 schreiben. Obs die peak oder average-Werte sind weiß man leider nicht.
Wenn du die Peakleistung mit allen Tricks und bösem PR haben willst
Das die max-Angaben PR sind ist klar, aber in diesem Fall will ich die Peakleistung nur zur Überprüfung. Das kommt dabei raus, wenn man ein freies WE + schlechtem Wetter hat ;)
Gruss
Ritschrum
@sry für doppelpost
Theorie vs Praxis:
http://i2.neoseeker.com/a/asus_p5wdh/0sandra_mem.png
http://i2.neoseeker.com/a/asus_p5wdh/0doom3.png
(i975 vs P965), letzterer arbeitet mit entschärften Timings.
In synthetischen Benches ist der 975 fast unschlagbar, in der Praxis macht das fast nichts aus.
Bei Standardtakt sind die Timings meist auch sehr viel schärfer.
Hängt also in erster Linie vom Mainboard ab. der nForce 680i ist zur Zeit der synthetische Memory-Performance-Sieger. ;)
Habe übrigens mit FSB1600 und DDR2-800@4-4-4-12 knapp 7900 MB/s bei EVEREST auf einem P5K.
patrese993
2007-07-08, 12:26:33
Theorie vs Praxis:
http://i2.neoseeker.com/a/asus_p5wdh/0sandra_mem.png
http://i2.neoseeker.com/a/asus_p5wdh/0doom3.png
(i975 vs P965), letzterer arbeitet mit entschärften Timings.
In synthetischen Benches ist der 975 fast unschlagbar, in der Praxis macht das fast nichts aus.
Bei Standardtakt sind die Timings meist auch sehr viel schärfer.
Hängt also in erster Linie vom Mainboard ab. der nForce 680i ist zur Zeit der synthetische Memory-Performance-Sieger. ;)
Habe übrigens mit FSB1600 und DDR2-800@4-4-4-12 knapp 7900 MB/s bei EVEREST auf einem P5K.
ach Du heilige Sch***** :eek:
die haben ein P5W auf 455 FSB gebracht!!! Auch will :uwoot:
Ritschrum
2007-07-08, 13:05:03
Habe EVEREST probiert, da liege ich bei 7000 lesen und 3000 schreiben. Denke das deckt sich mit deinen 7900, wenn ich die timings etwas verschärfen würde.
Aber bei Everest ist auch nicht einsichtig, wie gemessen wird. Schon der vergleich zwischen dem Schreiben-Bench von Sandra (6500 kbyte) und Everest (3000 kbyte) sagt doch viel aus, als ob man Äpfel mit Birnen vergleicht.
Den passenden peak-Benchmark hab ich noch nicht gefunden.
Gruss
Ritschrum
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.