Speicheranbindung bei integrierten Speicher-Controllern.

Silverfang

Komplett-PC-Aufrüster(in)
Hallo alle zusammen,

ich hätte da mal eine Frage zum besseren technischen Verständnis für mich.

Um genau zu erläutern auf was ich mit meiner Frage hinaus will würde ich gerne noch einmal ein klein wenig in der nahen Vergangenheit stochern.

Bei Prozessoren bei denen der RAM noch via FSB an den Prozessor angebunden ist (nehmen wir als Beispiel einmal den Q6600) errechnet sich ja die maximal nutzbare Speicherbandbreite theoretisch wie folgt:

64 Bit Busbreite * 266 MHz Bustakt * 4 Datenpakete / 8 = 8512 MB/s

Um diese komplett auszunutzen konnte / könnte man nun zwei DDR2-533 Riegel im Dualchannel ( Dualchannel = 2 * 64 Bit Busbreite * 133 MHz Core-Takt * 4 Datenpakete / 8 = 8512 MB/s ) oder aber einen DDR2-1066 Riegel im Singlechannel einsetzen ( Singlechannel = 1 * 64 Bit Busbreite * 266 MHz Core-Takt * 4 Datenpakete / 8 = 8512 MB/s ).

Rein rechnerisch ergeben beide Konstellationen den gleichen Durchsatz und könnten so angewandt werden. (Es geht mir hier rein um die Theorie und nicht um die tatsächlich erreichten Werte, wie zum Beispiel durch Effektivität und Verluste usw.)

Wie sieht das ganze denn nun eigentlich bei aktuellen Prozessoren mit integriertem Speichercontroller aus? Laut Intel-Spezifikationen hat der Controller der i7-Serie eine maximale Bandbreite von 25,6 GB/s.

Laut der oben genannten Theorie könnte diese Bandbreite nun durch zwei DDR3-1600 Riegel im Dual-Channel (Dualchannel = 2 * 64 Bit Busbreite * 200Mhz Tak * 8 Datenpakete / 8 = 25.600 Mb/s) oder mit drei DDR3-1066 im Triple-Channel genutzt werden. (Triple-Channel = 3 * 64 Bit * 133Mhz Takt * 8 Datenpakete / 8 = 25.536 Mb/s)

Nun gibt Intel jedoch explizit "Memory Types: DDR3-800/DDR3-1066" an. Bedeutet dies nun tatsächlich, dass meine Rechnung oben nicht aufgehen kann, da der Controller pro Speicherkanal maximal 8,53~ GB/s verarbeiten kann und so auf Triple-Channel angewiesen ist?

Die folgende Grafik würde dies ja bestätigen:

http://www.modreactor.com/images/st...e_i7_nehalem_965_xe/core_i7_nehalem_block.jpg

Ich hoffe ich konnte einigermaßen erläutern auf was ich hinaus will, auch wenn dies nun ein halber Roman geworden ist.
Falls ich irgendwo einen extremen Logikfehler habe, so würde ich mich auch diesbezüglich über eine Aufklärung freuen.
 
Zuletzt bearbeitet:
Intels Maximalangabe beläuft sich auf einen Tripplechanneleinsatz, dies ist natürlich korrekt, theorie hin oder her die Praxis hier ist doch deutlich weit vom theoretischen entfernt da ja der IMC für die gesamte menge teilt und daher auch im Dualchanneleinsatz mehr als 8,53 GB/s pro Channel erlaubt. Jedoch sind im Dualchannel die maximalwerte allein aus praktischen Gründen kaum erreichbar. Hier müsste man außerhalb jedweder Spezifikation von Spannungen seitens Intel arbeiten, also gerade im QPI und PLL/VDIMM Spannungsbereich weit über die Freigabe gehen was den CPU selbst bei Wasserkühlung schneller verheizt.

In der reinen theorie ist es korrekt das 8,5 GB/s pro Channel maximal zur Verfügung stehen. Jedoch ist dieser Wert durch die verschiedenen Anpassungsmöglichkeiten "sehr weit" dehnbar.

Ich habe selber Systeme auf i7 im Dualchannel arbeiten sehen die rein rechnerisch wenn man die Gesamtdurchsatzleistung durch zwei teilt (da ja nur 2 Riegel Montiert sind) weit über die 8,5 auf 11,8 GB/s gebracht haben. Deshalb schreibe ich auch das Theorie von Praxis weit weg ist. Auch der Zusammenhang von IMC Spannung zu CPU Spannung was im prinzip völlig voneinander entkoppelt sein sollte lt. Intel ist nicht wirklich der Fall da es durch die selbe Spannungsstabilisierung geht und dadurch verfälscht Spannungsabgleiche bekommen kann. Dies hatte ich mal auf nem Summit angesprochen, aber Intel macht da strikt dicht und verweist auf die im White Paper stehenden Spezifikationen.

Ist halt beim i7 noch weiter von der Theorie weg als bei Dualchannelsystemen ;)
 
Zuletzt bearbeitet:
Hey,

danke für die Antwort. Hatte schon ein wenig die Hoffnung aufgegeben noch etwas zu lesen. Dass sich die Praxis definitiv anders verhalten wird als die Theorie besagt war mir natürlich klar. Doch bevor man sich an die Praxis machen kann sollte man auch die Theorie dahinter wenigstens einmal angerissen haben.

Was ich nicht ganz verstehe ist, was der QPI mit der Durchsatzrate des Speichers zu tun haben soll. Laut der von mir oben eingefügten Grafik scheint der Speicher eine Direktverbindung zum CPU / Memory Controller zu haben. Wie ich es aus der Grafik entnehme verbindet der QPI die CPU mit dem Chipsatz und nicht mit dem Speicher..

Täusch ich mich eigentlich bei dem Prinzip bei FSB-Systemen? Habe selber immer nur Speicher im Dualchannelbetrieb verbaut und es dadurch nicht selbst testen können. Gab es dort Begrenzungen pro Channel oder wurde der Durchsatz nur durch den FSB vorgegeben?
 
Zuletzt bearbeitet:
Nunja hier passieren zwei Dinge die halt recht frei einzustufen sind. Es bringt bspw. recht wenig wenn deine CPU zum Ram ein unverhältnissmäßig schnellere Anbindung hat als die CPU zum Chipset. Da ja bspw. Grafikkartendaten (Games, CUDA, PhysX, etc.) an den Ram über die CPU/NB geleitet werden. Deshalb ist es in der Praxis so das Du bsp bei einer 1600MHz einstellung des Rams und einem BCLK von 160 bspw. einen entsprechenden Datendurchsatz bekommst z.B. eine plumpe Summe von 19xxx Durchsatz. Geht man vom logischen Uncore von 3200 aus und schaltet diesen jetzt auf 3400/3600 auf, dann erhöht sich bereits der Durchsatz in Richtung 20xxx/21xxx gerade so. Wenn man jetzt hergeht und den BCLK auf 200 aufdreht und damit den Systembus an das Maximum bringt was im normalen noch möglich ist ohne das System zu hart zu fahren bei 1600MHz, bekommt man einen Datendurchsatz von 22xxx im besten Fall. Geht man jetzt daher und setzt 2000MHz Ram ein und fährt den Uncore auf 4000MHz, bekommt man auch die 23xxx Durchsatz, geht man nun her und versucht mehr als 4000MHz, also 4200MHz Uncore Takt zu fahren, kann man auch die 24xxx erreichen, hier ist man dann aber auch in PLL Bereichen die den CPU wirklich Lebensjahre kosten ;) wenn man nun noch an der QPI Spannungsschraube und an der QPI PLL dreht, kann man auch die 25xxx Durchsatz fahren, doch hier ist das System dann kaum dauerstabil ohne WaKü zu betreiben und selbst mit WaKü kostet das ca. 50% der Lebenszeit der CPU und des Boards, der Ram und auch die anderen Komponenten merken davon aber nicht viel (Lebensdauer wird nicht beeinflusst).

Faustregel ist relativ einfach -> Tripple Channel macht mehr Durchsatz als Dualchannel, man kann hier also generell betrachtet auf bsp. 2000MHz verzichten und 1333/1600MHz fahren und wird nicht weniger Durchsatz fahren als bei einem P55 Dual Channel System, welches dort eher auf performanteren Speicher setzen muss um ähnliche Werte zu fahren.

Für den gesamten Betrieb ist der Durchsatz des Speichers <-> CPUs wie ein Kreislauf zu sehen (kleiner Kreislauf oder auch Core BUS) während das Chipset den Großen Kreislauf darstellt welcher den eigentlichen System BUS ausmacht.

Da deine Datenträger (HDD/SSD), USB, Grafik, Expansion SLOT, etc. an dem System BUS bzw. dem Chipset hängen ist ganz klar das die Erhöhung des System BUS im Verhältniss zum Ramtakt geschehen sollte, denn es bringt bspw. wenig wenn man einen Xtreme Core nimmt, den Speicher auf 1866MHz taktet bei 133~137 Standard BCLK, den CPU Multi entsprechend setzt und dann 4GHZ am CPU hat, aber der restliche BUS die Daten weiterhin träger bereit stellt. Deshalb ist auch bei einem Xtreme Core mit freiem Multi das Übertakten des System BUS sinnvoll, der teurere Xtreme Core ist wenn man es genau nimmt ein Anfänger CPU zum einfachen Übertakten, natürlich ist er in den Händen eines Overclockers durch die breitere Auswahl an Multis auch gut aufgehoben, aber für die Meisten doch eher nur ein Gimmik, da man in höheren Bereichen eh kleinere und zwischen Multis braucht und der CPU auch entsprechende Uncorewerte etc. mitmachen muss.

prinzipiell kann man einen i7 der X58 Sockel Ära anhand des Speichercontrollers selektieren, das macht am meisten Sinn, denn umso mehr dieser kann - desto kühler läuft auch die gesamte CPU was wiederum das OC Potential deutlich steigert (nicht nur die GHz der CPU) sondern auch den UnCore und den System Bus.
 
Zurück