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).
Generacja | Typ | Szybkość transmisji danych | Czas Bit | Częstotliwość taktowania | Czas cyklu | CL | Pierwsze słowo | Czwarte słowo | Ósme słowo |
---|---|---|---|---|---|---|---|---|---|
SDRAM | PC100 | 100 MT/s | 10 ns | 100 MHz | 10 ns | 2 | 20 ns | 50 ns | 90 ns |
PC133 | 133 MT/s | 7,5 ns | 133 MHz | 7,5 ns | 3 | 22,5 ns | 45 ns | 75 ns | |
DDR SDRAM | DDR-333 | 333 MT/s | 3 ns | 166 MHz | 6 ns | 2,5 | 15 ns | 24 ns | 36 ns |
DDR-400 | 400 MT/s | 2,5 ns | 200 MHz | 5 ns | 3 | 15 ns | 22,5 ns | 32,5 ns | |
2,5 | 12,5 ns | 20 ns | 30 ns | ||||||
2 | 10 ns | 17,5 ns | 27,5 ns | ||||||
DDR2 SDRAM | DDR2-400 | 400 MT/s | 2,5 ns | 200 MHz | 5 ns | 3 | 15 ns | 22,5 ns | 32,5 |
4 | 20 ns | 27,5 ns | 37,5 ns | ||||||
DDR2-533 | 533 MT/s | 1,875 ns | 266 MHz | 3,75 ns | 3 | 11,25 ns | 16,88 ns | 24,38 ns | |
4 | 15 ns | 26,63 ns | 18,13 ns | ||||||
DDR2-667 | 667 MT/s | 1,5 ns | 333 MHz | 3 ns | 4 | 12 ns | 16,5 ns | 22,50 ns | |
5 | 15 ns | 19,5 ns | 25,5 ns | ||||||
DDR2-800 | 800 MT/s | 1,25 ns | 400 MHz | 2,5 ns | 4 | 10 ns | 13,75 ns | 18,75 ns | |
4,5 | 11,25 ns | 15 ns | 20 ns | ||||||
5 | 12,5 ns | 16,25 ns | 21,25 ns | ||||||
6 | 15 ns | 18,75 ns | 23,75 ns | ||||||
DDR2-1066 | 1066 MT/s | 0,938 ns | 533 MHz | 1,875 ns | 5 | 9,38 ns | 12,19 ns | 15,94 ns | |
4 | 7,5 ns | 10,31 ns | 14,06 ns | ||||||
4,5 | 8,44 ns | 11,25 ns | 15 ns | ||||||
6 | 11,25 ns | 14,06 ns | 17,81 ns | ||||||
7 | 13,13 ns | 15,94 ns | 19,69 ns | ||||||
DDR3 SDRAM | DDR3-1066 | 1066 MT/s | 0,938 ns | 533 MHz | 1,875 ns | 7 | 13,13 ns | 15,94 ns | 19,69 ns |
DDR3-1333 | 1333 MT/s | 0,75 ns | 666 MHz | 1,5 ns | 6 | 9 ns | 11,25 ns | 14,25 ns | |
7 | 10,5 ns | 12,75 ns | 15,75 ns | ||||||
9 | 13,5 ns | 15,75 ns | 18,75 ns | ||||||
DDR3-1375 | 1375 MT/s | 0,73 ns | 687 MHz | 1,5 ns | 5 | 7,27 ns | 9,45 ns | 12,36 ns | |
DDR3-1600 | 1600 MT/s | 0,625 ns | 800 MHz | 1,25 ns | 6 | 7,5 ns | 9,38 ns | 11,88 ns | |
7 | 8,75 ns | 10,63 ns | 13,13 ns | ||||||
8 | 10 ns | 11,88 ns | 14,38 ns | ||||||
9 | 11,25 ns | 13,13 ns | 15,63 ns | ||||||
10 | 12,5 ns | 14,38 ns | 16,88 ns | ||||||
11 | 13,75 ns | 15,63 ns | 18,13 ns | ||||||
DDR3-1866 | 1866 MT/s | 0,536 ns | 933 MHz | 1,071 ns | 8 | 8,57 ns | 10,18 ns | 12,32 ns | |
9 | 9,64 ns | 11,25 ns | 13,39 ns | ||||||
10 | 10,71 ns | 12,32 ns | 14,46 ns | ||||||
DDR3-2000 | 2000 MT/s | 0,500 ns | 1000 MHz | 1,000 ns | 9 | 9 ns | 10,5 ns | 12,5 ns | |
DDR3-2133 | 2133 MT/s | 0,469 ns | 1066 MHz | 0,938 ns | 7 | 6,56 ns | 7.97 ns | 9,84 ns | |
8 | 8,44 ns | 8,91 ns | 10,78 ns | ||||||
9 | 8,44 ns | 9,84 ns | 11,72 ns | ||||||
10 | 9,38 ns | 10,78 ns | 12,66 ns | ||||||
11 | 10,31 ns | 11,72 ns | 13,59 ns | ||||||
12 | 11,31 ns | 12,66 ns | 14,53 ns | ||||||
DDR3-2200 | 2200 MT/s | 0,455 ns | 1100 MHz | 0,909 ns | 7 | 6,36 ns | 7,73 ns | 9,55 ns | |
DDR3-2400 | 2400 MT/s | 0,417 ns | 1200 MHz | 0,833 ns | 9 | 7,50 ns | 8,75 ns | 10,42 ns | |
10 | 8,33 ns | 9,58 ns | 11,25 ns | ||||||
11 | 9,17 ns | 10,42 ns | 12,08 ns | ||||||
12 | 10 ns | 11,25 ns | 12,92 ns | ||||||
13 | 10,83 ns | 12,08 ns | 13,75 ns | ||||||
DDR3-2600 | 2600 MT/s | 0,385 ns | 1300 MHz | 0,769 ns | 11 | 8,46 ns | 9,62 ns | 11,15 ns | |
DDR3-2666 | 2666 MT/s | 0,375 ns | 1333 MHz | 0,750 ns | 11 | 8,25 ns | 9,38 ns | 10,88 ns | |
12 | 9 ns | 10,13 ns | 11,63 ns | ||||||
13 | 9,75 ns | 10,88 ns | 12,38 ns | ||||||
15 | 11,25 ns | 12,38 ns | 13,88 ns | ||||||
DDR3-2800 | 2800 MT/s | 0,357 ns | 1400 MHz | 0,714 ns | 11 | 7,86 ns | 8,93 ns | 10,36 ns | |
12 | 8,57 ns | 9,64 ns | 11,07 ns | ||||||
16 | 11,43 ns | 12,50 ns | 13,93 ns | ||||||
DDR3-2933 | 2933 MT/s | 0,341 ns | 1466 MHz | 0,682 ns | 12 | 8,18 ns | 9,20 ns | 10,57 ns | |
DDR3-3000 | 3000 MT/s | 0,333 ns | 1500 MHz | 0,667 ns | 12 | 8 ns | 9 ns | 10,33 ns | |
DDR3-3100 | 3100 MT/s | 0,323 ns | 1550 MHz | 0,645 ns | 12 | 7,74 ns | 8,71 ns | 10 ns | |
DDR3-3200 | 3200 MT/s | 0,313 ns | 1600 MHz | 0,625 ns | 16 | 10 ns | 10,94 ns | 12,19 ns | |
DDR3-3300 | 3300 MT/s | 0,313 ns | 1650 MHz | 0,606 ns | 16 | 9,70 ns | 10,61 ns | 11,82 ns | |
DDR4 SDRAM | DDR4-1600 | 1600 MT/s | 0,625 ns | 800 MHz | 1,250 ns | 10 | 12,50 ns | 14,38 ns | 16,88 ns |
11 | 13,75 ns | 15,63 ns | 18,13 ns | ||||||
12 | 15 ns | 16,88 ns | 19,38 ns | ||||||
DDR4-1866 | 1866 MT/s | 0,56 ns | 933 MHz | 1,071 ns | 12 | 12,86 ns | 14,46 ns | 16,61 ns | |
13 | 13,93 ns | 15,54 ns | 17,68 ns | ||||||
14 | 15 ns | 16,61 ns | 18,75 ns | ||||||
DDR4-2133 | 2133 MT/s | 0,469 ns | 1066 MHz | 0,938 ns | 14 | 13,13 ns | 14,53 ns | 16,41 ns | |
15 | 14,06 ns | 15,47 ns | 17,34 ns | ||||||
16 | 15 ns | 16,41 ns | 18,28 ns | ||||||
DDR4-2200 | 2200 MT/s | 0,455 ns | 1100 MHz | 0,909 ns | 7 | 6,36 ns | 7,73 ns | 9,55 ns | |
DDR4-2400 | 2400 MT/s | 0,417 ns | 1200 MHz | 0,833 ns | 9 | 7,5 ns | 8,75 ns | 10,42 ns | |
10 | 8,33 ns | 9,58 ns | 11,25 ns | ||||||
11 | 9,17 ns | 10,42 ns | 12,08 ns | ||||||
12 | 10 ns | 11,25 ns | 12,92 ns | ||||||
13 | 10,83 ns | 12,08 ns | 13,75 ns | ||||||
DDR4-2600 | 2600 MT/s | 0,385 ns | 1300 MHz | 0,769 ns | 11 | 8,46 ns | 9,62 ns | 11,15 ns | |
DDR4-2666 | 2666 MT/s | 0,375 ns | 1333 MHz | 0,750 ns | 11 | 8,25 ns | 9,38 ns | 10,88 ns | |
12 | 9 ns | 10,13 ns | 11,63 ns | ||||||
13 | 9,75 ns | 10,88 ns | 12,38 ns | ||||||
15 | 11,25 ns | 12,38 ns | 13,88 ns | ||||||
DDR4-2800 | 2800 MT/s | 0,357 ns | 1400 MHz | 0,714 ns | 11 | 7,86 ns | 8,93 ns | 10,36 ns | |
12 | 8,57 ns | 9,64 ns | 11,07 ns | ||||||
16 | 11,43 ns | 12,5 ns | 13,93 ns | ||||||
DDR4-2933 | 2933 MT/s | 0,341 ns | 1466 MHz | 0,682 ns | 12 | 8,18 ns | 9,20 ns | 10,57 ns | |
DDR4-3000 | 3000 MT/s | 0,333 ns | 1500 MHz | 0,667 ns | 12 | 8 ns | 9 ns | 10,33 ns | |
DDR4-3100 | 3100 MT/s | 0,232 ns | 1550 MHz | 0,646 ns | 12 | 7,74 ns | 8,71 ns | 10 ns | |
DDR4-3200 | 3200 MT/s | 0,313 ns | 1600 MHz | 0,625 ns | 16 | 9,7 ns | 10,94 ns | 12,19 ns | |
DDR4-3300 | 3300 MT/s | 0,303 ns | 1650 MHz | 0,606 ns | 16 | 9,7 ns | 10,61 ns | 11,82 ns | |
DDR5 SDRAM | DDR5-4800 | 2400 MT/s | 0,208 ns | 2400 MHz | 0,417 ns | 34 | 14,17 ns | 14,79 ns | 15,63 ns |
36 | 15 ns | 15,63 ns | 16,46 ns | ||||||
38 | 15,83 ns | 16,46 ns | 17,29 ns | ||||||
40 | 16,67 ns | 17,29 ns | 18,13 ns | ||||||
DDR5-5200 | 5200 MT/s | 0,192 ns | 2600 MHz | 0,385 ns | 34 | 13,08 ns | 13,65 ns | 14,42 ns | |
36 | 13,85 ns | 14,42 ns | 15,19 ns | ||||||
38 | 14,62 ns | 15,19 ns | 15,96 ns | ||||||
40 | 15,38 ns | 15,96 ns | 16,73 ns | ||||||
DDR5-5600 | 5600 MT/s | 0,179 ns | 2800 MHz | 0,357 ns | 34 | 13,08 ns | 13,65 ns | 14,42 ns | |
36 | 12,86 ns | 13,39 ns | 14,11 ns | ||||||
38 | 13,57 ns | 14,11 ns | 14,82 ns | ||||||
40 | 14,29 ns | 14,82 ns | 15,54 ns | ||||||
DDR5-6000 | 6000 MT/s | 0,167 ns | 3000 MHz | 0,333 ns | 36 | 12 ns | 12,5 ns | 13,17 ns | |
38 | 12,67 ns | 13,17 ns | 13,83 ns | ||||||
40 | 13,33 ns | 13,83 ns | 14,5 ns | ||||||
DDR5-6200 | 6200 MT/s | 0,161 ns | 3100 MHz | 0,323 ns | 36 | 11,61 ns | 12,1 ns | 12,74 ns | |
DDR5-6400 | 6400 MT/s | 0,156 ns | 3200 MHz | 0,313 ns | 32 | 10 ns | 10,47 ns | 11,09 ns | |
34 | 10,63 ns | 11,09 ns | 11,72 ns | ||||||
36 | 11,25 ns | 11,72 ns | 12,34 ns | ||||||
38 | 11,88 ns | 12,34 ns | 12,97 ns | ||||||
40 | 12,5 ns | 12,97 ns | 13,59 ns | ||||||
DDR5-6600 | 6600 MT/s | 3300 MHz | 34 |
Zobacz też
- Pamięć o dostępie swobodnym (RAM)
- Statyczna pamięć RAM (SRAM)
- Serial Presence Detect (SPD)
Linki zewnętrzne
- PCSTATS: Memory Bandwidth vs. Latency Timings
- How Memory Access Works
- Tom's Hardware Guide: Tight Timings vs High Clock Frequencies
- Understanding RAM Timings. hardwaresecrets.com. [zarchiwizowane z tego adresu (2008-09-08)].