Prozessorcache und seine Auswirkung auf die Leistung

S

sigmarix

Gast
Hallo,

Ich habe eine Frage bezüglich des Prozessorcaches der in den aktuellen Prozessoren integriert ist.
Die L2 Caches aktueller Prozessoren zeigen z.T grosse Unterschiede:

256kB AMD 64 : Sempron; Intel: Celeron
512kB AMD 64 : Winchester, Newcastle(z.T); Intel: Northwood(P4A,C)
1MB AMD FX : Clawhammer; Intel: Prescott (5XX, P4E)
2MB AMD : ?; Intel Prescott (6XX)

Weiter gibt es noch den P4EE mit einem weiteren L3 Cache und grosse Serverprozessoren von Intel mit bis zu 8MB Cache.

Für was wird ein L1/L2/L3 Cache im Prozessor verwendet?

Was für Auswirkungen hat der Cache auf die Leistung allgemein?

Bei Games, Photoshop, Linux, Datenbank?


PS: Dies soll keine AMD vs. Intel Diskussion werden!
 
Zuletzt bearbeitet:
Jep... das ist informativ. Wie wirkt sich diese graue (gute :p ) Theorie aber nun im Alltagsgebrauch aus?
 
Prinzipiell kann man schon sagen, daß ein Prozessor im Verleich zu einem anderen mit exakt gleicher Architektur, aber mehr Cache langsamer ist. Es hängt aber von mehreren Faktoren ab, wie viel SpeedUp ein Cache bringt. Man muß die Caches in Hinblick auf die restliche Prozessorarchitektur und den für diese CPU optimiert oder nicht optimiert kompilierte Programme vergleichen. Pauschale Aussagen, kann man da kaum treffen.
 
sigmarix schrieb:
Jep... das ist informativ. Wie wirkt sich diese graue (gute :p ) Theorie aber nun im Alltagsgebrauch aus?

normalerweise gilt:
je mehr cache eine cpu hat, desto schneller ist sie (richtige server-cpu´s haben ja >=4 MB cache)!

d.h. aber nicht, dass ein prescott damit automatisch schneller als ein northwood ist, nur weil er doppelt soviel cache hat... ganz im gegenteil (das hat aber andere gründe)!

genauso bedeutet es nicht, dass ein P4 Extreme Edition mit 2MB cache schneller als ein Athlon FX mit 1 MB cache ist...
man kann halt keine äpfel mit birnen vergleichen :D

ein FX ist aber z.b. schneller als ein A64, da dieser mehr cache hat, der restl. aufbau jedoch identisch ist!
ebenso ist ein P4 EE schneller als ein prescott oder northwood...

und nochwas:
je mehr cache, desto teurer! siehe P4 EE oder FX...
 
Einen direkten Vergleich wirst Du sehen, wenn die ersten Prescott's der 600'er Reihe mit 2MB Second Level Cache auf den Markt kommen.

Ciao Frank
 
ein größerer cache hat z.b. in 64 bit einen großen Vorteil gegenüber einen kleineren
 
Wieviel der Cache bringt hängt von mehreren Faktoren ab. Zum ersten einmal die CPU Architektur. Eine große Auswirkung hat hier das Data Prefetching. Wenn dieses aggressiver ist wie z.B. beim Pentium 4 oder noch schlimmer beim Dothan dann benötigt die CPU mehr Cache. Bei Data Prefetching werden die Daten nicht erst in den Cache geladen wenn diese benötigt werden sondern schon vorher wenn man sie wahrscheinlich brauchen wird z.B. wenn die Daten in regelmäßigen Schritten angefordert werden. Grundsätzlich gilt dass der Vorteil den eine Erhöhung des Caches bringt mit der Größe abnimmt. Von 128KB auf 256KB ist der Vorteil viel größer als von 512KB auf 1MB (deshalb sind die neuen Celerons auch deutlich schneller als die alten). Weiters hängt die Menge des benötigten Caches vom RAM ab. Je höher die Bandbreite und je geringer die Latenz ist (Bandbreite und Latenz sind zu einem großen Teil das gleiche) desto geringer wirkt sich die Erhöhung des Caches aus da die Daten auch so schnell aus dem RAM kommen. Besonders kritisch ist es wenn wenig Cache vorhanden ist und der RAM langsam ist in Kombination mit aggressiven Data Prefetching (z.B. bei den alten Celerons mit 128KB L2-Cache und fast keinem L1-Cache mit Single Channel DDR333 oder noch langsamer). Umgekehrt wirken sich bei viel Cache auch die Verbesserungen beim RAM nicht mehr so stark aus. Ansonsten hängt es sehr stark von der Anwendung ab, wie viel der Cache bringt. In den meisten Fällen bringt bei einer speicherlastigen Anwendung auch die Erhöhung des Caches sehr viel jedoch muss das nicht immer der Fall sein. SETI@Home ist z.B. nicht so speicherlastig aber extrem abhängig vom Cache. Es ist hier die Frage welche Daten wie oft angefordert werden. Wenn ein riesige Menge an Daten gut verteilt angefordert wird, dann bringt der Cache weniger weil die Daten sowieso nicht reinpassen aber die Speicherbandbreite bringt viel. Wenn gerade so viel Daten ständig verarbeitet werden die gerade nicht in den Cache passen dann bringt eine Erhöhung des Caches relativ viel. Bei manchen Anwendungen bringt es aber überhaupt nichts z.B. manche synthetische Benchmarks oder Prime95 den kleinen Tests wo so gut wie alles im L2 Cache abläuft.

2.) Beim AthlonXP hat der Cache nich allzu viel gebracht. Von 256KB auf 512KB war der Unterschied minimal. Beim Pentium 4 hingegen bringt dieser Schritt eine Menge und auch von 512KB auf 1MB bringt einiges. Man kann leider den Unterschied nicht genau sehen weil beim Prescott wieder andere Dinge verschlechtert wurden wie die Pipeline oder die Cache Anbindung. Von 1MB auf 2MB hingegen wird der Unterschied eher geringer ausfallen weil genauso wie eine Erhöhung des FSB nicht mehr so viel bringen wird. Beim Athlon64 ist der Unterschied des Caches auch eher gering jedoch schon größer als beim AthlonXP. Hier wurde beim Data Prefetching anscheinend einiges Optimiert in dem Wissen, dass mit Dual Channel sowieso sehr viel Bandbreite vorhanden ist. Die praktische Bandbreite hat sich ja im Vergleich zum AthlonXP ja ca. vervierfacht wenn nicht noch mehr. Bein Single Channel DDR400 und 2GHz bringt der Unterschied von 256KB auf 512KB ca. so viel wie 150MHz mehr Takt. Bei Dual Channel ist es etwas weniger durch die höhere Bandbreite. Beim Dothan ist der Cache das Wichtigste weil erstens das Data Pefetching sehr aggressiv ist und zweitens die Speicherbandbreite eher gering ist. Zwischen einem Dothan mit 2MB Cache und 512KB Cache liegen wirklich Welten. Das ist auch der Grund warum der Dothan nur im Noteooksektor verbaut wird (ein paar Boards für besondere Fans einmal ausgenommen). 2MB Cache sind in der Massenproduktion einfach noch sehr unwirtschaftlich. Die Architektur des Dothan wird zwar Netburst ablösen aber das wird noch einige Zeit dauern und im nächsten Jahr ist davon überhaupt nichts zu sehen. Da wird sich erst mit 65nm etwas tun.
 
Zurück
Oben