Was ist L-Cache bei einer CPU?
Was ist L-Cache bei einer CPU. Was ist der Unterschied zwischen L1 L2 und L3? Und wozu dient dieser Cache?
4 Antworten
Die CPU hat einen viel höheren Takt als alles andere im PC.
Anfangs war das nur der Faktor 2 oder 4 und die CPU braucht sowieso mehrere Takte um einen Befehl zu verarbeiten. Also muss die ja nicht bei jedem Takt ans RAM um den nächsten Befehl zu erfahren bzw. Zahlen zum verarbeiten zu holen oder weg zu speichern. Das klappte damals also recht gut.
Dann wurde die CPU immer schneller, aber die langen Leitungen durch das Board zum RAM verhinderten, dass das RAM gleich schneller werden kann. Da war dann schnell der Punkt erreicht wo die CPU auf ein mal viele Takte nachdem die einen Befehl fertig hatte warten musste bis die mal wieder auf das RAM zugreifen konnte. Da machte es also keinen Sinn mehr die CPU schneller zu machen, denn je höher man die CPU taktete, desto länger musste die warten bis das RAM erreichbar war.
Um das Problem zu lösen, hat man dann einen Zwischenspeicher, den "Cache" zwischen CPU und RAM eingebaut.
Der L1 Cache sitzt in der CPU und läuft auch mit der Geschwindigkeit der CPU. Die kann also bei jedem Takt auf den L1 Cache zugreifen. Allerdings kann dieser Speicher nicht zu groß sein, denn sonst werden die Strukturen in der CPU zu groß. Je länger die Signale durch die CPU unterwegs sind, desto länger muss man warten bis man den nächsten Takt anlegen kann. Also hat der L1 Cache nur wenige Kilobyte.
Denn Programme enthalten Schleifen, also Code der immer wieder hintereinander ausgeführt wird. Ist der ein mal im L1 drin, kann die CPU diesen Code also mit maximaler Geschwindigkeit verarbeiten. Passt also der Code einer Schleife in den L1 rein, dann kann die CPU diese Schleife nach dem ersten Durchlauf mit maximaler Geschwindigkeit ausführen.
Auch Variablen die in der Schleife immer wieder benutzt werden können so mit maximaler Geschwindigkeit verarbeitet werden.
Wenn man aber größere Datenmengen verarbeiten möchte, dann passen die ja nicht in den L1 Cache hinein. Der hat ja nur wenige Kilobyte. Also hat man dann einen zweiten Cache in die CPU integriert, der läuft aber dann mit reduziertem Takt. Immer noch viel schneller als das RAM, aber langsammer als die CPU. So muss die CPU dann nicht ganz so lange auf die Daten warten, kann da drin aber viel mehr Daten speichern.
Während der L1 Cache nur zwischen 16 und 64 kB groß ist, hat der L2 Cache typisch 2 Megabyte Speicher.
Bei Multicore hat jeder Kern seinen eigenen L1 und L2 Cache. Damit man aber Daten zwischen den Kernen austauschen kann ohne über das Langsame RAM gehen zu müssen gibt es jetzt zurätzlich den L3 Cache den sich alle Kerne teilen.
Der L3 Cache hat meistens die selbe Größe wie alle L2 Caches zusammen und ist wegen seiner Größe noch mal eine Stufe langsamer - aber immer noch viel schneller als das RAM.
Ein wenig Googeln oder hier die Suchfunktion hier zu nutzen, wäre von Vorteil für dich gewesen, denn darauf gibt es schon GENÜGEND Fragen/Anworten.
Die Suchfunktion zu nutzen ist auch eine Regel von Gute Fragen.
Aber hier ein kleiner Trost, damit du weiß wie, was, wo:
https://www.elektronik-kompendium.de/sites/com/0309291.htm
Für AMD4 Plattformen ist somit aktuell der 5700X3D, Preis/Leistung die beste Wahlt, weil der 5800X3D nicht mehr hergestellt wird und sehr Teuer ist, im gegensatz zu den 5700X3D
Das L steht für Level (Ebene) und gibt an wo in der Cache-Hierarchie der jeweilige Cache steht.
Der Cache dient dazu Daten zwischenzuspeichern. Er befindet sich näher am Rechenwerk als der eigentliche Hauptspeicher, der erst aufwendiger über Speichercontroller und Bus angesprochen wird.
Stark vereinfachtes Bild:
Stell Dir die Register des Prozessors als die Arbeitsfläche eines Schreibtisches vor, was dort liegt ist direkt griffbereit, die Caches sind die Schreibtischschubladen, wobei die oberste die Numemr 1 trägt. Der Hauptspeicher ist der Dokumentenschrank am anderen Ende des Raumes.
L1 ist der kleinste mit der kürzestem Zugriffszeit, L2 größer mit einer höheren und L3 ist zum Teil Shared und hat die höchste.
dort werden Daten gecached auf die die CPU gerade zugreift, da Zugriffe auf den ram vergleichsweise langsam sind und man halt zb ein Datum was man jetzt 2x braucht nicht 2x aus dem RAM Laden möchte