Frage zum CPU Cache

SPAC

Admiral Special
Mitglied seit
05.05.2003
Beiträge
1.809
Renomée
3
Hallo,

ich hab mal eine Frage bezüglich Cache von CPU´s.
Habe Gestern vom neuen Itanium 2 (Madison) gelesen.
6Mb L3 Cache kling verdammt viel.

Was bedeutet das L1, L2, L3..... Cache?
Ist es besser wenn CPU´s mehr Cache (auf) L1, L2 oder L3 haben?
Ich war erstaunt das der Operton 1Mb L2 Cache hat,
wie gut ist das jetzt wo der Itanium 2 6Mb L3 hat?

Ist nur Interesse halber, werd mir keinen Itanium kaufen
dann lieber Auto oder ne Küche. :)

Danke für Antworten

SPAC
 
Level, Level2, Level3 bezeichnen die Nähe zur CPU.

Der L1-Cache wurde schon sehr früh in die CPU integriert. Dort sind die Daten wesentlich schneller verfügbar, als der Zugriff auf den Hauptspeicher.
Der L2- Cache wurde ab dem Pentium Pro, in der x86- Welt, CPU nahe eingefügt.
Vom Konzept war der K6/NextGen sogar auch schon für L2- Cache ausgelegt.

Dieser Zwischenspeicher ist nicht ganz so schnell, aber immer noch schneller als der Hauptspeicher.

Mit dem K6III war in der x86- Welt auch L3- Cache möglich, dieser war jedoch ausserhalb der CPU und war nur unwesentlich schneller als der Hauptspeicher, dennoch konnten durch den Einsatz teilweise Leistungssteigerungen bis 5% erreicht werden.

Das Integrieren des L1- und des L2- bedeuteten wesentlich mehr Leistungsschub.

L3 hat heute derzeit nur Sinn bei fetten Datenbanken/Servern, dort werden Daten abgelegt, die zwar immer wieder aus den oberen Caches herausgekegelt werden, weil andere Daten wichtiger sind, aber diese L3- Daten werden immer noch wesentlich schneller aus dem Hut gezaubert, als Daten aus dem Hauptspeicher.

Das Anwachsen der Dies der letzten Jahre lag vor allem an dem Integrieren von Cache und noch mehr Cache.

Der Opteron ist teilweise eine Ausnahme davon, da grosse Bereiche vollkommen neu integriert wurden: X-Bar, Speicherkontroller etc.

Intel ist fast dazu gezwungen, den L3 Cache neu einzubinden, denn bei Multiprozessorsystemen klauen sich die CPU`s gegenseitig Daten, bzw behindern sich beim Zugriff auf den Hauptspeicher.
Der Opteron hat das Problem auf mehrfache Weise elegant gelöst. Jede CPU hat eigenen persönlichen Speicher.
Jede CPU kann gar auf den L2 Cache der Nachbar CPU zugreifen!
Konnte der AthlonMP auch!
Die Latezen beim Zugriff auf dem Hauptspeicher wurden extrem verbessert.

So sind die Opterons wesentlich weniger gierig auf L3 Cache, als das Konzept von Intel.
Langfristig ist dies wesentlich kostengünstiger, da die Die- Fläche klein gehalten werden kann.
Intel ist dadurch gezwungen ständig die besten Produktionstechniken einzuführen, da der Cache immer weiter anwächst.

PS. Die Ergänzung von Opteron ist goldrichtig, hatte ich glatt übersehen! ;)
 
Zuletzt bearbeitet:
6Mb L3 Cache kling verdammt viel.

jo klingt viel ... was Du aber nicht vergessen darfst, die Itaniums sind ja Intels 64 Bitter ... und die haben nen viel größeren Codebedarf als z.B. auch AMD64-Technik.
D.h. die Befehle brauchen viel mehr Platz, was wiederum bedeutet, dass der Itanium nicht "soviel" mit den Riesencache anfagen kann als eine x86-32 CPU. AMD hats geschafft, den Code nur moderat zu vergrößern ich glaub so ~10%.

ciao

Alex
 
erst mal Danke für die Antworten,
bin jetzt bissal schlauer.
Wird also der Itanium dem Operton das leben schwer machen?
Oder ist der Itanium viel zu teuer?

 
Zuletzt bearbeitet:
Der Itani(c)um tritt in einer ganz anderen Liga auf, die Die- Fläche ist 2 bis 3 mal so gross wie die eines Opterons!

Wenn du weitere Infos haben willst so kannst du folgenden Thread Durchackern, auf der ersten Seite ist auch ein Inhaltsverzeichnis angegeben!
Die Opteron Zukunft, kann AMD überleben?
http://www.planet3dnow.de/vbulletin/showthread.php3?threadid=97374

Zur Serverwelt kann ich dir folgenden Thread geben:
Opteron Cray Red Storm Supercomputer, ca. 10.000 Opterons
http://www.planet3dnow.de/vbulletin/showthread.php3?threadid=98764
 
@Botkill
Soweit ich weis soll der Madison sogar 500 Millionen Transistoren haben... der Opteron hat 100 Millionen.

Intel hat sich beim Itanium nix neues einfallen lassen, da ist seit geraumer Zeit die Devise "Cache Cache und an den Cache denken!" :P
Vergleichen kann man Opteron und Itanium sicher - nur kommt es in den Bereichen in den die beiden CPUs verkauft werden nicht auf Preis/Cpu sondern wenn schon auf Preis/Leistung an.
Und ein Itanium sieht bei manchen Benchmarks schon recht alt gegen einen Opteron aus... bei 8 Opterons dürfte der Itanium weit zurückfallen.

Aber es kommt sowieso noch mehr auf Service usw. an und hier hat AMD noch recht wenig Erfahrung... aber der Itanium vergammelt auch in den Regalen.

PS Der Power4 hat übrigens 128mb L3 Cache ;)

Hier mal was zur Funktionsweise von Cache:
Alle Daten die die CPU lädt werden im L1 Cache gespeichert, bei einer inklusiven Architektur auch in allen anderen Caches. Werden diese Daten dann länger nicht benötigt werden sie durch aktuellere Daten überschrieben, da der L1 Cache der kleinste ist geschieht das hier am schnellsten - bei den anderen Caches dauert es halt etwas länger weis die anderen Caches einfach größer sind.

Bei einer inklusiven Architektur befindet sich eine Kopie des L1 Cache im L2 Cache, eine Kopie des L2 im L3 usw.....
Bei einer exklusiven Architektur (wie sie der Athlon beispielsweise nutzt, der P4 hat eine inklusive Architektur) befinden sich hingegen die Daten nur in einem der Caches. Ergo ist es richtig wenn man sagt der Barton hat 640kb Cache und der Nordholz nur 512kb Cache.
 
Original geschrieben von intel_hasser
[BPS Der Power4 hat übrigens 128mb L3 Cache ;)

Bei einer inklusiven Architektur befindet sich eine Kopie des L1 Cache im L2 Cache, eine Kopie des L2 im L3 usw.....
Bei einer exklusiven Architektur (wie sie der Athlon beispielsweise nutzt, der P4 hat eine inklusive Architektur) befinden sich hingegen die Daten nur in einem der Caches. Ergo ist es richtig wenn man sagt der Barton hat 640kb Cache und der Nordholz nur 512kb Cache. [/B]

die 32MB L3 Cache des Power4+ sind eDRAM, und nicht direkt auf der CPU.

Ansonsten, ist der L1 Cache es P4 wohl nicht immer inklusiv, und der L2 ist exklusiv (sonst macht der L3 Cache so wenig Sinn)
 
Der P4 ist komplett inklusiv, beim Itanicum weis ich es net. Kann aber auch sein.

Laut SPEC gibt es auch Power4+ Systeme mit 128mb L3 Cache ;)
 
Original geschrieben von intel_hasser
Der P4 ist komplett inklusiv, beim Itanicum weis ich es net. Kann aber auch sein.

Laut SPEC gibt es auch Power4+ Systeme mit 128mb L3 Cache ;)

der P4 ist nicht komplett Inclusive soweit es einige Tests vermuten lassen (L1 Cache)
Beim L2 Cache erübrigt sich die Sache schon mal. Denn was will ich mit einem 512KB bzw 1MB L3 Cache, wenn dieser die 512KB bzw 1MB L2 Cache enthalten muss?
Das ist etwas fern ab jeglichen Sinnes *noahnung*

Was du als 128MB L3 Cache Power4+ bezeichnest, sind Module aus 4 Power4+ CPUs. Diese haben ein 128MB eDRAM Modul, welches zu 4x32MB unterteilt ist. Pro Power4+ CPU L3 Cache controller gibt es 32MB + die anderen shared.

Die SPEC Tests werden nach Vorgabe nur mit einer Power4+ CPU ausgeführt, so dass sie beiden CPU Kerne statt auf 32MB auf 128MB zugreifen können.
 
Für den P4 waren doch nie mehr als 2 Caches geplant??? - bei Dektop CPUs erübrigt sich sowas sowieso, weil da nach spätestens 1mb schluss ist und sich nix mehr tut.

Wie es mit dem Tracecache aussieht weis ich net, aber soweit ich weis liegen die Daten von dem auch im L2 Cache (sind ja auch nur ~10kb), bisher hab ich auch noch nix von einer exklusiven Architektur gehört (und das bezieht sich nicht auf einen bestimmten Cache, sondern auf den gesamten Prozz).


PS Bei den 4fach CPU Ergebnissen vom Power4+ steht auch 128mb L3 Cache, aber L1 und L2 sind nur für eine einzelne CPU (96kb und 1536mb) *noahnung*
 
Irgendwo in den Tiefen von Intels Seiten/Dokus oder auch in den Betrachtungen von http://www.chip-architect.com
würde die Grösse des Trace Caches genannt.
Physikalisch ist dies ein Speicherinhalt von 80KB. Allerdings wird der Tracecache mit dem umcodierten x86- CISC Instruktionen aufgefüllt.
Diese umcodierten Befehle ähneln stark RISC- Code, zudem werden diese Befehle auch mehrfach dort gespeichert, wenn es dem Codierer so gefällt. Dieser RISC- artige Code nimmt auch wesentlich mehr Speicherplatz ein.
Die Schätzungen zu Grösse des Tracecaches schwanken demnach sehr stark. Konsequenterweise nennt Intel ja auch die Anzahl der internen Maschinenbefehle.
Soweit ich verstanden habe , ist die Intelarchitektur bei L1 und L2 inclusive, dafür sind diese Caches rattenschnell.

AMD macht sich mehr Mühe mit der Datenorganisation von L1 und L2 Cache, dafür ist der Cache langsamer!

Wie das mit dem L3 Cache ist weiss ich nicht, aber ich denke, dass Schnelligkeit vor Ordnungssinn bei Intel steht, jedenfalls ist die bisherige Politik so gewesen.
 
Beim L1 Cache stimmt das, der ist deutlich schneller als der vom Athlon. Beim L2 Cache ist es aber glaub ich umgedreht, wesswegen der Barton auch nicht mehr so stark von den 512kb L2 Cache profitiert hat *noahnung*
 
Original geschrieben von SPAC
erst mal Danke für die Antworten,
bin jetzt bissal schlauer.
Wird also der Itanium dem Operton das leben schwer machen?
Oder ist der Itanium viel zu teuer?
Solange die großen Kistle-Bauer die Nähe zu Intel suchen wird AMD im Server-Segment kein Bein auf die Erde kriegen. Noch ein Knackpunkt sind die Server-Chipsätze. Auch hier konzentrieren sich die Hersteller in erster Linie auf Intel.
 
Intel hat im Servermarkt selber zu kämpfen, da dominieren ganz andere Größen wie Ibm, Sun (ok, war mal), HP usw...

Und den vorgestellten bzw. geplanten Servern nach ist das Interesse am Opteron riesig - nicht zu vergleichen mit dem Absatz von Itanium (auch wenn der Opteron eher in die Nähe des Xeon zielt kann er es doch mit dem Itanium aufnehmen... meiner Meinung nach ;))
 
Guck mal, was für CPUs in den meist verkauften Kisten von HP/Compaq, IBM, Siemens und Dell laufen. Es gibt bei den Herstellern nicht umsonst extra eine Kategorie namens "Intel-Server".
Und ich schätze mal, dass man noch lange warten kann bis Broadcom sich mit seinen ServerWorks-Chipsätzen von Intel abwendet.
Wenn man sich anschaut, wie eng die alle mit Intel zusammen hocken, dann muss man schon ein echter Optimist sein wenn man AMD eine Zukunft in dem Segment zugesteht.
 
Was glaubst du, wer im Serverbereich Marktführer ist? Nein, das ist nicht Intel. Die kleinen Xeon Kisten bringen doch verglichen mit den wirklich großen Systemen keinen Umsatz!
 
"Laut der International Data Corporation (IDC) betrug der Anteil der Intel-basierten Server 88 Prozent aller im 4. Quartal 2001 ausgelieferten Server. In den Bereichen Mid-Tier- und Back-End-Server betrug der Anteil der ausgelieferten 4- bis 8-Wege Server auf Basis von Intel 67 Prozent."

Die Studie ist zwar bereits anderthalb Jahre alt aber allzu viel dürfte sich daran nicht geändert haben. Guck dir ein durchschnittliches RZ an und zieh den Vergleich. Die allermeisten verkauften Maschinen sind nun mal kleinere und mittlere Kisten.
Dazu kommt inzwischen noch der wachsende Markt der High-Density-Maschinen (Blade-Server), wo fast ausschliesslich auf Intel gesetzt wird.
Mit Intel-Kisten wird jede Menge Umsatz produziert - die Masse macht's.
 
Für die richtigen Server hat Intel nur einen Prozz - den Itanium. Und der liegt "wie Blei in den Regalen". Die wirklich großen Rechner haben nicht nur läppische 8 Prozessoren.
 
Dazu sollte man sagen, dass das Umschwenken auf Intel, nicht nur die gestigenen Rechenleistung der x86- Welt zu verdanken ist, sondern auch dem schon lange Angekündigten Tod von Alpha und der HP RISC- Linie.
Zufällig kaufte Intel Alpha und so auch alle Rechte und Patente. HP ist ebenso stark involviert in die Itani(c)um- Entwicklung wie Intel.
Dass HP Compaq aufkaufte passt so wunderbar in das Bild hinein.
Als weitere Alternative bleibt so nur noch Sun, die aber lediglich CPUs entwerfen aber nicht selber backen, sowie IBM.
IBM bildet aber ein eigenes Universum, die backen alles was möglich ist. Von den damaligen Cyrix M1/II über die diversen Transmeta`s, die Power PC Familie und den nun möglichen baldigen Produktionsstart der Hammerfamilie von AMD.
AMD hatte diverse PDF`s, auch über ihre Vorstellungen vom Marktgefüge und die Stellung des Opteron.
Von allem etwas:
Rob_Herb_2002_AMD_Analyst_Mtg.pdf
Analystenperspektive:
Insight64_-_Nathan_Brookwood.pdf
Am Ende des PDF`s:
OpteronCustomerPresentation.pdf
 
Original geschrieben von intel_hasser
Beim L1 Cache stimmt das, der ist deutlich schneller als der vom Athlon. Beim L2 Cache ist es aber glaub ich umgedreht, wesswegen der Barton auch nicht mehr so stark von den 512kb L2 Cache profitiert hat *noahnung*

Der L2 vom Barton (und allen Vorgängern seit Tbird) ist nur 64-bittig angebunden. Da war bei Intel der L2 schon bei den P3s 256bittig und somit auch erheblich schneller.
 
Beim Cache ist der Durchsatz eher egal (übrigens hat auch der K7 einen ziemlichen Cache-Durchsatz, der vom P3 etc. ist nicht wirklich höher).

Wichtig ist die Latenz. Und da ist der K7 afair etwas schneller als der P4.


Und wenn du auf die Cache Line Size anspielst - die bringt noch weniger, da du selten so viel zusammenhängende Daten brauchst.
 
Original geschrieben von intel_hasser
Für die richtigen Server hat Intel nur einen Prozz - den Itanium. Und der liegt "wie Blei in den Regalen". Die wirklich großen Rechner haben nicht nur läppische 8 Prozessoren.

Man kann auch mit x86 "richtige" Server bauen, dann halt geclustert. Was ist überhaupt ein richtiger Server?
 
Daten von Sanpile.org: (teilweise by Brain)
  • Pentium 4/Celeron bis Northwood: L1 Latency 4/12 Cycle Latency (Int/Float); L2 Latency 7 Clocks, 256 Bit Bus; L3: Inclusive 14/14 Cycle Latency (Integer/FP)
  • Prescott: L2 Latency 18 Clocks, 256 Bit Bus; L1 Latency 2/9 Cycle Latency (Int/Float)
  • Athlon XP: L1 IMO 3 Caycle latency (vielleicht auch 2/bezogen auf int); L2 Latency IMO 9-11 Clocks, 64+8 Bit Backside L2 Cache Bus, exclusive
  • Hammer: L1 IMO 3 Caycle latency (vielleicht auch 2/bezogen auf int); L2 Latency IMO 9-11 Clocks, 128+16 Bit, exclusive
ich muss mal schauen, ob ich noch irgendwo die exakten Werte für K7 und k8 herbekomme, unter den 7 Takten beim P4 liegen sie aber definitiv nicht

Noch eine allgemeine Erläuterung zu Caches/Vergleich zu RAM: Jeglicher Hauptspeicher in PCs ist heute dynamer RAM (DRAM), während die Caches meist (der oben erwähnte Power 4 ist die einzige Ausnahme die ich kenne) aus Statischem RAM bestehen (SRAM). DRAM ist günstiger herzustellen, da pro Bit nur ein Transistor und eine Kapazität erforderlich ist, ergo gibt es kleine Speicherzellen. Dafür sind DRAMs nicht das beste in Sachen Geschwindigkeit, ich erwähne einfach mal die Stichwörter CAS Latency und Co ;)
SRAM benötigt pro Bit IMO 6 Transistoren, also mehr Chipfläche und damit teurer. (ich meine sogar weniger energiesparsam). Dafür ist er viel schneller, da er im Gegensatz zu SRAM nicht ständig den Ladungszustand der Kapazität auffrischen muss.

Daher werden Massenspeicher momentan als DRAMs realisiert (128 MB L3 Cache sind eben schon eine ganze Masse), und "normale Caches" als SRAM. Die "ultra"schnellen Register gehören wohl auch zu den SRAMs.
 
Original geschrieben von PuckPoltergeist
Man kann auch mit x86 "richtige" Server bauen, dann halt geclustert. Was ist überhaupt ein richtiger Server?

*lol*

Ich musste mir gerade vorstellen was passiert, wenn sich 4 Xeons eine Speicheranbindung teilen müssen. Von der Wärme ganz abgesehen.

Cluster werden immer beliebter, aber imho haben die Xeons da mit ihre 80W auch keine guten Karten. Der Earth Simulator verbrät zb. so irgendwo um die 50% nur für Lüfter... (die ergo auch ziemlich viel Abwärme produzieren).


Die Opterons sind imho gut geeignet für Server. Sehr gute Skalierbarkeit (8 Opterons sind kein Problem, die Leistung steigt bei entsprechenden SMP Progs fast linear), wenig Wärmeabgabe (weniger Lüfter, 1HE Blades möglich usw.) und geringe Anforderungen an die Pheripherie (da integrierter Ram Controller -> einfacheres Board Layout).

Die Itaniums sind dagegen imho eher begrenzt geeignet, weil es damit so schnell sicher keine 1HE Blades geben wird (280W sind schon nicht wenig, so viel machen aber 2 Itaniums).

Der Xeon ist für kleine Blades schon wieder besser geeignet, die Leistung bricht nicht ganz so stark ein wie bei 8 CPUs und ganz so viel Wärme machen die auch nicht, wobei aber die 80W auch nicht gerade wenig sind.


Für große SMP Systeme mit vielen CPUs pro Rechner ist aber wirklich nur der Opteron geeignet. Beim Itanium kenn ich mich allerdings nicht so aus wie die SMP Struktur aussieht, aber die Dinger werden imho einfach zu warm.
 
Zurück
Oben Unten