Avec la DRAM asynchrone, la mémoire était accédée par un contrôleur de mémoire sur le bus mémoire en fonction d’un timing défini plutôt que d’une horloge, et était séparée du bus système. La DRAM synchrone, cependant, a une latence CAS qui dépend de la fréquence d’horloge. En conséquence, la latence CAS d’un module de mémoire SDRAM est spécifiée en ticks d’horloge plutôt qu’en temps absolu.
Parce que les modules de mémoire ont plusieurs banques internes, et que les données peuvent être sorties d’une pendant la latence d’accès pour une autre, les broches de sortie peuvent être maintenues occupées à 100% indépendamment de la latence CAS par pipelining ; la bande passante maximale atteignable est déterminée uniquement par la vitesse d’horloge. Malheureusement, cette largeur de bande maximale ne peut être atteinte que si l’adresse des données à lire est connue suffisamment longtemps à l’avance ; si l’adresse des données auxquelles on accède n’est pas prévisible, des blocages de pipeline peuvent se produire, entraînant une perte de largeur de bande. Pour un accès à la mémoire totalement inconnu (accès aléatoire), la latence pertinente est le temps de fermeture de toute ligne ouverte, plus le temps d’ouverture de la ligne souhaitée, suivi de la latence du CAS pour lire les données. Cependant, en raison de la localité spatiale, il est courant d’accéder à plusieurs mots dans la même rangée. Dans ce cas, la latence CAS détermine à elle seule le temps écoulé.
Parce que les latences CAS des modules DRAM modernes sont spécifiées en ticks d’horloge et non en temps, lors de la comparaison des latences à différentes vitesses d’horloge, les latences doivent être traduites en temps absolus pour effectuer une comparaison équitable ; une latence CAS numérique plus élevée peut toujours représenter moins de temps si l’horloge est plus rapide. De même, un module de mémoire qui est sous-clocké pourrait voir son nombre de cycles de latence CAS réduit pour préserver le même temps de latence CAS.
La RAM à double débit de données (DDR) effectue deux transferts par cycle d’horloge, et elle est généralement décrite par ce taux de transfert. Comme la latence CAS est spécifiée en cycles d’horloge, et non en transferts (qui se produisent à la fois sur les fronts montants et descendants de l’horloge), il est important de s’assurer que c’est le taux d’horloge (la moitié du taux de transfert) qui est utilisé pour calculer les temps de latence CAS.
Un autre facteur de complication est l’utilisation des transferts en rafale. Un microprocesseur moderne pourrait avoir une taille de ligne de cache de 64 octets, nécessitant huit transferts à partir d’une mémoire de 64 bits de large (huit octets) pour se remplir. La latence CAS ne peut mesurer avec précision que le temps de transfert du premier mot de la mémoire ; le temps de transfert des huit mots dépend également du taux de transfert des données. Heureusement, le processeur n’a généralement pas besoin d’attendre les huit mots ; la rafale est généralement envoyée dans l’ordre du mot critique en premier, et le premier mot critique peut être utilisé par le microprocesseur immédiatement.
Dans le tableau ci-dessous, les débits de données sont donnés en millions de transferts – également appelés mégatransferts par seconde (MT/s), tandis que les fréquences d’horloge sont données en MHz, millions de cycles par seconde.
Exemples de synchronisation de mémoireModifier
Génération | Type | Taux de données | Temps de transfert | Débit de commande | Temps de cycle | Latence de CAS | Premier mot | Quatrième mot | Huitième mot | SDRAM | PC100 | 100 MT/s | 10.000 ns | 100 MHz | 10,000 ns | 2 | 20,00 ns | 50,00 ns | 90,00 ns | PC133 | 133 MT/s | 7,500 ns | 133 MHz | 7.500 ns | 3 | 22,50 ns | 45,00 ns | 75.00 ns | DDR SDRAM | DDR-333 | 333 MT/s | 3.000 ns | 166 MHz | 6.000 ns | 2,5 | 15,00 ns | 24,00 ns | 36,00 ns |
---|---|---|---|---|---|---|---|---|---|
DDR-400 | 400 MT/s | 2.500 ns | 200 MHz | 5.000 ns | 3 | 15.00 ns | 22,50 ns | 32,50 ns | |
2,5 | 12,50 ns | 20,00 ns | 30,00 ns | 2 | 10.00 ns | 17,50 ns | 27,50 ns | ||
DDR2 SDRAM | DDR2-400 | 400 MT/s | 2.500 ns | 200 MHz | 5,000 ns | 4 | 20,00 ns | 27.50 ns | 37,50 ns |
3 | 15,00 ns | 22,50 ns | 32.50 ns | DDR2-533 | 533 MT/s | 1,875 ns | 266 MHz | 3.750 ns | 4 | 15,00 ns | 20,63 ns | 28,13 ns | 3 | 11.25 ns | 16,88 ns | 24,38 ns |
DDR2-667 | 667 MT/s | 1.500 ns | 333 MHz | 3,000 ns | 5 | 15,00 ns | 19,50 ns | 25.50 ns | 4 | 12,00 ns | 16,50 ns | 22,50 ns | DDR2-800 | 800 MT/s | 1.250 ns | 400 MHz | 2,500 ns | 6 | 15.00 ns | 18,75 ns | 23,75 ns |
5 | 12,50 ns | 16,25 ns | 21.25 ns | 4,5 | 11,25 ns | 15,00 ns | 20,00 ns | 4 | 10,00 ns | 13.75 ns | 18,75 ns |
DDR2-1066 | 1066 MT/s | 0.938 ns | 533 MHz | 1,875 ns | 7 | 13,13 ns | 15,94 ns | 19.69 ns | |
6 | 11,25 ns | 14,06 ns | 17,81 ns | 5 | 9,38 ns | 12.19 ns | 15,94 ns | ||
4,5 | 8,44 ns | 11,25 ns | 15,00 ns | 4 | 7.50 ns | 10,31 ns | 14,06 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.750 ns | 666 MHz | 1,500 ns | 9 | 13,50 ns | 15,75 ns | 18.75 ns | 7 | 10,50 ns | 12,75 ns | 15,75 ns | 6 | 9,00 ns | 11.25 ns | 14,25 ns |
DDR3-1375 | 1375 MT/s | 0.727 ns | 687 MHz | 1,455 ns | 5 | 7,27 ns | 9,45 ns | 12.36 ns | |
DDR3-1600 | 1600 MT/s | 0,625 ns | 800 MHz | 1.250 ns | 11 | 13,75 ns | 15,63 ns | 18,13 ns | 10 | 12,50 ns | 14,38 ns | 16.88 ns | 9 | 11,25 ns | 13,13 ns | 15,63 ns | 8 | 10,00 ns | 11.88 ns | 14,38 ns |
7 | 8,75 ns | 10,63 ns | 13,13 ns | 6 | 7.50 ns | 9,38 ns | 11,88 ns | ||
DDR3-1866 | 1866 MT/s | 0.536 ns | 933 MHz | 1,071 ns | 10 | 10,71 ns | 12,32 ns | 14.46 ns | |
9 | 9,64 ns | 11,25 ns | 13,39 ns | 8 | 8,57 ns | 10.18 ns | 12,32 ns | ||
DDR3-2000 | 2000 MT/s | 0.500 ns | 1000 MHz | 1,000 ns | 9 | 9,00 ns | 10,50 ns | 12.50 ns | |
DDR3-2133 | 2133 MT/s | 0.469 ns | 1066 MHz | 0,938 ns | 12 | 11,25 ns | 12,66 ns | 14.53 ns | |
11 | 10,31 ns | 11,72 ns | 13,59 ns | 10 | 9,38 ns | 10.78 ns | 12,66 ns | ||
9 | 8,44 ns | 9,84 ns | 11,72 ns | 8 | 7.50 ns | 8,91 ns | 10,78 ns | ||
7 | 6,56 ns | 7,97 ns | 9.84 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 | 13 | 10.83 ns | 12,08 ns | 13,75 ns | |
12 | 10,00 ns | 11,25 ns | 12.92 ns | ||||||
11 | 9,17 ns | 10,42 ns | 12,08 ns | 10 | 8,33 ns | 9,58 ns | 11.25 ns | 9 | 7,50 ns | 8,75 ns | 10,42 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 | 15 | 11,25 ns | 12.38 ns | 13,88 ns | |
13 | 9,75 ns | 10,88 ns | 12,38 ns | 12 | 9.00 ns | 10,13 ns | 11,63 ns | ||
11 | 8,25 ns | 9,38 ns | 10.88 ns | DDR3-2800 | 2800 MT/s | 0,357 ns | 1400 MHz | 0.714 ns | 16 | 11,43 ns | 12,50 ns | 13,93 ns | 12 | 8.57 ns | 9,64 ns | 11,07 ns |
11 | 7,86 ns | 8,93 ns | 10.36 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,00 ns | 9,00 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,00 ns | |
DDR3-3200 | 3200 MT/s | 0.313 ns | 1600 MHz | 0,625 ns | 16 | 10,00 ns | 10.94 ns | 12,19 ns | |
DDR3-3300 | 3300 MT/s | 0.303 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 | 12 | 15,00 ns | 16,88 ns | 19,38 ns | |
11 | 13.75 ns | 15,63 ns | 18,13 ns | ||||||
10 | 12,50 ns | 14,38 ns | 16.88 ns | DDR4-1866 | 1866 MT/s | 0,536 ns | 933 MHz | 1.071 ns | 14 | 15,00 ns | 16,61 ns | 18,75 ns | 13 | 13.93 ns | 15,54 ns | 17,68 ns |
12 | 12,86 ns | 14,46 ns | 16.61 ns | ||||||
DDR4-2133 | 2133 MT/s | 0,469 ns | 1066 MHz | 0.938 ns | 16 | 15,00 ns | 16,41 ns | 18,28 ns | 15 | 14,06 ns | 15,47 ns | 17.34 ns |
14 | 13,13 ns | 14,53 ns | 16.41 ns | DDR4-2400 | 2400 MT/s | 0,417 ns | 1200 MHz | 0.833 ns | 17 | 14,17 ns | 15,42 ns | 17,08 ns | 16 | 13.33 ns | 14,58 ns | 16,25 ns |
15 | 12,50 ns | 13,75 ns | 15.42 ns | DDR4-2666 | 2666 MT/s | 0,375 ns | 1333 MHz | 0.750 ns | 17 | 12,75 ns | 13,88 ns | 15,38 ns | 16 | 12.00 ns | 13,13 ns | 14,63 ns |
15 | 11,25 ns | 12,38 ns | 13.88 ns | ||||||
13 | 9,75 ns | 10,88 ns | 12,38 ns | 12 | 9,00 ns | 10,13 ns | 11.63 ns | DDR4-2800 | 2800 MT/s | 0,357 ns | 1400 MHz | 0.714 ns | 17 | 12,14 ns | 13,21 ns | 14,64 ns |
16 | 11,43 ns | 12.50 ns | 13,93 ns | ||||||
15 | 10,71 ns | 11,79 ns | 13,21 ns | 14 | 10.00 ns | 11,07 ns | 12,50 ns | ||
DDR4-3000 | 3000 MT/s | 0.333 ns | 1500 MHz | 0,667 ns | 17 | 11,33 ns | 12,33 ns | 13.67 ns | |
16 | 10,67 ns | 11,67 ns | 13,00 ns | ||||||
15 | 10,00 ns | 11.00 ns | 12,33 ns | ||||||
14 | 9,33 ns | 10,33 ns | 11.67 ns | DDR4-3200 | 3200 MT/s | 0,313 ns | 1600 MHz | 0.625 ns | 16 | 10,00 ns | 10,94 ns | 12,19 ns | 15 | 9,38 ns | 10,31 ns | 11.56 ns | 14 | 8,75 ns | 9,69 ns | 10,94 ns | DDR4-3300 | 3300 MT/s | 0.303 ns | 1650 MHz | 0,606 ns | 16 | 9,70 ns | 10.61 ns | 11,82 ns |
DDR4-3333 | 3333 MT/s | 0.300 ns | 1666 MHz | 0,600 ns | 16 | 9,60 ns | 10.50 ns | 11,70 ns | |
DDR4-3400 | 3400 MT/s | 0.294 ns | 1700 MHz | 0,588 ns | 16 | 9,41 ns | 10.29 ns | 11,47 ns | |
DDR4-3466 | 3466 MT/s | 0.288 ns | 1733 MHz | 0,577 ns | 18 | 10,38 ns | 11,25 ns | 12.40 ns | |
17 | 9,81 ns | 10,67 ns | 11,83 ns | 16 | 9,23 ns | 10.10 ns | 11,25 ns | ||
DDR4-3600 | 3600 MT/s | 0.278 ns | 1800 MHz | 0,556 ns | 19 | 10,56 ns | 11,39 ns | 12.50 ns | |
18 | 10,00 ns | 10,83 ns | 11,94 ns | 17 | 9,44 ns | 10.28 ns | 11,39 ns | ||
16 | 8,89 ns | 9,72 ns | 10,83 ns | 15 | 8.33 ns | 9,17 ns | 10,28 ns | ||
DDR4-3733 | 3733 MT/s | 0.268 ns | 1866 MHz | 0,536 ns | 17 | 9,11 ns | 9,91 ns | 10.98 ns | |
DDR4-3866 | 3866 MT/s | 0.259 ns | 1933 MHz | 0,517 ns | 18 | 9,31 ns | 10,09 ns | 11.12 ns | |
DDR4-4000 | 4000 MT/s | 0,250 ns | 2000 MHz | 0.500 ns | 19 | 9,50 ns | 10,25 ns | 11,25 ns | |
DDR4-4133 | 4133 MT/s | 0.242 ns | 2066 MHz | 0,484 ns | 19 | 9,19 ns | 9.92 ns | 10,89 ns | |
DDR4-4200 | 4200 MT/s | 0.238 ns | 2100 MHz | 0,476 ns | 19 | 9,05 ns | 9,76 ns | 10.71 ns | |
DDR4-4266 | 4266 MT/s | 0,234 ns | 2133 MHz | 0.469 ns | 19 | 8,91 ns | 9,61 ns | 10,55 ns | |
18 | 8,44 ns | 9.14 ns | 10,08 ns | ||||||
DDR4-4600 | 4600 MT/s | 0.217 ns | 2300 MHz | 0,435 ns | 19 | 8,26 ns | 8,91 ns | 9,78 ns | |
18 | 7.82 ns | 8,48 ns | 9,35 ns | ||||||
DDR4-4800 | 4800 MT/s | 0.208 ns | 2400 MHz | 0,417 ns | 19 | 7,92 ns | 8,54 ns | 9.38 ns | |
Génération | Type | Data rate | Transfer time | Command rate | Cycle time | CAS latency | First word | Quatrième mot | Huitième mot |
NotesEdit
- ^ Temps de transfert = 1 / Taux de données.
- ^ Taux de commande = Taux de données / 2 pour le débit de données double (DDR), Taux de commande = Taux de données pour le débit de données simple (SDR).
- ^ Temps de cycle = 1 / Taux de commande = 2 × Temps de transfert.
- ^ a b c d Nième mot = × Temps de transfert.
.