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
>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.
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.
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.
>Und nein, auch SingleCore profitiert davon.
Zweifellos. Aber dort könnte man ihn auch gleich als L2 einbauen.
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
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.
>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
L1 ja, zu L2 und L3 musst Du bei den Proz. Herstellern die Spec. anschauen. Weiß ich jetzt nicht aus dem Kopf.
Ε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.
Hard- und Software muss halt harmonieren. Und nun gehts in der Entwicklung darum, gleiche Leistung mit weniger Energie zu erreichen.
>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
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.
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.
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.
>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...
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.
Ε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.
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.
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.