GDDR3 und GDDR5 - Unterschiede im internen, realen und effektiven Takt

X-CosmicBlue

PCGH-Community-Veteran(in)
Ich bitte um Erklärungen zu den Unterschieden.
Die Frage taucht in Bezug auf den Beitrag hinter dem Trackback-Link auf und wird in den folgenden Beiträgen von mir genauer erläutert:

Annahme:
Eine Grafikkarte verfügt über GDDR3-Speicher, der intern mit 900MHz taktet (laut Spezifikationen unter GDDR ? Wikipedia eine erlaubt Frequnez), schaufelt Daten mit 1800MHz über die Leitungen, weil ein Signal bei der ansteigenden Flanke, eines bei der abfallenden.
Gleiche Frequenz, GDDR5-Speicher: 900MHz interner Takt, 1800MHz reeller Takt. Effektiv sollen es aber sogar 3.600 sein. Wo kommt diese zweite Verdoppelung her?
 
Ich kopier mal meinen Beitrag aus dem Kommentarfred:

Der effektive Takt ist doch 3600 welcher * SI / 8(bit) die Speicherbandbreite ergibt. Die tatsächliche Geschwindigkeit hängt natürlich von Latenzen ab, aber darum wollen wir uns hier lieber erstmal nicht kümmern^^.
1800 müsste also der I/O Takt von GDDR5 sein, welcher durch den 8-Bit Prefetch erreicht wird. Demnach müsste aber der reale Speichertakt bei 450 Mhz liegen, oder?
 
Offensichtlich haben wir jetzt alle Klarheiten beseitigt :D
Darf ich die Rechnung mal umdrehen?
Dein "realer" Speichertakt - soll sicher der interne sein - liegt in Wirklichkeit bei 900MHz, mal 4 wegen 8bit-prefetch, wie Du es nennst (ich kenne nur 4fach oder 8fach, hat das was mit Bits zu tun? und wieso dann *4 bei 8bit/8fach und *2 bei 4bit/4fach?), macht 3600MHz I/O Takt, würde 7200MHz effektiven Takt ergeben.
Hey, die Graka will ich.

Nee im Ernst: Wir haben beide scheinbar keine Ahnung, wie man in diesem Fall was berechnet.
Ich verweise auf hier zum weiterdiskutieren.

Neinein, du darfst nicht von 900 MHz ausgehen, sondern wie in meinem Beispiel von 450.

Edit: dies ist die antwort auf den nachfolgenden Post^^
 
Gelöscht, da b0s schneller war.

Warum darf ich nicht von 900MHz ausgehen? Der GDDR5-Speicher der Radeon 4870 taktet mit 900MHz, nicht mit 450.
 
nochmal von vorne: wir haben 450 MHz internen Speichertakt (stören wir uns für einen moment nicht an den offiziellen 900)
die 450 MHz würden in momentanen Stadium 450 MHz DDR entsprechen. DDR hat 2 Bit prefetch. Nun haben wir aber GDDR5 was von DDR3 abkommt und einen 8-Bit prefetch hat. (zur Orientierung: DDR2 hat 4-Bit). Der Faktor von DDR zu DDR3 ist also 4 (8/2). 450*4=1800 und damit sind wir schon fast fertig. Nun kommt noch die verdopplung, da wir ja über DDR sprechen (Signal auf steigender und fallender Taktflanke): e voila, wir haben 3600 MHz.
Halten wir fest: 450 MHz interner Speichertakt, 1800 MHz I/O-Takt, 3600 MHz effektiver Takt

So. Ist das jetz alles falsch? :D
 
Bei Wikipedia steht etwas interessantes vielleicht ist das ja des Rätsels Lösung:
"DDR-SDRAM überträgt bei steigender und fallender Taktflanke, bei DDR2 und DDR3 wird der externe Takt gegenüber dem Takt der Speicherchips noch um den Faktor zwei bzw. vier gesteigert, da aus mehreren Speicherchips nacheinander ausgelesen wird."
 
nochmal von vorne: wir haben 450 MHz internen Speichertakt (stören wir uns für einen moment nicht an den offiziellen 900)
die 450 MHz würden in momentanen Stadium 450 MHz DDR entsprechen. DDR hat 2 Bit prefetch. Nun haben wir aber GDDR5 was von DDR3 abkommt und einen 8-Bit prefetch hat. (zur Orientierung: DDR2 hat 4-Bit). Der Faktor von DDR zu DDR3 ist also 4 (8/2). 450*4=1800 und damit sind wir schon fast fertig. Nun kommt noch die verdopplung, da wir ja über DDR sprechen (Signal auf steigender und fallender Taktflanke): e voila, wir haben 3600 MHz.
Halten wir fest: 450 MHz interner Speichertakt, 1800 MHz I/O-Takt, 3600 MHz effektiver Takt

So. Ist das jetz alles falsch? :D
Im Grunde richtig. Nur hat die Berechnung des I/O-Taktes nichts mit der Prefetch-Breite zu tun, sondern ist darauf zurückzuführen was ich in meinem vorherigen Post geschrieben habe. Aber vielleicht ist das ja nur eine andere Beschreibung für das selbe Phönomen?

Und dann bleibt ja noch das Problem, dass der Spreicher intern nunmal nicht mit 450 sondern mit 900 MHz taktet.
 
Das müsste auf die Breite des Prefetchs hinaus laufen.
DDR hat 2 Bit.
DDR2 hat 4 Bit (erwähnter Faktor 2).
DDR3 hat 8 Bit (erwähnter Faktor 4).


Edit: Aha. In wiefern hat den ndann der Prefetch mit dem Takt zu tun und wo macht sich das nacheinander Lesen bemerkbar?
 
...Edit: Aha. In wiefern hat den ndann der Prefetch mit dem Takt zu tun und wo macht sich das nacheinander Lesen bemerkbar?
Das Nacheinander Lesen macht sich beim I/O-Takt bemerkbar:
Aus Wiki:
DDR (interner Takt 200MHz) ->I/O-Takt 200 MHz->effektiv (wegen DDR):400
DDR2 (interner Takt 200MHz) ->I/O-Takt 400 MHz->effektiv (wegen DDR):800
DDR3 (interner Takt 200MHz) ->I/O-Takt 800 MHz->effektiv (wegen DDR):1600
 
ganz genau das hab ich ja auch verstanden (habs auch ausm wiki)

nimm das letzte mal als beispiel
DDR3 (interner Takt 200MHz) ->I/O-Takt 800 MHz->effektiv (wegen DDR):1600

DDR3 (interner Takt 400MHz) ->I/O-Takt 1600 MHz->effektiv (wegen DDR):3200

Radeon 4870: DDR3 (interner Takt 450MHz) ->I/O-Takt 1800 MHz->effektiv (wegen DDR):3600

wo hab ich jetzt den denkfehler?
 
ganz genau das hab ich ja auch verstanden (habs auch ausm wiki)

nimm das letzte mal als beispiel
DDR3 (interner Takt 200MHz) ->I/O-Takt 800 MHz->effektiv (wegen DDR):1600

DDR3 (interner Takt 400MHz) ->I/O-Takt 1600 MHz->effektiv (wegen DDR):3200

Radeon 4870: DDR3 (interner Takt 450MHz) ->I/O-Takt 1800 MHz->effektiv (wegen DDR):3600

wo hab ich jetzt den denkfehler?
Deine Rechung stimmt. Aber Wiki sagt die 4870 hätte einen internen Takt von 900 MHz.
 
Das Nacheinander Lesen macht sich beim I/O-Takt bemerkbar:
Aus Wiki:
DDR (interner Takt 200MHz) ->I/O-Takt 200 MHz
DDR2 (interner Takt 200MHz) ->I/O-Takt 400 MHz
DDR3 (interner Takt 200MHz) ->I/O-Takt 800 MHz

Seh ich nicht ein.
interner Takt 200 MHz DDR -> 400 MHz reeller Takt. 400MHz effektiver I/O-Takt?
interner Takt 200 MHz DDR2 -> 400 MHz reel. 800 MHz effektiver I/O?
intern 200MHz DDR3 -> 400 MHz reel. 1600MHz effektiver I/O?
 
Deine Rechung stimmt. Aber Wiki sagt die 4870 hätte einen internen Takt von 900 MHz.
Ja, das weiß ich ja auch. ABer es ergibt für mich keinen Sinn. Letzendlich können die Hersteller ja auch angeben was sie wollen.

@ Cosmic-Blue
Das D in DDR sorgt ja nur für eine verdopplung. Der einfachheithalber würde ich die mal ans Ende stellen. und dann steht zuerst der interne speichertakt da, und dann der I/O takt und danach kann man auf effektiv (double data rate) verdoppeln.
 
@ Cosmic-Blue
Das D in DDR sorgt ja nur für eine verdopplung. Der einfachheithalber würde ich die mal ans Ende stellen. und dann steht zuerst der interne speichertakt da, und dann der I/O takt und danach kann man auf effektiv (double data rate) verdoppeln.

Nee, der Einfachheit halber kommt das D zuerst.
Denn allen Technologien auf DDR basierend ist das gemeinsam: Ein Signal bei ansteigender Flanke, ein Signal bei fallender. Das ist das erste D.
Alles andere, das mit dem "2" und der "3" hinter DDR eingeführt wurde, wird dann oben drauf addiert/multipliziert.

Darum verdoppel ich ja auch im Beitrag oben erstmal alle Frequenzen:
interner Takt 200 MHz DDR -> 400 MHz reeller Takt. 400MHz effektiver I/O-Takt?
interner Takt 200 MHz DDR2 -> 400 MHz reel. 800 MHz effektiver I/O?
intern 200MHz DDR3 -> 400 MHz reel. 1600MHz effektiver I/O?
 
Zuletzt bearbeitet:
Nicht? Ich komme aber auf andere Werte.

Was mir fehlt sind Formeln für die effektive Datenübertragung. Etwas wie:
Bei SDR nimmst du die Frequenz des Taktgebers.
Bei DDR nimmst du die Frequenz des Taktgebers und multiplizierst mit den Anzahl der Flanken, an denen Signale übertragen werden können.
Bei QDR nimmst du die Frequenz des Taktgebers und multiplizierst mit den Anzahl der Flanken, an denen Signale übertragen werden können mal der Anzahl der Signale pro Flanke.

Und nun das ganze für die Unterschiede zwischen DDR, DDR2 und DDR3 bzw GDDR3 und GDDR5.
 
Seh ich nicht ein.
interner Takt 200 MHz DDR -> 400 MHz reeller Takt. 400MHz effektiver I/O-Takt?
interner Takt 200 MHz DDR2 -> 400 MHz reel. 800 MHz effektiver I/O?
intern 200MHz DDR3 -> 400 MHz reel. 1600MHz effektiver I/O?
Was Wiki I/O-Takt nennt, hat PCGH_Marc als realer Takt bezeichnet. Das ist der Takt über den der Speicher mit dem Memory-Controller verbunden ist. Die Formel dafür ist:
DDR: intern*1
DDR2: intern*2
DDR3: intern*4
Die Angabe des Effektiv-Taktes(*2 wegen DDR) ist im Grunde obsolet und stellt nur einen Bezug zu SDR-DRAM her.

Ich denke, dass b0s absolut Recht hat. Entweder hat die 4870 wirklich nur einen internen Takt von 450 MHz (und AMD hat der PR wegen verdoppelt) oder wir haben irgendwo in der Rechnung einen Fehler drin.
 
Zuletzt bearbeitet:
Dann denke ich eher, das die 900MHz intern stimmen. Dann kommen wir auf 1.800 MHz reellen Takt, dur das DDR. Und dann der DDR3-Spezifikation mit den parallelen DQ Links auf 3.600 MHz effektiven Takt.

Sonst macht das keinen Sinn, das in diesem Arkeil - vor der Verbesserung - 3.800 MHz erwähnt wurden, bei 975MHz internem Takt.

Von 450MHz zu 3.600 wäre ja ein Multiplikator von 8. Bei GDDR5 und DDR3 Speicher gibt es aber bloß einen Multiplikator von 4, mal zwei wegen DoubleDataRam, und dann nochmal mal 2 wegen der parallelen DQ Links, was immer das dann sein mögen.

Ich verweise mal auf diesen Beitrag.
 
Dann denke ich eher, das die 900MHz intern stimmen. Dann kommen wir auf 1.800 MHz reellen Takt, dur das DDR. Und dann der DDR3-Spezifikation mit den parallelen DQ Links auf 3.600 MHz effektiven Takt.

Sonst macht das keinen Sinn, das in diesem Arkeil - vor der Verbesserung - 3.800 MHz erwähnt wurden, bei 975MHz internem Takt.

Von 450MHz zu 3.600 wäre ja ein Multiplikator von 8. Bei GDDR5 und DDR3 Speicher gibt es aber bloß einen Multiplikator von 4, mal zwei wegen DoubleDataRam, und dann nochmal mal 2 wegen der parallelen DQ Links, was immer das dann sein mögen.

Ich verweise mal auf diesen Beitrag.

Laut Wikipedia hat aber DDR3 doch den Multiplikator 8 (2 wegen DDR und 4 wegen der 4 DQ Links. DDR2 hat nen Multiplikator von 4 (2 wegen DDR und 2 DQ Links).
 
Zurück