CAS latency

CAS latency, CL (ang. column address strobe latency, opóźnienie bramkowania adresu kolumny) – czas utajenia (opóźnienie, czas dostępu), mierzony liczbą cykli zegara, jaki upływa między wysłaniem przez kontroler pamięci RAM żądania dostępu do określonej kolumny pamięci a otrzymaniem danych z tej kolumny przez kontroler.

Im niższa jest wartość CAS latency (przy danej częstotliwości taktowania), tym krótszy jest czas potrzebny na pobranie danych z pamięci – inaczej mówiąc: „im krótszy czas utajenia, tym lepiej”. Czas utajenia wpływa bowiem na szybkość wykonywania w pamięci operacji, takich jak pobranie kolejnej instrukcji do wykonania przez procesor (odczyt, zapis, porównanie, przesunięcie bitowe itp). Im dłuższy czas oczekiwania, tym dłużej procesor musi czekać na reakcję ze strony pamięci. Można przyspieszyć działanie pamięci stosując tzw. przeplot (ang. interleaving), co pozwala na rozdzielenie operacji zapisu na kilka banków pamięci lub stosując pamięć podręczną (ang. cache), umożliwiającą tymczasowe przechowywanie przetwarzanych danych w celu synchronizacji z modułami pamięci.

Większość producentów pamięci dynamicznych (DRAM) podaje parametr CAS latency w nazwie konkretnego modelu; niektórzy podają go bezpośrednio, np. CL15.

Pozostałe parametry pamięci

  • RCD (RAS to CAS Delay; RAS – Row Access Strobe; CAS – Column Access Strobe) – czas jaki upływa od zakończenia wykonywania polecenia aktywacji konkretnej kolumny (CAS), do rozpoczęcia wykonywania polecenia aktywacji konkretnego wiersza (RAS).
  • RP (RAS Precharge; RAS – Row Access Strobe) – czas jaki upływa między wykonaniem polecenia zamknięcia dostępu do wcześniej aktywowanego wiersza a rozpoczęciem wykonywania polecenia aktywacji kolejnego.
  • RAT (Row Active Time) – czas jaki upływa od żądania wykonania polecenia aktywacji wiersza aż do jego dezaktywacji.
  • CR (Command Rate) – czas jaki upływa pomiędzy poleceniami adresowania dwóch niekoniecznie różnych komórek pamięci.

Opóźnienia CL, RCD, RP według specyfikacji JEDEC, dla poszczególnych częstotliwości w pamięciach typu DDR2, powinny wynosić:

  • DDR2-400 – 3-3-3, 4-4-4
  • DDR2-533 – 3-3-3, 4-4-4
  • DDR2-667 – 4-4-4, 5-5-5
  • DDR2-800 – 4-4-4, 5-5-5, 6-6-6

Parametr RAS JEDEC podaje w nanosekundach. Dla wszystkich standardów oprócz DDR2-400 3-3-3, gdzie ma on wartość od 40 do 70.000, powinien wynosić od 45 do 70.000.

Całkowity ciąg opóźnień

CL-RCD-RP-RAS - RC-RFC-CR-RRD-WR-WTR-RTP

Wpływ na szybkość dostępu do pamięci

Synchronous DRAM ma CAS latency, która jest uzależniona od taktu zegara. W związku z opóźnieniami CAS parametry modułu pamięci SDRAM określane są w cyklach zegarowych, a nie w czasie rzeczywistym.

Ponieważ moduł pamięci ma wiele wewnętrznych banków, sygnał wyjściowy może być zajęty w 100%, bez względu na opóźnienie CAS, poprzez pipelining. Niestety, ta maksymalna przepustowość może być osiągnięta jedynie wtedy, gdy znacznie wcześniej przed samym odczytem wiadomo które dane mają być odczytane, jeśli tego nie wiadomo, może nastąpić zjawisko hazardu, którego skutkiem będzie znaczny spadek wydajności. W wypadku całkowicie nieprzewidywalnego dostępu do pamięci, właściwym czasem opóźnienia jest: czas zamknięcia otwartego wiersza plus czas potrzebny na otwarcie nowego (RAS). Z uwagi na to, że operacje zapisu/odczytu są często wykonywane na sąsiadujących danych w jednym wierszu, do określenia opóźnienia wystarczy wtedy sam parametr CAS.

Ponieważ w nowoczesnych modułach pamięci opóźnienia (CAS) określane są w cyklach zegarowych a nie w czasie, aby dokonać rzetelnego porównania przy różnych częstotliwościach taktowania modułu należy przeliczyć podane opóźnienia na jednostkę czasu. Generalnie im mniejsze opóźnienia tym lepiej, z uwagi jednak na różnice w taktowaniu, może zaistnieć sytuacja kiedy większy CAS jednego modułu w praktyce oznacza szybszy dostęp do tego modułu. Producenci pamięci podają opóźnienia dla określonego taktu zegara, a więc możliwe jest obniżenie opóźnień poniżej zaleceń przy jednoczesnym obniżeniu taktowania.

DDR SDRAM wykorzystuje przy operacjach oba zbocza sygnału taktującego. Szybkość ta jest zwykle podawana przez producentów, zamiast właściwej częstotliwości zegara, która jest o połowę mniejsza niż szybkość transferu do i z modułów DDR, przy czym, opóźnienie CAS jest podawane w cyklach właściwego zegara taktującego, nie w cyklach 'DDR'.

Innym czynnikiem utrudniającym wyliczenie dokładnych opóźnień jest wykorzystanie transferów ciągłych. Nowoczesny mikroprocesor może mieć wielkość linii pamięci podręcznej wielkości 64 bajtów, wymaga to 8 transferów po 64-bity (8 bajtów) do wypełnienia linii. Za pomocą opóźnienia CAS można wtedy dokładnie zmierzyć tylko czas przesłania pierwszego słowa. Za czas przesłania kolejnych odpowiada opóźnienie RAS.

W poniższej tabeli dane przedstawione są podane w mln transferów na sekundę (MT/s), a częstotliwości taktowania są podane w megahercach (MHz).

Przykład timingów pamięci (CAS latency tylko)
GeneracjaTypSzybkość
transmisji danych
Czas BitCzęstotliwość
taktowania
Czas cykluCLPierwsze słowoCzwarte słowoÓsme słowo
SDRAMPC100100 MT/s10 ns100 MHz10 ns220 ns50 ns90 ns
PC133133 MT/s7,5 ns133 MHz7,5 ns322,5 ns45 ns75 ns
DDR SDRAMDDR-333333 MT/s3 ns166 MHz6 ns2,515 ns24 ns36 ns
DDR-400400 MT/s2,5 ns200 MHz5 ns315 ns22,5 ns32,5 ns
2,512,5 ns20 ns30 ns
210 ns17,5 ns27,5 ns
DDR2 SDRAMDDR2-400400 MT/s2,5 ns200 MHz5 ns315 ns22,5 ns32,5
420 ns27,5 ns37,5 ns
DDR2-533533 MT/s1,875 ns266 MHz3,75 ns311,25 ns16,88 ns24,38 ns
415 ns26,63 ns18,13 ns
DDR2-667667 MT/s1,5 ns333 MHz3 ns412 ns16,5 ns22,50 ns
515 ns19,5 ns25,5 ns
DDR2-800800 MT/s1,25 ns400 MHz2,5 ns410 ns13,75 ns18,75 ns
4,511,25 ns15 ns20 ns
512,5 ns16,25 ns21,25 ns
615 ns18,75 ns23,75 ns
DDR2-10661066 MT/s0,938 ns533 MHz1,875 ns59,38 ns12,19 ns15,94 ns
47,5 ns10,31 ns14,06 ns
4,58,44 ns11,25 ns15 ns
611,25 ns14,06 ns17,81 ns
713,13 ns15,94 ns19,69 ns
DDR3 SDRAMDDR3-10661066 MT/s0,938 ns533 MHz1,875 ns713,13 ns15,94 ns19,69 ns
DDR3-13331333 MT/s0,75 ns666 MHz1,5 ns69 ns11,25 ns14,25 ns
710,5 ns12,75 ns15,75 ns
913,5 ns15,75 ns18,75 ns
DDR3-13751375 MT/s0,73 ns687 MHz1,5 ns57,27 ns9,45 ns12,36 ns
DDR3-16001600 MT/s0,625 ns800 MHz1,25 ns67,5 ns9,38 ns11,88 ns
78,75 ns10,63 ns13,13 ns
810 ns11,88 ns14,38 ns
911,25 ns13,13 ns15,63 ns
1012,5 ns14,38 ns16,88 ns
1113,75 ns15,63 ns18,13 ns
DDR3-18661866 MT/s0,536 ns933 MHz1,071 ns88,57 ns10,18 ns12,32 ns
99,64 ns11,25 ns13,39 ns
1010,71 ns12,32 ns14,46 ns
DDR3-20002000 MT/s0,500 ns1000 MHz1,000 ns99 ns10,5 ns12,5 ns
DDR3-21332133 MT/s0,469 ns1066 MHz0,938 ns76,56 ns7.97 ns9,84 ns
88,44 ns8,91 ns10,78 ns
98,44 ns9,84 ns11,72 ns
109,38 ns10,78 ns12,66 ns
1110,31 ns11,72 ns13,59 ns
1211,31 ns12,66 ns14,53 ns
DDR3-22002200 MT/s0,455 ns1100 MHz0,909 ns76,36 ns7,73 ns9,55 ns
DDR3-24002400 MT/s0,417 ns1200 MHz0,833 ns97,50 ns8,75 ns10,42 ns
108,33 ns9,58 ns11,25 ns
119,17 ns10,42 ns12,08 ns
1210 ns11,25 ns12,92 ns
1310,83 ns12,08 ns13,75 ns
DDR3-26002600 MT/s0,385 ns1300 MHz0,769 ns118,46 ns9,62 ns11,15 ns
DDR3-26662666 MT/s0,375 ns1333 MHz0,750 ns118,25 ns9,38 ns10,88 ns
129 ns10,13 ns11,63 ns
139,75 ns10,88 ns12,38 ns
1511,25 ns12,38 ns13,88 ns
DDR3-28002800 MT/s0,357 ns1400 MHz0,714 ns117,86 ns8,93 ns10,36 ns
128,57 ns9,64 ns11,07 ns
1611,43 ns12,50 ns13,93 ns
DDR3-29332933 MT/s0,341 ns1466 MHz0,682 ns128,18 ns9,20 ns10,57 ns
DDR3-30003000 MT/s0,333 ns1500 MHz0,667 ns128 ns9 ns10,33 ns
DDR3-31003100 MT/s0,323 ns1550 MHz0,645 ns127,74 ns8,71 ns10 ns
DDR3-32003200 MT/s0,313 ns1600 MHz0,625 ns1610 ns10,94 ns12,19 ns
DDR3-33003300 MT/s0,313 ns1650 MHz0,606 ns169,70 ns10,61 ns11,82 ns
DDR4 SDRAMDDR4-16001600 MT/s0,625 ns800 MHz1,250 ns1012,50 ns14,38 ns16,88 ns
1113,75 ns15,63 ns18,13 ns
1215 ns16,88 ns19,38 ns
DDR4-18661866 MT/s0,56 ns933 MHz1,071 ns1212,86 ns14,46 ns16,61 ns
1313,93 ns15,54 ns17,68 ns
1415 ns16,61 ns18,75 ns
DDR4-21332133 MT/s0,469 ns1066 MHz0,938 ns1413,13 ns14,53 ns16,41 ns
1514,06 ns15,47 ns17,34 ns
1615 ns16,41 ns18,28 ns
DDR4-22002200 MT/s0,455 ns1100 MHz0,909 ns76,36 ns7,73 ns9,55 ns
DDR4-24002400 MT/s0,417 ns1200 MHz0,833 ns97,5 ns8,75 ns10,42 ns
108,33 ns9,58 ns11,25 ns
119,17 ns10,42 ns12,08 ns
1210 ns11,25 ns12,92 ns
1310,83 ns12,08 ns13,75 ns
DDR4-26002600 MT/s0,385 ns1300 MHz0,769 ns118,46 ns9,62 ns11,15 ns
DDR4-26662666 MT/s0,375 ns1333 MHz0,750 ns118,25 ns9,38 ns10,88 ns
129 ns10,13 ns11,63 ns
139,75 ns10,88 ns12,38 ns
1511,25 ns12,38 ns13,88 ns
DDR4-28002800 MT/s0,357 ns1400 MHz0,714 ns117,86 ns8,93 ns10,36 ns
128,57 ns9,64 ns11,07 ns
1611,43 ns12,5 ns13,93 ns
DDR4-29332933 MT/s0,341 ns1466 MHz0,682 ns128,18 ns9,20 ns10,57 ns
DDR4-30003000 MT/s0,333 ns1500 MHz0,667 ns128 ns9 ns10,33 ns
DDR4-31003100 MT/s0,232 ns1550 MHz0,646 ns127,74 ns8,71 ns10 ns
DDR4-32003200 MT/s0,313 ns1600 MHz0,625 ns169,7 ns10,94 ns12,19 ns
DDR4-33003300 MT/s0,303 ns1650 MHz0,606 ns169,7 ns10,61 ns11,82 ns
DDR5 SDRAMDDR5-48002400 MT/s0,208 ns2400 MHz0,417 ns3414,17 ns14,79 ns15,63 ns
3615 ns15,63 ns16,46 ns
3815,83 ns16,46 ns17,29 ns
4016,67 ns17,29 ns18,13 ns
DDR5-52005200 MT/s0,192 ns2600 MHz0,385 ns3413,08 ns13,65 ns14,42 ns
3613,85 ns14,42 ns15,19 ns
3814,62 ns15,19 ns15,96 ns
4015,38 ns15,96 ns16,73 ns
DDR5-56005600 MT/s0,179 ns2800 MHz0,357 ns3413,08 ns13,65 ns14,42 ns
3612,86 ns13,39 ns14,11 ns
3813,57 ns14,11 ns14,82 ns
4014,29 ns14,82 ns15,54 ns
DDR5-60006000 MT/s0,167 ns3000 MHz0,333 ns3612 ns12,5 ns13,17 ns
3812,67 ns13,17 ns13,83 ns
4013,33 ns13,83 ns14,5 ns
DDR5-62006200 MT/s0,161 ns3100 MHz0,323 ns3611,61 ns12,1 ns12,74 ns
DDR5-64006400 MT/s0,156 ns3200 MHz0,313 ns3210 ns10,47 ns11,09 ns
3410,63 ns11,09 ns11,72 ns
3611,25 ns11,72 ns12,34 ns
3811,88 ns12,34 ns12,97 ns
4012,5 ns12,97 ns13,59 ns
DDR5-66006600 MT/s3300 MHz34

Zobacz też

Linki zewnętrzne