Formel zur Berechnung der CAS Latenz

root@linux

Lt. Junior Grade
Registriert
Apr. 2018
Beiträge
393
Hallo,
ich habe auf Wiki diese Formel zu Berechnung von Latenzen gefunden, jedoch fehlt mir der Faktor für die Natürliche Zahl "N".
Kann mir da jemand weiter helfen?

Wikipedia schrieb:
1. Transfer time = 1 ÷ Data rate
2. Command rate = Data rate ÷ 2
3. Cycle time = 1 ÷ Command rate = 2 × Transfer time
4. Nth word = [(2 × CAS latency) + (N − 1)] × Transfer time

1. 1 ÷ 1600 = 0,000625
2. 1600 ÷ 2 = 800
3. 1 ÷ 800 = 0,00125
4. 2 × 8 = 16 + N - 1 × 0,000625 = ?


Data rate = 1600
Cycle time = 8
Was ist "N" ?


Quelle: Wikipedia - CAS_latency
 
So wie ich das verstehe ist N die Spaltennummer des Ram Chips in dem deine Daten liegen oder die Adresse, in die du speichern möchtest.
Springst du mit ddr3 1600 CL8 auf die erste Spalte, dauert es 10ns, springst du auf die achte, dauert es laut der Liste 14,38 ns.

Ich kann mich auch irren, habe nur einen schnellen Blick auf den Wiki Artikel geworfen ;).

Meine Frage an dich wäre....was bringt dir das?
 
Zuletzt bearbeitet:
Soweit ich das verstanden habe, wird mit der Formel die "Row-Active-Time" berechnet, die ja oft vom Hersteller nicht angegeben wird

Beisiel:
CAS Latency (CL) 16
RAS-to-CAS-Delay (tRCD) 18
RAS-Precharge-Time (tRP) 18
Row-Active-Time (tRAS) 38

Wenn ich meine RAM übertakte, muss ich die Timing anpassen, tRAS ist dann unbekannt und muss berechnet werden.
 
das N in der Gleichung ist with das "Nth" Word. Also "7th Word" ist dann 7-1

Eigentlich brauchst du nur diese simple Formel um die Latenz zu berechnen:
2000 / Marketing-Takt * CL-Wert = Latenz in ns

bei DDR4-3200 CL14:
2000 / 3200 * 14 = 8,75
 
Zuletzt bearbeitet:
engine schrieb:
N wird wohl 1,4,8 sein
ja, aber welche?


h00bi schrieb:
Eigentlich brauchst du nur diese simple Formel um die Latenz zu berechnen:
2000 / Marketing-Takt * CL-Wert = Latenz in ns
Wie man Latenzen berechnet weiß ich.



Bei diese Formel geht es sich nicht darum eine einzelne Latenz zu berechnen, sondern einen gesamten Zyklus. Der Zyklus setzt sich aus diesen Timings zusammen:

CAS Latency (CL) 16
RAS-to-CAS-Delay (tRCD) 18
RAS-Precharge-Time (tRP) 18


Daraus wird der Row-Active-Time (tRAS) berechnet. Leider ist es nicht so dass man die Timings einfach nur addiert (16+18+18=52).
Mit dieser Formel wird der richtige Timing für die Row-Active-Time (tRAS) Latenz berechnet.
 
Zuletzt bearbeitet:
root@linux schrieb:
ja, aber welche? ...

Du fragtest, was N ist, was weiß ich, was die da sonst berechnen mit "First word, Fourth word, Eighth word".

Wenn du Berechnungen zu tRAS suchst, nimm das:
https://en.wikipedia.org/wiki/Memory_timings

Andere Formeln kenne ich auch nicht:
tRas = tRCD + 2×CL
oder tRas=CAS + tRP + Sicherheit
oder tRas=CAS + tRP + tRCD

Das ist die minimale Zeit, -x überall geht sicher in gewissen Grenzen.

Andere Formeln kenne ich leider nicht.
 
Danke
Habe seit ca. 5 Jahren nicht mehr bei Wiki nachgesehen, damals waren die Infos sehr dünn, mittlerweile hat sich da was verbessert.

Row-Active-Time (tRAS)
Erlaubte Neuzugriffe nach festgelegter Anzahl von Taktzyklen, setzt sich rein rechnerisch aus CAS + tRP + Sicherheit zusammen.

Quelle: https://de.wikipedia.org/wiki/Arbeitsspeicher


Somit hat sich das Rätsel um das mysteriöse "N" auch erledigt, es steht für eine der Zahlen "1, 4, oder 8" das zur Sicherheit gehört, damit der Speicher etwas Zeit bekommt bis zum nächsten Zyklus.
Dann würde ich mal sagen, wenn die Timings sehr knapp an der physikalischen grenze liegen, sich für die 8 entscheiden, bie nicht so niedrigen Timings 4.

DDR-RAM mit Physikalischen 8 Nanosekunden

RAM-Timings: CL10-10-10-21 (1 Takt mehr zur Sicherheit)
CL10 = 11,11ns, 14400MB/s

RAM-Timings: CL9-9-9-22 (4 Takt mehr zur Sicherheit)
CL9 = 9,99ns, 16000MB/s

RAM-Timings: CL8-8-8-24 (8 Takt mehr zur Sicherheit)
CL8 = 8,88ns, 18000MB/s
 
Zuletzt bearbeitet:
Zurück
Oben