PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie den Speichertakt des a64 errechnen?


Gast
2006-01-09, 22:21:21
Hab mich im Internet und hier im Forum grad etwas umgesehen, aber überall steht was anders. Wie genau errechnet sich der Speichertakt? Ich hab jetz mindestens 5 verschiedene Versionen gesehen.

Hier mal ein paar Beispiele:
Der Speichertakt ist je nach Speicherart (DDR 333, DDR 400, ...) mit einem festen Multi/Teiler an den
- Referenztakt gekoppelt
- CPU-Multi gekoppelt
- CPU-Takt gekoppelt
- frei wählbar

Ich denk jetz einfach mal, dass der Speichertakt vom CPU-Multi abhängig ist, oder?

Denniss
2006-01-10, 02:03:06
AFAIK am Prozessortakt, keinesfalls am Referenztakt oder CPU-Multi

tombman
2006-01-10, 02:59:12
der Speichertakt hängt vom Referenztakt ab, also von den 200mhz. Zu diesem gilt es dann Teiler. 1:1 bedeutet, daß dann auch der Speicher mit 200mhz rennt, 3:4 wäre dann 150mhz, 4:5 160mhz, 5:6 166mhz usw...
Geht natürlich auch höher als 1:1, da läuft der Speicher dann schneller als der Referenztakt...

Madkiller
2006-01-10, 05:23:40
Solche Threads sind in den Hilfe-Foren besser aufgehoben. :)

*move*

BlackBirdSR
2006-01-10, 06:30:08
der Speichertakt hängt vom Referenztakt ab, also von den 200mhz. Zu diesem gilt es dann Teiler. 1:1 bedeutet, daß dann auch der Speicher mit 200mhz rennt, 3:4 wäre dann 150mhz, 4:5 160mhz, 5:6 166mhz usw...
Geht natürlich auch höher als 1:1, da läuft der Speicher dann schneller als der Referenztakt...

In Wirklichkeit hängt der Speichertakt am CPU-Takt, und wird mit Hilfe eines Teilers (z.B. 10 oder 12) direkt aus dem CPU-Takt generiert.

Matrix316
2006-01-10, 10:02:29
Also ich meine, es hängt schon am Teiler und Referenztakt oder früher mal "FSB" ;)

Denn wenn ich den Speicher bei mir auf 166 MHz stelle und dann den Referenztakt auf 250, dann läuft der Speicher auf ca. 208 MHz.

Da der Teiler da wie Tombman schon sagt bei 5:6 ist, lässt sich der Wert einfach errechnen, nämlich (250*5)/6 = ? Genau 208 MHz. Bei (200*5)/6 = ? Exakt, 166,66666... Mhz.

Ob der Takt auch intern so generiert wird ist wiederum eine andere Frage, aber so kann man den berechnen. :)

EDIT: Andererseits fällt mir gerade auf, lässt sich der Takt auch aus dem Teiler der CPU und dem Takt selbst berechnen, was aber etwas komplizierter ist. ;)

Wenn ein A64 2 GHz hat und der Speicher ist auf 166 MHz eingestellt ist das Verhältnis 2000/166 = 12,048... . Wenn man jetzt den Takt auf 2500 MHz erhöht und dann durch die 12,048 teilt, kommt man ebenfalls auf ca. 207,5... MHz Speichertakt. Wobei, es sind aber glaube ich eher 208,irgendwas und keine 207,5, also tippe ich mal, passt das mit dem 5:6 Teiler eher. ;) :rolleyes:

danko
2006-01-10, 10:29:07
Wir könnten ja eine Abstimmung daraus machen! ;D ;D ;D

Ich sage aber auch das der Speichertakt direkt aus dem CPU-Takt mittels Teiler gewonnen wird. Wenn man mal das Tool CPUz auf einem A64-System aufruft kann man sich die Zusammenhänge sehr schön (auch im C&Q-Betrieb) anschauen.

Das bedeutet natürlich das jede A64 CPU einen speziellen Defaultteiler für den Speichertakt hat. Also ein 3000+ hat für DDR400 z.B. einen anderen als ein 3500+ Prozessor.

Die FSB X:Y Teilergeschichten sind nur noch ein Gedankenschatten aus der Athlon XP Ära (noch aktuell beim Pentium 4).


CU Danko

InsaneDruid
2006-01-10, 12:01:33
Der Speicher wird direkt aus dem Prozessortakt generiert, der Speicherkontroller liegt ja auch im Prozessor.

Der Reftakt hat KEINEN direkten Einfluß auf den Speichertakt, nur indirekten darüber, das bei Veränderungen des Reftaktes sich der CPU-Takt ändert, und damit dann auch der Ramtakt.

ABER: gleicht man das zb über den CPU-Multi aus, sieht man das der Reftakt keinen Einfluß auf den Ramtakt hat.


Beispiel:

1800MHz CPU (3000+), läuft mit 200MHz Reftakt*9(CPU Multiplikator)=200MHz

Für 400er Ram wird der CPUTakt durch 9 dividiert. Dieser Divsor ergibt sich aus CPU Originaltakt/Eingestelltem Ramtakt im Bios, und dann aufgerundet.

Da zufälligerweise nun Ref und Ramtakt den gleichen Wert haben, nehmen viele an "das hängt zusammen".

Stellt man nun aber den Reftakt auf 300mhz, und den CPU Multi auf 6, so läuft das Ram mit Divisor 9 immernoch auf 200MHz, da die CPU immernoch auf 1800MHz läuft.

EDIT: natürlich KANN man als User auch über den Referenztakt rechnen, das bezieht sich dann aber immer nur auf den Default-CPU Multiplikator, und ist daher weniger sinnvoll. Gut für Leute, die nicht vom alten FSB/RAM Modell abweichen wollen.

Das wäre dann das bekannte "2/2" für die 200MHz Ram einstellung, oder 2/1,5 für die 166er.

Im obigen Beispiel: @default: (200MHz Ref, CPU Multi 9)

200MHz(Ref)*2/2=200MHz Ram stimmt also im Default

beim geänderten CPU-Multi bricht dieses Kartenhaus aber vollkommen ein:

300MHz Ref: CPU Multi:6

300MHz*2/2=300MHz, das Ram läuft aber NICHT mit 300MHz, sondern mit 200MHz, weil es eben NICHT direkt aus dem Ref gebildet wird, sondern aus dem CPU-Takt.

Matrix316
2006-01-10, 12:40:38
Hmmm...stimmt. Ich hab den Fehler gemacht bei der zweiten Rechnung durch 166 zu teilen und nicht 166,6666666666666666666666666666...;)

Dann kommts auch hin mit den 208,... MHz

stickedy
2006-01-10, 13:38:18
der Speichertakt hängt vom Referenztakt ab, also von den 200mhz. Zu diesem gilt es dann Teiler. 1:1 bedeutet, daß dann auch der Speicher mit 200mhz rennt, 3:4 wäre dann 150mhz, 4:5 160mhz, 5:6 166mhz usw...
Geht natürlich auch höher als 1:1, da läuft der Speicher dann schneller als der Referenztakt...
Autsch, so ein Fehler von dir?

Der Speichertakt vom K8 errechnet sich mittels diverser Teiler direkt aus der tatsächlichen CPU-Taktfrequenz!

Und ist absolut unabhängig vom Referenztakt!!

Madkiller
2006-01-10, 16:48:17
Autsch, so ein Fehler von dir?

Der Speichertakt vom K8 errechnet sich mittels diverser Teiler direkt aus der tatsächlichen CPU-Taktfrequenz!

Und ist absolut unabhängig vom Referenztakt!!
Jap. Interessant ist deswegen nur, wie sich der RAM-Teiler ergibt....

Dazu nimmt man den CPU-Multi nimmt den * 400 und teilt ihn durch die RAM-Einstellung also z.B. (DDR)333 (Wenn im Bios nur die Verhältnisse angegeben werden, rechnet man es einfach damit.

Wenn man also einen 3000+ mit CPU-Multi 9 hat rechnet man wie folgt.

9*400/333= 10,8 oder eben 9*6/5= 10,8

Da es aber nur ganze RAM-Teiler gibt, wird immer auf den nächst höheren aufgerundet.

Man hat also bei einem 3000+ mit DDR333 einen 11er RAM-Teiler. :)

stickedy
2006-01-10, 16:56:16
Ähm... Interessante Rechung und es kommt auch das richtige raus, aber korrekt wäre:
Taktfrequenz in MHz/Speichertakt in MHz (oder von mir aus Referenztakt * CPU-Multiplikator / Speichertakt)
1.800 / 166 = 10,84 bzw. 11
200 * 9 / 166 = 10,84 bzw. 11

333 ist ja keine Takfrequenz, man muss aber mit der Taktfrequenz rechnen damit es korrekt wird. Du verdoppelst einfach den Referenztakt damit das Ergebnis hinerher wieder passt, wenn du durch den doppelten Speichertakt teilst. Kommt zwar das richtige raus, aber eigentlich ist es falsch.

Der reale Speichertakt ist in dem Fall dann
1.800 MHz / 11 = 163,63 MHz

Wenn man die CPU übertaktet, also z.B. auf 1.980 MHz (220 MHz Referenztakt * 9), dann beträgt der Speichertakt 1.980 MHz / 11 = 180 MHz bei der Einstellung DDR333.

Der Speichertakt skaliert zwar mit dem Referenztakt, aber das liegt nur daran, dass der Prozessortakt aus diesem resultiert.

Madkiller
2006-01-10, 17:05:14
Ähm... Interessante Rechung und es kommt auch das richtige raus, aber korrekt wäre:
Taktfrequenz in MHz/Speichertakt in MHz (oder von mir aus Referenztakt * CPU-Multiplikator / Speichertakt)
1.800 / 166 = 10,84 bzw. 11
200 * 9 / 166 = 10,84 bzw. 11

333 ist ja keine Takfrequenz, man muss aber mit der Taktfrequenz rechnen damit es korrekt wird. Du verdoppelst einfach den Referenztakt damit das Ergebnis hinerher wieder passt, wenn du durch den doppelten Speichertakt teilst. Kommt zwar das richtige raus, aber eigentlich ist es falsch.

Nope, meine Rechnung ist genauso richtig wie deine.
Ich habe ja auch nie davon geredet das 333 eine Taktfrequenz wäre, mir kam es ja nur auf das Verhältniss an - deswegen auch meine Andeutung auf das 6/5.

Und für das Verhältniss ist es völlig egal, ob man 400/333(,33333) nimmt, oder 6/5.

stickedy
2006-01-10, 17:20:17
Ja, ich sagte ja, dass das gleiche raus kommt (200/166,66 = 6/5), aber dein Wert 400 ist aus der Luft gegriffen, damit das Ergebniss wegen der "falschen" Frequenz dann doch wieder passt. Oder kannst du mir sagen, woher du die 400 bei einem PC-System bekommst?

Scoff
2006-01-10, 17:20:37
Ich weiss jetzt nicht ob das hier wirklich richtig ist, aber zum besseren Verständnis und zum nachvollziehen sollte es ganz gut sein.

Der Athlon64 OC Calculator: http://home.arcor.de/xxmartin/Calculator/

stickedy
2006-01-10, 17:25:44
Dein Link passt wunderbar! Wobei die Bezeichnung "Chipset" eigentlich falsch ist, weil es sich nur um den Referenztakt handelt, wie der Chipsatz getaktet ist sagt das eigentlich nicht aus.

Madkiller
2006-01-10, 17:29:42
Ja, ich sagte ja, dass das gleiche raus kommt (200/166,66 = 6/5), aber dein Wert 400 ist aus der Luft gegriffen, damit das Ergebniss wegen der "falschen" Frequenz dann doch wieder passt. Oder kannst du mir sagen, woher du die 400 bei einem PC-System bekommst?
Klar, von der wohl bekanntesten Bios Einstellung DDR400 die man dann auf DDR333 in diesem Beispiel verstellen würde. :ugly:

Ich habe es extra so geschrieben, wie es meist im Bios drin steht, um es möglichst n00b-freundlich zu machen.

stickedy
2006-01-10, 17:54:44
Klar, von der wohl bekanntesten Bios Einstellung DDR400 die man dann auf DDR333 in diesem Beispiel verstellen würde. :ugly:

Ich habe es extra so geschrieben, wie es meist im Bios drin steht, um es möglichst n00b-freundlich zu machen.
Ach so hast du das gemeint? Ich dachte, du würdest einfach den Referenztakt verdoppeln damit das Ergebnis passt... :| Hmm... Dann ist dein Ansatz komplett anders als von mir gedacht und damit falsch, weil du keinen Bezug auf die Taktfrequenz nimmst. :confused:

Wie gesagt, es kommt das gleiche raus, aber eigentlich passt es nicht vom logischen Ansatz her. Auch wenn es wohl n00b-freundlicher ist. Andererseits, was interessiert einen die Berechnung des Speichertaktes, wenn man nicht weiss, dass DDR333 mit 166 MHz getaktet ist?

Madkiller
2006-01-10, 17:59:57
Ach so hast du das gemeint? Ich dachte, du würdest einfach den Referenztakt verdoppeln damit das Ergebnis passt... :| Hmm... Dann ist dein Ansatz komplett anders als von mir gedacht und damit falsch, weil du keinen Bezug auf die Taktfrequenz nimmst. :confused:

Wie gesagt, es kommt das gleiche raus, aber eigentlich passt es nicht vom logischen Ansatz her. Auch wenn es wohl n00b-freundlicher ist. Andererseits, was interessiert einen die Berechnung des Speichertaktes, wenn man nicht weiss, dass DDR333 mit 166 MHz getaktet ist?
Bitte meine Posts genauer lesen.
Dann wäre dir nämlich gleich aufgefallen, daß ich mit meinem ersten Post hier nur auf den RAM-Teiler, nicht auf den RAM-Takt eingegangen war, und daß ich mit "DDR333" und "6/5" nur auf die Settings im Bios eingegangen war.