L2 und L3-Cache
Hallo Community,
ich habe eine Frage zu dem im Prozessor befindenen L2-Cache.
Der Prozessortyp ist egal, aber mich interessiert mal, wo der L2-Cache dnen überhaupt sitzt. Wo ist dem sein genauer "Standort" auf dem CPU.
Dass es ein kleiner Pufferspeicher ist, der Daten von Festplatte und Arbeitsspeicher enthält ist mir klar. Ebenso, dass der Prozessor schneller auf diesen cache zugreifen kann, als auf den Arbeitsspeicher, wo die Zugriffszeit ja bereits im Nano-Sekunden Bereich liegt.
Also einfach mal Antworten. Mit Grafik wäre natürlich optimal wenn man das da drauf einzeichnen könnte.
Bitte keine Auszüge aus Wikipedia, da diese Fehlerhaft sind.
Vllt kann man mir ja noch sagen, worin der Unteschiedzwischen L2 und L3 Cache liegt???
Vielen Dank im vorraus
Mit freundlichen Grüßen
Freaky
ich habe eine Frage zu dem im Prozessor befindenen L2-Cache.
Der Prozessortyp ist egal, aber mich interessiert mal, wo der L2-Cache dnen überhaupt sitzt. Wo ist dem sein genauer "Standort" auf dem CPU.
Dass es ein kleiner Pufferspeicher ist, der Daten von Festplatte und Arbeitsspeicher enthält ist mir klar. Ebenso, dass der Prozessor schneller auf diesen cache zugreifen kann, als auf den Arbeitsspeicher, wo die Zugriffszeit ja bereits im Nano-Sekunden Bereich liegt.
Also einfach mal Antworten. Mit Grafik wäre natürlich optimal wenn man das da drauf einzeichnen könnte.
Bitte keine Auszüge aus Wikipedia, da diese Fehlerhaft sind.
Vllt kann man mir ja noch sagen, worin der Unteschiedzwischen L2 und L3 Cache liegt???
Vielen Dank im vorraus
Mit freundlichen Grüßen
Freaky
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 69377
Url: https://administrator.de/forum/l2-und-l3-cache-69377.html
Ausgedruckt am: 02.04.2025 um 08:04 Uhr
7 Kommentare
Neuester Kommentar
Links oben 
Oder was genau meinst Du mit Standort?
Vom Zugriff her sieht es so aus:
CPU-Core <-> L1 Cache <-> L2-Cache <-> L3-Cache <-> ... <-> L728 Cache <-> Hauptspeicher
Prinzipiell kann man soviele Cache-Ebenen einbauen wie man will, allerdings machts halt irgendwann keinen Sinn mehr (also L728 wirds in Realität wohl nie geben).
Der Unterschied zwischen L2 und L3 ist praktisch wie L1 und L2.
Je schneller der Cache werden soll, umso problematischer zu fertigen und teurer und mehr Platz brauchend sind die Caches.
Deswegen lieber mehrstufige Caches mit langsameren, aber größeren L2 bzw. L3 Caches also einen nur marginal größeren, aber schnelleren L1 Cache.
Und wenn man für einen Quad-Core 2 DualCores-Dies, die ja schon L1 und L2 haben, zusammenklebt, macht ein L3 zwischen den 2 Dies und dem Frontside-Bus durchaus auch noch Sinn.
Keine Ahnung, ob das jetzt das war, was Du wissen wolltest. Wenn nicht, bitte Fragestellung nochmals überarbeiten.
Oder was genau meinst Du mit Standort?
Vom Zugriff her sieht es so aus:
CPU-Core <-> L1 Cache <-> L2-Cache <-> L3-Cache <-> ... <-> L728 Cache <-> Hauptspeicher
Prinzipiell kann man soviele Cache-Ebenen einbauen wie man will, allerdings machts halt irgendwann keinen Sinn mehr (also L728 wirds in Realität wohl nie geben).
Der Unterschied zwischen L2 und L3 ist praktisch wie L1 und L2.
Je schneller der Cache werden soll, umso problematischer zu fertigen und teurer und mehr Platz brauchend sind die Caches.
Deswegen lieber mehrstufige Caches mit langsameren, aber größeren L2 bzw. L3 Caches also einen nur marginal größeren, aber schnelleren L1 Cache.
Und wenn man für einen Quad-Core 2 DualCores-Dies, die ja schon L1 und L2 haben, zusammenklebt, macht ein L3 zwischen den 2 Dies und dem Frontside-Bus durchaus auch noch Sinn.
Keine Ahnung, ob das jetzt das war, was Du wissen wolltest. Wenn nicht, bitte Fragestellung nochmals überarbeiten.
Das ein Cache auf dem Prozessor Die sitzt, bedeutet nicht, daß er automatisch auch mit der Prozessorfrequenz läuft. Kann, muß aber nicht.
IBM hat in Ihren POWER Prozessoren sogar mal einen L1 Cache gehabt, der pro Zyklus 2 mal Daten geliefert hat, also praktisch mit doppelter Frequenz lief. Wobei im Zeitalter von Double Data und Quad pumped Datenübertragungen die Frequenz nicht mehr das Einzige ist, was da die Geschwindigkeit anzeigt.
Genauso muß der L2 oder L3 Cache nicht mit der FSB Geschwindigkeit laufen, auch wenn es einige Systeme gibt, bei denen das so ist.
Und nein, der L2 liegt auch auf der CPU, es sei denn, Du meinst die alten Pentium Boards, dort gab es L2 auf dem Motherboard, bei den neuen ist der eigentlich immer in der CPU.
Zu Deiner Frage mit den Quad-Cores:
Jein. Prinzipiell ist es schon so, daß sich die 2 Kerne um den L2 Streiten und es hin und wieder Konflikte gibt die Zeit kosten. Im Gegenzug hat ein L2 für 2 Kerne den Vorteil, daß wenn ein Kern gerade nicht soviel Cache braucht, der andere den benutzen kann. Also bei 2 MB L2 Cache könnte im Fall, daß ein Spiel nur einen Kern benutzt, der eine Kern 2 MB Cache nehmen (wenn der andere nichts tut), was dann besser ist, als 2x1MB. 2x2MB wäre natürlich besser. Wäre dann aber insgesamt doppelt soviel und teurer.
Und es heißt L2, weil jeder Kern zwischen sich und dem L2 Cache noch einen L1 Cache hat.
Und eine CPU muß überhaupt keinen Cache haben. Aber wenn, dann werden die halt L1, L2, L3 usw. durchgezählt, je nachdem ob sie direkt am Kern hängen (L1), hinterm L1 (dann L2), hinterm L2 (dann L3) etc. das hat nichts mit Technik oder ähnlichem zu tun.
IBM hat in Ihren POWER Prozessoren sogar mal einen L1 Cache gehabt, der pro Zyklus 2 mal Daten geliefert hat, also praktisch mit doppelter Frequenz lief. Wobei im Zeitalter von Double Data und Quad pumped Datenübertragungen die Frequenz nicht mehr das Einzige ist, was da die Geschwindigkeit anzeigt.
Genauso muß der L2 oder L3 Cache nicht mit der FSB Geschwindigkeit laufen, auch wenn es einige Systeme gibt, bei denen das so ist.
Und nein, der L2 liegt auch auf der CPU, es sei denn, Du meinst die alten Pentium Boards, dort gab es L2 auf dem Motherboard, bei den neuen ist der eigentlich immer in der CPU.
Zu Deiner Frage mit den Quad-Cores:
Jein. Prinzipiell ist es schon so, daß sich die 2 Kerne um den L2 Streiten und es hin und wieder Konflikte gibt die Zeit kosten. Im Gegenzug hat ein L2 für 2 Kerne den Vorteil, daß wenn ein Kern gerade nicht soviel Cache braucht, der andere den benutzen kann. Also bei 2 MB L2 Cache könnte im Fall, daß ein Spiel nur einen Kern benutzt, der eine Kern 2 MB Cache nehmen (wenn der andere nichts tut), was dann besser ist, als 2x1MB. 2x2MB wäre natürlich besser. Wäre dann aber insgesamt doppelt soviel und teurer.
Und es heißt L2, weil jeder Kern zwischen sich und dem L2 Cache noch einen L1 Cache hat.
Und eine CPU muß überhaupt keinen Cache haben. Aber wenn, dann werden die halt L1, L2, L3 usw. durchgezählt, je nachdem ob sie direkt am Kern hängen (L1), hinterm L1 (dann L2), hinterm L2 (dann L3) etc. das hat nichts mit Technik oder ähnlichem zu tun.
Üblicherweise kommen die Cache Größen an Deine Angaben ran, soweit ich mich erinnern kann gabs von MIPS aber auch einen R16000 der bis zu 16 MiB L2 Cache hatte.
Und man könnte sicher auch eine CPU konstruieren mit 1 MiB L1 Cache.
Es kommt also darauf an, was der CPU Designer für sinnvoll erachtet.
Und zur Größe des L3 Caches: Es gibt CPUs ohne L3, von der IBM gibts einen Power5 CPU mit 8 Kernen, wobei sich jeweils 2 Kerne knapp 2MB L2 und 36 MB L3 teilen, was bei 8 Kernen ca. 8 MB L2 und 144 MB L3 ergibt.
Wie man sieht, können die Größen sehr unterschiedlich sein.
Und zur Zugriffsgeschwindigkeit: Kommt auf das Chipdesign an, kann man nicht pauschal sagen.
Insgesamt gesehen, kann man, wenn man nicht explizit von einer bestimmten CPU redet, überhaupt keine genauen Daten angeben, da die CPU Designer z.T recht kreativ sind, was das Design angeht.
Und man könnte sicher auch eine CPU konstruieren mit 1 MiB L1 Cache.
Es kommt also darauf an, was der CPU Designer für sinnvoll erachtet.
Und zur Größe des L3 Caches: Es gibt CPUs ohne L3, von der IBM gibts einen Power5 CPU mit 8 Kernen, wobei sich jeweils 2 Kerne knapp 2MB L2 und 36 MB L3 teilen, was bei 8 Kernen ca. 8 MB L2 und 144 MB L3 ergibt.
Wie man sieht, können die Größen sehr unterschiedlich sein.
Und zur Zugriffsgeschwindigkeit: Kommt auf das Chipdesign an, kann man nicht pauschal sagen.
Insgesamt gesehen, kann man, wenn man nicht explizit von einer bestimmten CPU redet, überhaupt keine genauen Daten angeben, da die CPU Designer z.T recht kreativ sind, was das Design angeht.