Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Trolleule

Komplett-PC-Aufrüster(in)
Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Hi,
ich wollte mich über die neuen i7 Cores informieren und bin dabei auf mehrere Reviews mit Benchmarks gestoßen. Einer davon behandelt die Core i7 8x und 9x Reihe, die den Tri-Channel Modus beherrscht, aufgrund der 3 Kanäle des IMC, siehe Speicherinterface: Tri-Channel und DDR3-1600 - Intel Core i7: Schneller mit Bremse

Dort wurde festgestellt, dass der Tri-Channel Betrieb keine signifikanten Performancesteigerungen bringt, aber ich verstehe nicht wieso.

Folgende synthetische Bandbreiten wurden gemessen.

Prozessor Channel Lesen Schreiben Kopieren Latenz
Core i7 Tri DDR3-1333 15,5 GB/s 13,8 GB/s 19,4 GB/s 34,3 ns
Core i7 Dual DDR3-1333 14,7 GB/s 13,8 GB/s 18,9 GB/s 29,6 ns
Core i7 Single DDR3-1333 10,3 GB/s 10,3 GB/s 14,3 GB/s 28,5 ns
Core 2 Dual DDR3-1333 8,1 GB/s 8,5 GB/s 7,1 GB/s 68,8 ns
Phenom X4 Dual DDR2-1066 7,6 GB/s 5,0 GB/s 8,6 GB/s 56,3 ns

Ich verstehe nicht, wieso das dort verwendete Testsystem nicht die theoretischen 32 GB/s - die mit 1333 Mhz im Tri-Channel Modus möglich wären (1333 Mhz * 64 * 3)/8 - erreicht, sondern nur halb so viel?

Da der Speichercontroller in der CPU liegt und somit direkt an den RAM gebunden ist, sind für die tatsächliche max. Bandbreite doch nur die CPU und der Speichertakt des RAM (bei DDR3 1333 entspricht der Speichertakt 166 Mhz) ausschlaggebend ggf. ist noch entscheidend in welchem Modus der Speicher arbeitet, denn dadurch verdoppelt oder verdreifacht sich die Bandbreite. Demnach kann diese Limitierung der gemessenen Bandbreite ja nur an der CPU liegen oder?

Könnte mir das bitte jemand erklären, wie sich der geringe Performancezuwachs erklärt und vllt. noch wie sich die tatsächliche max. Bandbreite berechnen lässt.
 
AW: Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Die schlechte Skalierung kann mehrere Ursachen haben:
- Der Speichercontroller ist schlichtweg zu lahm. Das Problem gibt es gerade bei Phenoms ganz gerne, die standardmäßig nicht einmal in der Lage sind, DDR3-1333 voll auszulasten, mit nem übertakteten Speichercontroller gehen dann auch DDR3-1600 und mehr.

- Die Software nutzt nur einen Thread. Das kann ein Problem sein, weil ein einzelner Kern dann einfach zu schwach ist, den Speichercontroller auch auszulasten. Das Problem haben auch moderne Intels noch, aber weitaus weniger ausgeprägt.
Und das kann durchaus gravierend sein. Meiner liest auf einem Thread bei einer Blockgröße von 16MB rund 11.32GB/s. Zwei Threads: 18.55 GB/s. Sechs Threads: 23.06 GB/s, schon mehr als doppelt so viel wie bei einem Thread.

- Der Code ist schlecht. Die höchsten sequenziellen Leseraten aus dem RAM erreicht man auf den meisten Architekturen mit non-temporal prefetching (auf deutsch: Alles in den L1, und was da nicht mehr gebraucht wird, sofort wieder raus - und nicht in die anderen Cache-Stufen), die höchsten Schreibraten mit non-temporal writes (welches die Caches vollständig umgeht). Das muss man aber natürlich explizit so programmieren und wenn man das nicht tut, wird das natürlich auch nichts mit der maximalen Bandbreite.

Die theoretische Leserate wird man in der Praxis aber nie erreichen. Einerseits sind ab einem gewissen Punkt wieder Lookups in der Seitentabelle notwendig (damit die CPU auch weiß, welche Speicheraddresse wo hin gehört - die TLBs, die das abfangen sollen, sind in der Regel relativ klein), andererseits ist auch von einigen Subtimings des RAMs selbst abhängig - wenn da kreuz und quer durch die Gegend addressiert wird, dann ist der eben länger mit dem Auswählen der richtigen Speicherzellen beschäftigt als mit dem eigentlichen Lesen.
 
Zuletzt bearbeitet:
AW: Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Du sagst der Speichercontroller ist zu lahm. Also gibt der Speichercontroller vor, welcher RAM (Taktfrequenz) die best mögliche Performance bringt, ist das richtig?

Beispielsweise der Core i7 965, der für diesen Test verwendet wurde, verwendet als Schnittstelle QPI mit 6,4 GT/s = 25,6 GB/s max. Bandbreite, ist das hier der limitierende Faktor? Die Bandbreite der QPI kann durch anheben des BCLK-Takt noch angehoben werden, das wurde auch im obigen Review gemacht, aber wie erklärt sich dann, dass die übertakteten Core i7 965 beim Bandbreiten Test schlechter abschneiden als der normale?

http://media.bestofmicro.com/J/H/165293/original/005_sandra_mem_int.png

Ist da eigentlich ein großer Unterschied zw. Integer Bandwidth Test und Read/ Write/ Copy Test, beides wird ja in GB/s getestet?

@Atent123 Wenn der Tri-Channel Modus kaum Zuwachs bringt, würde der höher getaktete RAM genauso wenig Zuwachs bringen oder?
 
Zuletzt bearbeitet:
AW: Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Ist da eigentlich ein großer Unterschied zw. Integer Bandwidth Test und Read/ Write/ Copy Test, beides wird ja in GB/s getestet?
Der Integer Bandwidth Test hat keine Aussagekraft, solange man nicht weiß, was genau da jetzt eigentlich getestet wird - und wie. Bei den Read/Copy/Write-Werten kann man sich zusammenreimen, dass die wohl einem Single Thread-Test entstammen, der eben ganz trivial Lese-, Schreib- und Kopierraten testet, wie der Name eben schon sagt.

Du sagst der Speichercontroller ist zu lahm. Also gibt der Speichercontroller vor, welcher RAM (Taktfrequenz) die best mögliche Performance bringt, ist das richtig?
Quasi. Zumindest gibt es irgendwann einen Punkt, ab der mehr RAM-Takt absolut keine zusätzliche Bandbreite mehr bringt, solange man den Speichercontroller nicht ebenfalls übertaktet.

Beispielsweise der Core i7 965, der für diesen Test verwendet wurde, verwendet als Schnittstelle QPI mit 6,4 GT/s = 25,6 GB/s max. Bandbreite, ist das hier der limitierende Faktor?
Möglicherweise, von Intels Architekturen habe ich aber zu wenig Ahnung. Hier mal eine (älterer) Test von nem FX-8150, wo auch einige i7-9xx-CPUs in einem Kopier-Test (multithreaded) antreten - die Werte würden die These zumindest stützen.
 
Zuletzt bearbeitet:
AW: Technische Frage zum Core i7: Wie stehen CPU und RAM im Verhältnis

Hmm

der Core i7 950 3,06 Ghz, hat 3 Kanäle die DDR3 1066 Mhz unterstützen, verwendet als Schnittstelle QPI mit 4,8 GT/s = 19,2 GB/s. Beim Kopieren ist er der Beste.

Der Core i7 2600K hat 2 Kanäle, dafür ein höheren Grundtakt 3,4 Ghz und unterstützt DDR3 1333 Mhz verwendet dagegen DMI als Schnittstelle mit 5 GT/s Bandbreite (soweit ich weiß ist die Anbindung über PCI Express 2.0 mit 16 Lanes und kommt angeblich gerade mal auf eine Bandbreite von 2 GB/s oder noch weniger). Wenn die Bandbreite so gering ist, wie kommt es dann, das er in dem von dir genannten Test im oberen Mittelfeld mitspielt??

Im Test wurde DDR3 1333 Mhz verwendet, daher nehme ich an der Core i7 950 wurde entsprechend übertaktet, was auch die höhere Bandbreite als 19,2 GB/s erklärt.

Ist QPI generell besser als DMI?
 
Zurück