Das habe ich berechnet. DIMM-Speicher haben 64-Bit-Datenpfade. Das bedeutet, dass sie 64 Bit Daten pro Taktzyklus verarbeiten können. Da DDR1-RAMs jedoch die doppelte Datenmenge verarbeiten können, sollten sie 128 Bit Daten pro Sekunde verarbeiten können. Das verwirrt mich. Wenn ich die Bandbreite eines DDR1-333-MHz-RAMs berechne und dabei berücksichtige, dass er 64-Bit-Daten pro Sekunde überträgt, ergibt die auf dem RAM-Riegel angegebene Bandbreite Sinn, aber die Berechnung ergibt keinen Sinn, wenn ich dieselbe Formel mit 128 Bit pro Sekunde anwende.
Die Formel, die ich angewendet habe:
(333 * 10^6 * 64) / (8 * 1000 * 1000) = 2664 MB/s (makes sense)
(333 * 10^6 * 128) / (8 * 1000 * 1000) = 5328 MB/s (doesn't make sense)
Was ist falsch an meiner Berechnung? Idealerweise sollte sie für die 128-Bit-Version korrekt und für die 64-Bit-Version falsch sein.
Antwort1
Wikipediagibt die Formel
Übertragungsrate (in Bytes/s) = (Speicherbus-Taktrate) × 2 (für Dual Rate) × 64 (Anzahl der übertragenen Bits) / 8 (Anzahl der Bits/Byte).
Außerdem gibt es eine Tabelle, aus der hervorgeht, dass die Taktrate von DDR-333 tatsächlich 166⅔ MHz beträgt. Die „333“ bezieht sich auf die Übertragungsrate (bereits an beiden Taktflanken).
Daher kommt Ihr Fehler von einem Faktor 2.
Beachten Sie auch, dass die tatsächlich durchschnittlich erreichbare Geschwindigkeit geringer ist, da der Adressierungsteil des Buszyklus ebenfalls Zeit in Anspruch nimmt.