L1- vs. L2- vs. L3-Cache: Unterschiede im Überblick
L1-, L2- und L3-Cache bilden eine mehrstufige Cache-Hierarchie, die nach Nähe zum CPU-Kern geordnet ist: Je näher, desto kleiner und schneller, je weiter entfernt, desto größer und langsamer. Bei typischen PC- und Server-CPUs liegen die üblichen Werte für L1 bei einigen zehn KB und wenigen Zyklen, für L2 bei einigen hundert KB bis einigen MB und zehn bis zwanzig Zyklen und für L3 bei einigen MB bis einigen zehn MB und einigen zehn Zyklen. L1 und L2 sind meist pro Kern vorhanden, L3 wird von mehreren Kernen gemeinsam genutzt. Ein Zugriff auf den DRAM-Hauptspeicher dauert einige hundert Zyklen, daher soll diese Hierarchie möglichst viele Zugriffe abfangen.
| Merkmal | L1-Cache | L2-Cache | L3-Cache |
|---|---|---|---|
| Verhältnis zu den Kernen | Jedem Kern exklusiv zugeordnet | Meist pro Kern privat. Es gibt auch Designs, bei denen sich wenige Kerne einen L2 teilen | Von mehreren Kernen gemeinsam genutzt (ganzer Chip oder ein Kern-Cluster) |
| Kapazität (übliche Werte bei PC- und Server-CPUs) | Je etwa 32 bis 64 KB für Befehle und Daten | Etwa 256 KB bis einige MB pro Kern | Einige MB bis einige zehn MB für den ganzen Chip |
| Latenz (übliche Werte) | Etwa 3 bis 5 Zyklen | Etwa 10 bis 20 Zyklen | Etwa 30 bis 70 Zyklen. Je weiter vom Kern entfernt, desto länger |
| Befehle und Daten | Getrennt (I-Cache und D-Cache) | Gemeinsam (Unified Cache) | Gemeinsam (Unified Cache) |
| Designschwerpunkt | Kurze Trefferzeit. Wird in der Pipeline in jedem Zyklus genutzt | Fängt L1-Fehlzugriffe ab und verringert die Miss-Penalty | Verringert Hauptspeicherzugriffe und ermöglicht den Datenaustausch zwischen Kernen |
| Ziel bei einem Fehlzugriff | L2 | L3 | Hauptspeicher (DRAM) |
| Adressierung | Meist virtuell indiziert, physisch getaggt (VIPT) | Physische Adressen | Physische Adressen |
| Inklusivität | Oberste Ebene. Ob ihr Inhalt in tieferen Ebenen enthalten ist, hängt von deren Strategie ab | Je nach Design inklusiv, nicht inklusiv usw. | Inklusiv erleichtert die Eingrenzung von Kohärenzprüfungen. Es gibt auch exklusive Designs ohne Duplikate sowie nicht inklusive |
| Physische Anordnung | Im Kern, direkt neben den Ausführungseinheiten | Direkt außerhalb des Kerns, als Teil des Kerns angeordnet | Meist in Slices pro Kern aufgeteilt und über ein Ring- oder Mesh-Netzwerk verbunden |
| Zeilengröße | Üblich sind 64 Byte | Üblich sind 64 Byte | Üblich sind 64 Byte |
Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.