Anmelden mit
Registrieren | Anmelden

Wie wichtig ist L3-Cache? Athlon II gegen Phenom II

Wie wichtig ist L3-Cache? Athlon II gegen Phenom II
Von , Achim Roos

Der Athlon II X4 von AMD ist der erste Vierkern-Prozessor ohne gemeinsam genutzten L3-Cache. Ein Vergleich von Athlon II und Phenom II bei gleicher Taktgeschwindigkeit zeigt die Unterschiede in der Praxis.

Vielkern-Prozessoren mit einem dedizierten Zwischenspeicher auszustatten, der von allen verfügbaren Kernen gemeinsam genutzt wird, macht durchaus Sinn. Ein schneller Speicher wie der Third-Level Cache moderner Prozessoren ist daher Praxis, um den Zugriff auf häufig benötigte Daten zu beschleunigen: Kerne sollten, wenn möglich, nicht auf den langsameren Hauptspeicher (RAM) zurückgreifen müssen – soweit die Theorie. Die Einführung des AMD Athlon II X4, einem einfachen Phenom II X4 ohne L3-Cache, deutet darauf hin, dass der L3-Cache vielleicht nicht immer unbedingt notwendig ist. Wir haben uns für einen Vergleich zweier AMD-Prozessoren mit und ohne L3-Cache Cache entschieden.

Cache – So funktionierts

Das Prinzip von Cache ist einfach: Er dient zur Zwischenspeicherung von Daten, um zu verhindern, dass der Prozessor auf die nächst langsamere Ebene des Speichersystems, den Hauptspeicher, zurückgreifen muss. Die aktuelle Desktop-Cache-Hierarchie besteht aus drei Cache-Ebenen, bevor letztlich der Zugriff auf den Hauptspeicher ausgelöst wird. Die zweite und besonders die dritte Ebene sind nicht nur für das Zwischenspeichern von Daten zuständig, sondern dienen auch dazu, die Verwendung des Busses zwecks Datenaustausch zwischen mehreren Prozessor-Kernen zu minimieren. Bevor wir uns an die Einzelheiten machen hier ein paar Grundlagen.

Cache: Hits und Misses

Die Effektivität einer Cache-Architektur wird anhand der Trefferquote (hit rate) bemessen: Treffer sind Anfragen, die mit Hilfe von zwischengespeicherten Daten beantwortet werden. Alle anderen Anforderungen, die eine Aktivität auf nächster Ebene oder dem Hauptspeicher verursachen, werden als Cache Misses bezeichnet. Diese sind langsam, da sie den Prozessor oft zu Wartezeiten zwingen. Im Gegensatz dazu helfen Treffer dabei, die maximale Performance aufrechtzuerhalten. Die Ausführung von Befehlen unabhängig von deren Eingangsreihenfolge, so genannten Out-of-Order-Ausführung, identifiziert voneinander unabhängige Anweisungen, um die Befehlsabarbeitung von der Abhängigkeit noch anzuliefernder Daten abzukoppeln.

Cache: Schreiben, Exklusivität, Kohärenz

So genannte replacement policies bestimmen, wie Raum für neue Cache-Einträge geschaffen wird. Da Daten, die in den Cache geschrieben werden, letztlich auch im Hauptspeicher verfügbar sein müssen, kann das System dies direkt vornehmen (write-through) oder überschriebene Speicherorte als “dirty” kennzeichnen  und den Schreibvorgang erst dann ausführen, sobald die Daten aus dem Cache gelöscht wurden (write-back).

Daten aus diversen Cache-Ebenen lassen sich exklusiv speichern, so dass keine Datenredundanz existiert. Oder aber ein Cache kann in inklusiver Weise betrieben werden, in der sich auf einer folgenden, niedrigeren Cache-Ebene stets eine Kopie der Daten befindet. Der Phenom von AMD arbeitet mit einem exklusiven L3-Cache, während Intel der inklusiven Cache-Startegie gefolgt ist. Kohärenz-Protokolle kümmern sich um das Management gültiger Daten über mehrere Ebenen, Strategien, Kerne und sogar Prozessoren (Nodes bzw. Knoten) hinweg.

Cache: Kapazität

Größere Caches bieten mehr Platz für Daten, sorgen allerdings auch für höhere Latenzen. Da Cache auch große Mengen an Prozessor-Transistoren in Anspruch nimmt, ist es wichtig, ein funktionierendes Gleichgewicht zwischen Transistorkosten und Die-Größe sowie Leistungsaufnahme und Performance/Latenz-Problemen zu finden.

Cache: Assoziativität

RAM-Einträge können entweder direkt gemappt werden: in einem Cache-Speicher kann es also nur eine Adresse für die Datenzwischenspeicherung geben, oder sie sind n-fach assoziativ. Das bedeutet n mögliche Positionen auf dem Cache für das Speichern von Daten. Eine höhere Assoziativität garantiert eine höhere Trefferquote, führt allerdings auch zu längeren Latenzen, da es mehr Zeit in Anspruch nimmt, um n Assoziationen mit möglichen Treffern zu vergleichen. Deshalb macht es Sinn, eine vielfache Assoziativität für die letzte Cache-Ebene zu verwenden, da hier die Cache-Kapazität am größten ist und die nächste Ebene ohnehin ein langsamer Speicherzugriff wäre.

Hier ein paar Beispiele: Die Core i5 und i7 Prozessoren arbeiten mit einem 32 KB 8-fach assoziativem L1-Daten- und 32 KB 4-fach assoziativem L1-Befehls-Cache. Intel will Befehle schneller verfügbar machen, während das Unternehmen gleichzeitig die Cache-Treffer auf dem L1-Daten-Cache maximiert. Der L2-Cache ist wieder 8-fach assoziativ, während der L3-Cache von Intel noch “klüger” ist und eine 16-fach assoziativ arbeitet, um die Anzahl der Cache-Treffer zu maximieren. AMD verfolgt auf dem Phenom II X4 mit einem 2-fach assoziativem L1-Cache eine andere Strategie mit niedrigsten Latenzen. Um mögliche Fehler zu kompensieren ist die Kapazität doppelt so groß: 64 KB für Daten und 64 KB für Befehle. Wie auf dem Prozessor von Intel ist der L2-Cache 8-fach assoziativ, allerdings funktioniert der L3-Cache von AMD dann 48-fach assoziativ. Ohne zuvor einen Blick auf die CPU-Architektur geworfen zu haben sollte man allerdings keine voreiligen Schlüsse ziehen, immerhin zählen lediglich die Ergebnisse. Dieser Cache-Exkurs dazu, Ihnen einen Blick auf die Komplexität hinter dem Multi-Level-Caching zu bieten.

11 Kommentare anzeigen.
Auf dieser Seiten können keine Kommentare mehr abgegeben werden
Sortieren nach: Neueste zuerst | Älteste zuerst
  • r4z3r , 18. September 2009 08:34
    Ich fand den Test sehr informativ, er hat mir gezeigt das der athlon x4 wohl meine nächste wahl sein wird. Jetzt müsste man nur noch wissen wie gut er sich übertakten lässt. Theoretisch sollte sich das zum phenom kaum ändern oder sehe ich das falsch?
  • f1delity , 18. September 2009 09:31
    Könnte eventuel auch besser taktbar sein, hier z.B. sieht es mit Default Vcore nicht schlecht aus Click!
  • Hinagiku , 18. September 2009 09:33
    In Tests auf anderen Seiten wurde ein 620 auf 3,4GHz getaktet. Der Stromverbrauch dieser CPU deutete aber darauf hin, dass es ein Phenom mit deaktiviertem Cache war. AMD hat ja auch verlauten lassen, dass zumindest Anfangs noch beschnittene Phenoms als Athlon verkauft werden. Die Leistung bei 3,4GHz lag in etwa auf dem Niveau eines Phenom 955 BE mit 3,2GHz Standardtakt, der immerhin knapp doppelt so teuer ist.
    In nem anderen Test wurde ein Athlon 630, der höchstwahrscheinlich kein umgelabelter Phenom ist, auf 3,2GHz getaktet. Das ist weniger, aber immer noch nicht schlecht.
    Schlimmstenfalls 20% weniger Leistung bei gleichem Takt als ein Modell mit L3-Cache sind nicht gerade wenig. Das betrifft aber nur einzelne Disziplinen, und in der Summe sind es dann nichtmal mehr 10% Unterschied. Für den ersten Quad der die 100€ geknackt hat, und das sogar deutlich, ist die Leistung durchaus angemessen.
  • Weltenspinner , 18. September 2009 09:37
    Sehr schöner Test, danke. :) 

    Da der AthlonII statt des L3 Caches den RAM benutzt,
    hätte mich bei Cache-lastigen Anwendungen noch der Vergleich
    zwischen DDR3-1333 CL9 und DDR3-1600 CL7 interessiert.
  • mareike , 18. September 2009 10:54
    @ Weltenspinner

    das der AII auf schnellen ram(Cl7-1600) dankbar reagieren wird ohne Level3 Cache dürfte logisch sein. Aber in der realität macht es nicht viel sinn eine "Preiswerte/Billige" cpu mit teurem ramspeicher zu kreuzen. Und wenn man sieht das der leistungsunterschied zwischen PhII und AII bei 6% liegt (mit/ohne L3) dürfte der ram kaum mehr als 1-2% ausmachen.

    @Thg
    war das nun ein C3-Stepping ??
  • Lord Nelson , 18. September 2009 14:58
    Fand den Test auch informativ! Endlich weiß ich zumindest ungefähr, was das mit dieser Assoziativität bedeutet^^
    Ein komischer Satz ist mir irgendwie ins Auge gesprungen, auf Seite 3: „Zum ersten Mal gibt es damit einen Quad-Core-Prozessor für etwa 100 Euro, was in dieser Preisklasse neu ist.“ :D 

    Geil fände ich auch einen Test, was für ein Unterschied zwischen 512 und 1024KB L2-Cache besteht. Die AthlonII X2 haben ja 1024 pro Kern. Kann der höhere L2-Cache den fehlenden L3 teilweise kompensieren?
  • xxl-et , 18. September 2009 18:59
    Schöner test, hat mich schon lang interessiert, wie es um die Caches bestellt ist. Nur die Geschichte mit dem L2-Caches habe ich auch nie verstanden z.B. beim neuen und alten Athlon X2 (zuerst 90nm 1MB L2, dann 65nm und 512MB) mit angeblich gleicher Performance. Und den Vorteil von 3MB L2 beim C2D?! Kennt da jemand hierzu Tests? Die Sache wird nämlich mit den aktuellen CULV-CPUs von Intel wieder interessant: Die gibts in allen L2-Größen.
  • Diesel_im_Blut , 18. September 2009 21:18
    Ein sehr interessanter Test! Lob an das THG Team. Ich finde diesen Test sehr informativ. Ich überleg so langsam, in meinen zweit PC so ne Athlon II CPU irgendwann einzubauen...
  • Anonymous , 19. September 2009 18:54
    Interessanter könnte das bei mehreren parallelen Anwendungen werden, wenn deren konkurrierenden (aus Sicht des RAMs) chaotischen Speicherzugriffe die effektive RAM-Latenz in die Höhe treiben.
  • Anonymous , 2. Oktober 2009 23:16
    der test ist wirklich gut und interessant. danke thg team.
    ich hätte gerne noch den vergleich zu den phenom 2 x3 geahbt. ob vieleicht mehr mhz und cache da was bringen. passt preislich alles dich zusammen bis hin zum athlon 2 x4 630.

    >>>Mit diesem Wissen können Sie sicher sein, dass es niemals ein Athlon II-Produkt geben wird, das an die Taktraten des schnelleren Phenom II heranreicht oder diese sogar übertrifft.
  • madseh@guest , 29. Juli 2011 15:42
    Die ersten CPUs mit Caches war sicher nicht die 80486. Bereits 1983 gabs von Motorola den 68010 der einen kleinen Code Cache hatte. Der 68020 hatte dann 256 Byte Code Cache, der 68030 zusätzlich 256 Byte Datencache, was damals für eine Hit-Rate von ca 70% ausgereicht hat.