Forum: PC Hard- und Software Frage zu L3 Cache


von Tobi (Gast)


Lesenswert?

Hallo,

wie ist die Angabe "8 MB Shared L3-Cache" bei einem i7-860-Prozessor zu 
bewerten? Ich habe das kürzlich in einer Werbe-Beilage gesehen...den 
L2-Cache haben die überhaupt nicht erwähnt.

Ich kenne von früher noch den L2-Cache bzw. dessen Bedeutung für die 
Arbeitsgeschindigkeit von Anwendungen. Damals habe ich gelernt, dass 
einzeln laufende Anwendungen weniger vom Cache als von einer hohen 
Taktfrequenz profitieren. Laufen dagegen mehrere Anwendungen parallel, 
profitieren diese in der Regel mehr vom Cache als von der hohen 
Taktfrequenz.

Was genau habe ich mir unter einem Shared L3-Cache vorzustellen?

Welche Rolle spielt der L3-Cache bei Prozessoren von früher, bei denen 
immer nur mit L2-Cache geworben wurde. Die werden doch wohl einen 
L3-Cache gehabt haben, oder?

Welche Rolle spielt der L2-Cache bei aktuellen Prozessoren mit großem 
Shared L3-Cache?

Viele Grüße,
Tobi

: Gesperrt durch User
von Icke (Gast)


Lesenswert?

>Was genau habe ich mir unter einem Shared L3-Cache vorzustellen?
Das ist der Cache, der von allen CPU-Kernen gemeinsam genutzt wird. 
Zusätzlich hat jeder Kern noch einen eigenen L1- und L2-Cache.

>Welche Rolle spielt der L3-Cache bei Prozessoren von früher, bei denen
>immer nur mit L2-Cache geworben wurde. Die werden doch wohl einen
>L3-Cache gehabt haben, oder?
Nö, hatten die i.d.R. nicht. Der L3 wurde mal mit irgendeinem Athlon 
eingeführt, macht aber erst bei Multicore-CPUs richtig Sinn.

Generell kann man sagen, je größer der Cache (egal welcher), desto 
besser.

von Εrnst B. (ernst)


Lesenswert?

Den L2-Cache hat jede CPU (jeder "Core") für sich, den L3-Cache muss sie 
mit den anderen Cores teilen.

Obs was bringt? Völlig wurscht, du hast ja eh keine andere Wahl.

Dass die Werbung gerade den L3-Cache heraushebt, hat einen einfachen 
Sinn: Dieser ist Billiger als L1/L2 Cache, muss nur einmal ausgeführt 
werden, ist also folglich viel Größer.
Große Zahlen == Gut == Viele Leute kaufen das Teil.

von mhh (Gast)


Lesenswert?

Icke schrieb:
> Der L3 wurde mal mit irgendeinem Athlon
> eingeführt, macht aber erst bei Multicore-CPUs richtig Sinn.

Beim K6-2+ und K6 III wurde L2 Cache integriert und machte den auf dem 
Mobo befindlichen gesteckten L2 Cache damit zum L3 Cache. Und nein, auch 
SingleCore profitiert davon. Bei Mehrkernprozessoren im höheren 
Leistungssegment wurde integrierter L3 Cache zum Standard.

Εrnst B✶ schrieb:
> Dieser ist Billiger als L1/L2 Cache, muss nur einmal ausgeführt
> werden, ist also folglich viel Größer.
> Große Zahlen == Gut == Viele Leute kaufen das Teil.

Cache ist teuer wegen des Platzbedarfes auf dem DIE, nicht wegen der 
Herstellungstechnologie. Der L3 Cache braucht den meisten Platz, also 
ist er nicht am billigsten.

von Icke (Gast)


Lesenswert?

>Und nein, auch SingleCore profitiert davon.
Zweifellos. Aber dort könnte man ihn auch gleich als L2 einbauen.

von Tobi (Gast)


Lesenswert?

Hallo,

danke für eure bisherigen Erläuterungen.

>Dass die Werbung gerade den L3-Cache heraushebt, hat einen einfachen
>Sinn: Dieser ist Billiger als L1/L2 Cache, muss nur einmal ausgeführt
>werden, ist also folglich viel Größer.
>Große Zahlen == Gut == Viele Leute kaufen das Teil.

Irgendwie habe ich noch im Gedächtnis, das die Cache-Level auch die 
Geschwindigkeit widerspiegeln - also quasi von schnell nach langsam:
L1 - L2 - L3 - (und dann das RAM)

Verstehe ich das richtig, dass L2-Cache daher nach wie vor essentiell 
wichtig ist und gar nicht groß genug sein kann, auch bei modernen 
i7-Prozessoren?

Nützt mir der L3-Cache womöglich nur etwas bei speziellen 
Anwendungen(z.B. Videobearbeitung), die als einzelne Anwendung mehrere 
Kerne sinnvoll auslasten und den großen Shared-Cache zu nutzen wissen?

Der i7 860 hat laut meinen Recherchen 4x256KB L2 Cache. Ein Intel Core 2 
Duo T7300 aus dem Jahr 2007 hat laut meinen Recherchen satte 4 MB 
L2-Cache. Ist der i7 860 - trotz schwachem L2 Cache - besser als der 
T7300, wenn es darum geht, mehrere Anwendungen parallel laufen zu 
lassen?

Gruß, Tobi

von mhh (Gast)


Lesenswert?

Die Cache Größe spielt eine Rolle, denn wenn der Platz eng wird, muss ja 
in den RAM ausgelagert werden. Und ja, es ist von der Anwendung 
abhängig, wie viele Vorteile sich dabei aus größerem Cache ergeben.

Bei parallelen Anwendungen spielt die Prozessorarchitektur UND die 
laufende Software eine Rolle bei der Schnelligkeit. Weniger benötigte 
Takte pro Befehl können einen Prozessor also durchaus trotz weniger 
Cache schneller sein lassen.

Du kannst ja spaßeshalber im Bios den Cache einzeln deaktivieren. Da 
merkst Du, was L1 und L2 Cache für Auswirkungen haben.

von Tobi (Gast)


Lesenswert?

>Du kannst ja spaßeshalber im Bios den Cache einzeln deaktivieren. Da
>merkst Du, was L1 und L2 Cache für Auswirkungen haben.

Ja, das kenne ich noch von früher...dann braucht Windows eine Ewigkeit 
um hochzufahren... ;)

Ich habe in alten Artikeln gelesen, dass L1 mit vollem Prozessor-Takt 
und L2 nur mit halben Takt arbeitet. Ist das immer noch so? Und hat L3 
dann folglich ein Viertel des Taktes?

Gruß, Tobi

von mhh (Gast)


Lesenswert?

L1 ja, zu L2 und L3 musst Du bei den Proz. Herstellern die Spec. 
anschauen. Weiß ich jetzt nicht aus dem Kopf.

von Rolf Magnus (Gast)


Lesenswert?

Εrnst B✶ schrieb:
> Obs was bringt? Völlig wurscht, du hast ja eh keine andere Wahl.

Naja, kommt drauf an. Du könntest z.B. die Wahl haben zwischen zwei 
Varianten eines Prozessors, wo die eine 100 Mhz mehr Takt, dafür aber 
nur halb so viel Cache hat wie die andere.

Tobi schrieb:
> Irgendwie habe ich noch im Gedächtnis, das die Cache-Level auch die
> Geschwindigkeit widerspiegeln - also quasi von schnell nach langsam:
> L1 - L2 - L3 - (und dann das RAM)

Ja.

> Nützt mir der L3-Cache womöglich nur etwas bei speziellen
> Anwendungen(z.B. Videobearbeitung), die als einzelne Anwendung mehrere
> Kerne sinnvoll auslasten und den großen Shared-Cache zu nutzen wissen?

Der nützt auch bei Programmen, die nur einen Kern nutzen, was, denn ein 
Programm kann auch zwischen den Kernen migrieren, also mal auf dem einen 
und mal auf dem anderen laufen. Sowas wird vom Betriebssystem gemacht, 
um eine einigermaßen gleichmäßige Auslastung der Kerne zu erreichen.

mhh schrieb:
> Bei parallelen Anwendungen spielt die Prozessorarchitektur UND die
> laufende Software eine Rolle bei der Schnelligkeit. Weniger benötigte
> Takte pro Befehl können einen Prozessor also durchaus trotz weniger
> Cache schneller sein lassen.

Aber auch umgekehrt kann ein Programm, das zwar rein von den Taktzyklen 
seiner Instruktionen her sehr schnell wäre, elends langsam werden, wenn 
sein Verhalten für den Cache ungünstig ist.

von mhh (Gast)


Lesenswert?

Hard- und Software muss halt harmonieren. Und nun gehts in der 
Entwicklung darum, gleiche Leistung mit weniger Energie zu erreichen.

von Tobi (Gast)


Lesenswert?

>Der nützt auch bei Programmen, die nur einen Kern nutzen, was, denn ein
>Programm kann auch zwischen den Kernen migrieren, also mal auf dem einen
>und mal auf dem anderen laufen. Sowas wird vom Betriebssystem gemacht,
>um eine einigermaßen gleichmäßige Auslastung der Kerne zu erreichen.

Interessant...beherrscht mein in die Jahre gekommenes Windows XP auf 
moderner Hardware dieses "Migrieren" auch schon? Eventuell durch die 
Installation eines so genannten "Prozessor-Treibers" von der 
Mainboard-CD? Oder muss ich dafür Windows 7 haben? Und was ist mit 
Linux/Mac?

>Hard- und Software muss halt harmonieren. Und nun gehts in der
>Entwicklung darum, gleiche Leistung mit weniger Energie zu erreichen.

Ich gewinne beim Studieren der TDP von modernen QuadCore-Prozessoren 
(125 - 130 Watt) ehrlich gesagt nicht gerade den Eindruck, dass bei neu 
entwickelten Prozessoren Stromsparen die oberste Direktive ist. Kann es 
sein, dass gleiche Leistung mit weniger Energie für die Hersteller quasi 
eine erst später erfolgende "Kür-Übung" ist, damit man den Markt 
möglichst früh(Konkurrenz) mit Leistungsfähigen - aber Stromhungrigen, 
da noch nicht auf Stromsparen optimierten - Prozessoren versorgen kann?

Gruß, Tobi

von (prx) A. K. (prx)


Lesenswert?

Rolf Magnus schrieb:

> Der nützt auch bei Programmen, die nur einen Kern nutzen, was, denn ein
> Programm kann auch zwischen den Kernen migrieren, also mal auf dem einen
> und mal auf dem anderen laufen. Sowas wird vom Betriebssystem gemacht,
> um eine einigermaßen gleichmäßige Auslastung der Kerne zu erreichen.

Da die Betriebssysteme diese Neigung schon besitzen, seit es 
Mehrprozessorsysteme mit anfangs noch getrennten Sockeln gibt, glaube 
ich weniger an höhere Inspiration als an etwas unglücklich agierende 
Scheduler.

von (prx) A. K. (prx)


Lesenswert?

Tobi schrieb:

> Ich gewinne beim Studieren der TDP von modernen QuadCore-Prozessoren
> (125 - 130 Watt) ehrlich gesagt nicht gerade den Eindruck, dass bei neu
> entwickelten Prozessoren Stromsparen die oberste Direktive ist.

Indirekt schon. Zwischen Performance und Wärmeleistung besteht ein 
direkter Zusammenhang. Die eigentliche oberste Direktive ist in der 
Oberklasse der Prozessoren zwar die Performance. Der TDP-Wert ist aber 
die kritische Rahmenbedingung, denn mehr als diese 100-130W lässt sich 
mit PC-gängingen Kühltechniken nicht massentauglich realisieren. 
Stromsparen ist deshalb spätestens seit Pentium 4 zum wesentlichen 
Mittel der Performancesteigerung geworden. Auf hohem Niveau.

> eine erst später erfolgende "Kür-Übung" ist, damit man den Markt
> möglichst früh(Konkurrenz) mit Leistungsfähigen - aber Stromhungrigen,
> da noch nicht auf Stromsparen optimierten - Prozessoren versorgen kann?

Korrekt. Die am höchsten getakteten Prozessoren kommen zuerst mit 
120-130W TDP raus, weil sie direkt am oberen Ende dessen agieren, was 
die Fertigungstechnik hergibt. Schneller kann man zu diesem Zeitpunkt 
nicht, sonst gäbe es schnellere. Mit besserer weiter optimierter 
Fertigung gibt es die irgendwann dann auch in der 90W-Region.

von (prx) A. K. (prx)


Lesenswert?

Tobi schrieb:

> Ich habe in alten Artikeln gelesen, dass L1 mit vollem Prozessor-Takt
> und L2 nur mit halben Takt arbeitet. Ist das immer noch so? Und hat L3
> dann folglich ein Viertel des Taktes?

Je weiter weg ein Cache vom Core ist, desto langsamer ist er, jedenfalls 
was die Zugriffszeit angeht.

Je grösser ein Cache ist, desto langsamer ist er auch (*) - das ist 
technisch bedingt. Und da zwischen dem L(n+1)-Cache und dem Core der 
L(n) Cache sitzt, muss der L(n+1)-Cache deutlich grösser sein, sonst 
bringt er nichts (jedenfalls bei Intel, bei AMD ist das etwas anders).

Ob das mit reduzierter Taktung einhergeht ist eine andere Frage, denn 
die Taktfrequenz dieser Komponente spielt dabei weniger einer Rolle.

*: Beim L1-Cache kommt hinzu, dass man bedingt durch die 
performancebedingt notwendige virtuelle(lineare) Indizierung dieses 
Caches diesen Cache nicht beliebig vergrössern kann.

von Icke (Gast)


Lesenswert?

>Ich gewinne beim Studieren der TDP von modernen QuadCore-Prozessoren
>(125 - 130 Watt) ehrlich gesagt nicht gerade den Eindruck, dass bei neu
>entwickelten Prozessoren Stromsparen die oberste Direktive ist.

Die TDP sagt wenig über den realen Stromverbrauch aus. Sie gibt 
lediglich an, mit welcher maximalen Wärmeabgabe der PC-Hersteller 
rechnen muß, damit er die Kühlung entsprechend auslegen kann. In der Tat 
sind die aktuellen CPUs im Vergleich zu früher sogar sehr genügsam. Die 
Workgroup-Server, die ich momentan baue, kommen mit ca- 100-120 Watt 
Stromaufnahme (netzseitig gemessen) aus, Anwendungs-Server mit zwei 
Quadcores unter Vollast mit ca. 200 Watt. Vor nicht allzu langer Zeit 
lagen diese Werte noch beim Doppelten bis Dreifachen.
Und 125 Watt für vier Kerne ist gar nicht so schlecht, wenn man bedenkt, 
daß z.B. ein Pentium-4 mit nur einem Kern schon fast so viel Leistung 
verbraten hat. Wenn ich an die Prescotts zurückdenke, die konnten schon 
im Leerlauf kleine Räume schön warm halten...

von (prx) A. K. (prx)


Lesenswert?

Icke schrieb:

> verbraten hat. Wenn ich an die Prescotts zurückdenke, die konnten schon
> im Leerlauf kleine Räume schön warm halten...

Yep, in dieser Generation hatte Intel derart radikal auf Taktfrequenz 
optimiert, dass die Leckströme exorbitant anstiegen. In der Folge gingen 
sowas in der Grössenordnung von 30W allein durch diese Leckströme drauf.

Da man diese Leerlaufleistung nicht produktiv nutzen kann und sie 
aufgrund des begrenzten Wärmebudgets der lastabhängigen Leistung im Weg 
steht, hat man die Produktion späterer Prozessoren auf Kompromiss 
getrimmt. Daher ist man im Leerlauf heute wieder ungefähr da, wo man vor 
dem Pentium 4 war. Plus selektive Abschaltung&Taktreduzierung, was 
weiter Strom einspart und früher nicht existierte, jedenfalls nicht bei 
Desktops/Servern.

von (prx) A. K. (prx)


Lesenswert?

Εrnst B✶ schrieb:

> Dass die Werbung gerade den L3-Cache heraushebt, hat einen einfachen
> Sinn: Dieser ist Billiger als L1/L2 Cache, muss nur einmal ausgeführt
> werden, ist also folglich viel Größer.
> Große Zahlen == Gut == Viele Leute kaufen das Teil.

Ein Core hat jenseits seines privaten L2-Cache bei gleicher Taktung und 
Rechenleistung eine bestimme Datenrate zwischen ihm und dem Speicher. 
Kann der Speicher die nicht liefern sinkt die Rechenleistung.

Wenn man nun 4 oder 6 solcher Cores auf einem Die zusammenspannt, dann 
steigt für gleiche Performance pro Core die Anforderung an den Speicher 
folglich auf das 4-6fache. Durch neuere und ggf. breitere 
Speicherinterfaces kann man das nur begrenzt abfangen, besonders die 
steigende Breite erhöht die Kosten.

Der L3 Cache auf dem Chip entlastet das sonst überforderte 
Speichersystem, so dass man nur damit die Performance pro Core 
einigermassen halten kann. So ist Ickes Aussage zu verstehen, dass dies 
erst bei Multicores so richtig Sinn ergibt.

von Rolf Magnus (Gast)


Lesenswert?

Tobi schrieb:
>>Der nützt auch bei Programmen, die nur einen Kern nutzen, was, denn ein
>>Programm kann auch zwischen den Kernen migrieren, also mal auf dem
>> einen und mal auf dem anderen laufen. Sowas wird vom Betriebssystem
>> gemacht, um eine einigermaßen gleichmäßige Auslastung der Kerne zu
>> erreichen.
>
> Interessant...beherrscht mein in die Jahre gekommenes Windows XP auf
> moderner Hardware dieses "Migrieren" auch schon?

Das unterstützt es auch auf alter Hardware.

> Eventuell durch die Installation eines so genannten "Prozessor-Treibers" von der 
Mainboard-CD?

Da wird man keinen Treiber brauchen.

> Oder muss ich dafür Windows 7 haben? Und was ist mit Linux/Mac?

Auch da. Sowas muß vorhanden sein. Schließlich wird sich der Bedarf 
eines Programms an Rechenzeit ja im Laufe der Ausführung in der Regel 
ändern. Ein Programm, das gerade noch Däumchen gedreht und hauptsächlich 
auf Benutzereingeaben gewartet hat, kann im nächsten Moment auf einmal 
eine sehr rechenaufwendige Aktion durchführen, während ein anderes nicht 
mehr so viel Rechenzeit braucht wie gerade eben noch. Dann muß es dem 
Betriebssystem ja möglich sein, die Programme "umzuverteilen", sonst 
könnte es auch passieren, daß alle rechenaufwendigen Prozesse sich auf 
einmal einen Prozessor teilen müssen, während die anderen Prozessoren 
nix zu tun haben.

von (prx) A. K. (prx)


Lesenswert?

Tobi schrieb:

> moderner Hardware dieses "Migrieren" auch schon? Eventuell durch die
> Installation eines so genannten "Prozessor-Treibers" von der
> Mainboard-CD?

Der hat eher was mit Zeugs wie Umschaltung zwischen Stromsparmodi zu 
tun.

von Icke (Gast)


Lesenswert?

...oder mit der Umgehung von CPU-Bugs...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dies ist kein Hausaufgabenforum.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.