tobiisfreaky
Goto Top

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

Content-Key: 69377

Url: https://administrator.de/contentid/69377

Printed on: April 19, 2024 at 02:04 o'clock

Member: AndreasHoster
AndreasHoster Sep 24, 2007 at 12:46:57 (UTC)
Goto Top
Links oben face-wink

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.
Member: TobiisFreaky
TobiisFreaky Sep 24, 2007 at 13:41:28 (UTC)
Goto Top
Das war durchaus eine Antwort auf meine Frage.

Allerdings habe ich da noch etwas:

Der L1-Cache sitzt doch auf dem CPU und benutzt die interne Taktfrequenz

Der L2-Cache und L3-Cache benutzen die externe Taktfrequenz, sprich FSB, der auch für den Arbeitsspeicher zur Verfügung steht.


Mit Standort meinte ich wo genau diese Caches sitzen, also auf CPU oder Mainboard.
Ich glaube aber herausgefunden zu haben, dass L1-Cache direkt auf dem CPU und L2- Cacheauf dem Mainboard liegt und eine Verbindung zum CPU via Datenbus vorhanden ist.
Deswegen auch die interne und externe Taktfrequenz.


Andere Frage:

Wenn sich bei einem Quad-Core jeweils 2 Kerne 1 L2-Cache teilen, ist dann der CPU nicht langsamer, als wenn jeder Kern einen eigenen L2-Cache hätte??

und warum spricht man hier nicht mehr vom L1-Cache, sondern vom L2-Cache???

Das irritiert mich gerade etwas.
Dachte auf jedem CPU MUSS ein L1-Cache vorhanden sein, von wo aus die Daten weitergeleitet werden an den L2-Cache und so weiter.... bis Arbeitsspeicher --> Festplatte.


Vielen dank für deine Hilfe


Mit freundlichen Grüßen

Freaky
Member: Iwan
Iwan Sep 24, 2007 at 14:13:28 (UTC)
Goto Top
Member: AndreasHoster
AndreasHoster Sep 24, 2007 at 14:15:49 (UTC)
Goto Top
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.
Member: TobiisFreaky
TobiisFreaky Sep 24, 2007 at 14:20:20 (UTC)
Goto Top

ja, habe den selben Thread nochmal hier geöffnet, da mir auf THG zuerst nicht geantwortet wurde und die Infos aber bis morgen brauche für die Berufsschule.

Das nächste Mal werde nur 1 Threadin einem Forum öffnen face-smile

Ich würde sagen, ich war einfach nur frech :P

Bist du der FormatC ???


LG Tobi
Member: TobiisFreaky
TobiisFreaky Sep 25, 2007 at 06:12:45 (UTC)
Goto Top
und wie ist das, wenn Daten, die im L3-Cache zwischengespeichert wurden?

Werden die dann direkt abgerufen, wenn der prozessor diese wieder benötigt, oder werden diese erst über den L2 und danach über den L1-Cache geschoben?

Und wie sind die L1 / L2 / L3-Caches größen???


ahh ok das mit L1 und L2-Cache hat sich erledigt:

L1-Caches sind 4 bis 256 KiB
L2 64 bis 8192 KiB (oder 8,192 MB)

jetzt bleibt noch die Frage, wie groß der L3-Cache ist


Und in welchen Sekundenbruchteilen greift der Prozessor auf die Caches zu?

also L3-Cache muss langsamer sen als der L2-Cache, dieser widerum langsamer as der L1.



Mit freundlichen Grüßen


Freaky
Member: AndreasHoster
AndreasHoster Sep 25, 2007 at 07:29:13 (UTC)
Goto Top
Ü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.