PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum wächst der CPU Cache nicht mehr?


=Floi=
2018-05-12, 14:40:19
Hallo warum wächst seit über 10 jahren der cache in den cpus nicht mehr weiter an?
L2 und L3 verharren auf dem immer gleichen niveau.
Früher gab es noch modelle mit dem moto "viel hilft viel" und irgendwann hat intel das komplett eingestellt.

lilgefo~
2018-05-12, 14:54:23
Bin kein Experte aber nehme an, dass es etwas mit dem Platzverbrauch auf dem Die zu tun hat.

dildo4u
2018-05-12, 15:18:36
Intel hatte bis Ryzen keine Konkurrenz daher bringt man nur das was minimal nötig war.Threadripper bringt aber im Vergleich Riesige Caches für unter 1000€.(L3 32mb)


http://www.pcgameshardware.de/Kryptowaehrung-Thema-267078/Specials/CPU-Mining-AMD-Intel-XMR-Monero-Cryptonote-Cryptonight-1249580/

HisN
2018-05-12, 15:23:05
Ich schätze das läuft darauf hinaus:
https://de.wikipedia.org/wiki/Grenznutzen

Irgendwann ist es nicht mehr sinnvoll teuren Cache zu verbauen, weil der Ertrag durch die zusätzliche Menge immer kleiner wird.

Skysnake
2018-05-12, 15:37:17
Bei L1 und L2 bist du auch durch Power und Latenz beschränkt. Größere Caches wären langsamer, was schnell deren Vorteil wieder auffressen würde.

Daher gibt es auch mehrere Cache Level. Je größer das Datenset desto höhere Latenzen muss man in kauf nehmen

Trap
2018-05-12, 15:41:20
Größere Caches sind langsamer.

Wieviel Cache in welchen Levels sinnvoll sind hängt davon ab wie schnell die verschiedenen Cachegrößen im Fertigungsprozess umsetzbar sind, wie schnell der Hauptspeicher ist und welche Software man ausführt.

Für die Xeons gibt es die viel hilft viel Caches noch: https://ark.intel.com/products/93790/

Mortalvision
2018-05-12, 16:41:51
Denk mal nach: für die wichtigsten Instruktionen und Makros eines Programms reicht L1 allemal, L2 für das aktuell verwendete Häppchen und den am meisten durchlaufenden Teil eines Programms (quasi "engine"). L3 für vorher abgearbeitete Dateien und Dateiteile, die als nächstes bearbeitet werden sollen. Und dann muss das ganze natürlich noch über X Kerne gespiegelt/geblockt/aktualisiert werden. Das ist ja quasi der Hauptbottleneck, warum die meisten Spiele nur auf wenige Kerne setzen. Für gute Multicore Spiele , und dann sogar noch SMT/HT Berechnungen brauchst du a) sehr gute Programmierer, b) auch Teile des Spiels, die sich parallel berechnen lassen. Das ganze dann korrekt in die Caches zu pressen (/pressen zu lassen, win10 hilft da ja auch), erfordert dann Informatiker mit ordentlich Ahnung auch von den jüngsten Chip-Architekturen. Über den RAM Multicore laufen zu lassen, das kann ja fast jeder ;D

reaperrr
2018-05-12, 17:57:10
Bei Intel kommt es zumindest beim L2 auch daher, dass sie (außer bei SKL-X) ein inklusives Cache-Design verwenden und der L2 immer auch in den L3 kopiert wird. Bei doppeltem L2 wird nicht nur der Kern größer, sondern auch das kopieren des L2 in den L3 verbraucht mehr Saft und es bleibt weniger L3 für andere Sachen frei, was dann einen Teil des Performance-Vorteils wieder auffrisst.
Wenn es unterm Strich einen Vorteil gebracht hätte, den L2 zu verdoppeln, hätten sie es wohl schon gemacht.

StefanV
2018-05-12, 18:27:20
Hallo warum wächst seit über 10 jahren der cache in den cpus nicht mehr weiter an?
L2 und L3 verharren auf dem immer gleichen niveau.
Früher gab es noch modelle mit dem moto "viel hilft viel" und irgendwann hat intel das komplett eingestellt.
AMD hat doch mit Ryzen erst den L3 bisserl vergrößert. Das ganze ist auch noch exclusiv, d.H. dass der L2 nicht wie bei Intel im L3 gespiegelt wird, so dass du dann 2x8MiB L3 hast + (bis zu) 8x 512k, also 20MiB gesamt.

Aber, wie schon angemerkt wurde, hast du bei größeren Caches größeren Verwaltungsaufwand, Stromverbrauch usw.

Es gibt halt irgendwo einen Punkt, der einfach optimal ist und mehr dann kaum mehr bringt, aber die Kosten (Aufwand, Stromverbrauch usw) höher sind als der Nutzen bzw man sogar Leistung verlieren könnte.

=Floi=
2018-05-12, 18:55:41
Denk mal nach:...

hab ich ja gemacht

http://www.tomshardware.de/QX9650-Penryn-Intel-Quadcore,testberichte-239853-18.html

Dort sind schon gute steigerungen dabei. Ob das jetzt auch an der breiteren anbindung liegt kann ich leider nicht sagen.
Hier hat man auch dermaßen auf den putz gehauen. (wohl weil man einfach konnte)


edit
der stromverbrauch dürfte ein ziemlich gutes argument sein.

Mortalvision
2018-05-12, 20:30:47
Eine gute Frage wird auch sein: Wieviel schneller bekommt man den RAM? Der Broadwell hatte ja L4 Cache, aber mittels hohem RAM konnte Skylake da gleichziehen. Wenn es mal 6-7 GHz RAM (ja, gemäß DDR5 spec, also nicht Realtakt)), wird auch der L3 Cache wieder ein klein wenig unwichtiger...

Der_Korken
2018-05-12, 20:44:13
hab ich ja gemacht

http://www.tomshardware.de/QX9650-Penryn-Intel-Quadcore,testberichte-239853-18.html

Dort sind schon gute steigerungen dabei. Ob das jetzt auch an der breiteren anbindung liegt kann ich leider nicht sagen.
Hier hat man auch dermaßen auf den putz gehauen. (wohl weil man einfach konnte)


edit
der stromverbrauch dürfte ein ziemlich gutes argument sein.

Der Core 2 hatte einen extremen hohen Cache-Anteil an der Chipfläche:
https://www.computerbase.de/bildstrecke/19468/14/

Ein gutes Drittel wird das schon sein. Bei Ryzen sind es irgendwas um die 32mm², also ein Sechstel. Allerdings hatte der Core 2 noch keinen integrierten Memory Controller, d.h. die Speicherlatenzen waren erheblich höher als bei heutigen CPUs und auch deutlich höher als beim K8 und K10. Dadurch dass LLC Misses da so teuer waren, hat der größere Cache viel gebracht und es wurden bis zu 3MB/Core (mehr als alles was danach kam).

Eine gute Frage wird auch sein: Wieviel schneller bekommt man den RAM? Der Broadwell hatte ja L4 Cache, aber mittels hohem RAM konnte Skylake da gleichziehen. Wenn es mal 6-7 GHz RAM (ja, gemäß DDR5 spec, also nicht Realtakt)), wird auch der L3 Cache wieder ein klein wenig unwichtiger...

Ich glaube, dass DDR5 kaum was bringen wird. Mit 7Ghz hast du zwar mehr Durchsatz, aber der limitiert ja bereits heute schon kaum. Wäre Durchsatz ein Problem, müssten die HEDT CPUs mit ihrem Quadchannel-RAM alles wegsemmeln. Tun sie aber nicht. Viel wichtiger ist die absolute Speicherlatenz. DDR5 7000 wird dann vielleicht mit CL30 kommen statt DDR4 3600 mit CL16. Teilt man Latenz durch Takt, kommt man auf die gleiche absolute Latenz für Zugriffe. Selbst DDR1 Speicher mit CL2 auf 400Mhz dürfte bei Zugriffszeiten nur unwesentlich langsamer als DDR4 sein.

Skysnake
2018-05-12, 21:50:27
Eine gute Frage wird auch sein: Wieviel schneller bekommt man den RAM? Der Broadwell hatte ja L4 Cache, aber mittels hohem RAM konnte Skylake da gleichziehen. Wenn es mal 6-7 GHz RAM (ja, gemäß DDR5 spec, also nicht Realtakt)), wird auch der L3 Cache wieder ein klein wenig unwichtiger...
Das steigert wie schon gesagt wurde nur deine Bandbreite, aber praktisch nicht deine Latenz.

Die Takt für DRAM Zellen liegt schon seit DDR oder wars sogar SDRAM (?) mehr oder weniger konstant bei 250MHz. Da tut sich einfach nichts.

Und gerade bei Consumer Software hängst du meist an der Latenz und nicht an der Bandbreite. Wobei auch genug Prof-Software an der Latenz hängt.

robbitop
2018-05-13, 07:10:46
@Korken (+skysnake)
mit der Latenz hast du Recht, was den Anteil der Memorylatency des reinen RAMs angeht. Das ist aber nur ein Teil. Die Fabric und der IMC haben einen großen (gesamt sogar größeren) Antwil an der Memorylatency. Höherer Ramtakt führt zu höherem IMC Takt und dabei dort zur Reduktion der Latency. Bei Ryzen wird auch die Fabric höher getaktet.
Entsprechend sinkt (messbar in Tool wie aida) die Latency. Bei meinem Haswell brachte eine Erhöhung des Ramtakts von 1600 auf 2400 trotz schlechterer Timings (also bei vergleichbarer reiner ramlatenz) eine Reduktion der Memorylatency von 60 ns auf 43 ns. (der L4 von bdw liegt bei ca 41 ns).
Im GTA5 Bench brachte das 20% mehr fps im cpu Limit. Reproduzierbar. (Ringbustakt jeweils gleich)
CFL hat bei gleichem Core und Ringtakt bei ca 3600er Speichertakt übrigens sogar 36 ns! Gemessen.

Bei skl-x und Ryzen lassen sich durch Fabric OC höhere relative fps Gewinne holen.

G3cko
2018-05-13, 08:46:37
Die Aussage stimmt doch nicht. Die Chaches wachsen.

L1 ist so klein damit die niedrigen Latenzen eingehalten werden.

L2 wurde erst bei Skylake SP von 256kb auf 1MB erhöht.

L3 ist ein sharred Chache, welcher über alle Cores geteilt wird. Je mehr Cores vorhanden sind desto mehr L3 ist auch nutzbar. Daher wurde auch mittlerweile der L2 vergrößert und gleichzeitig der L3 verkleinert. Durch die vielen Cores wächst der L3 immer schneller. Chache verbraucht viel Platz, daher die Neuorganisation.

Die einzige Frage die du dir stellen solltest. Warum kaufst du als Power User eine Einsteiger CPU, aka vermeintliches Highend, aka Office APU, aka Core i7 wo 2/3 der Fläche iGPU sind? Mein 5960x hat seit 3 Jahren 20MB L3. Lediglich der fehlende Wettbewerb sorgt hier für eine Verzerrungen.

Gemessen an der reinen Chipfläche ohne iGPU hatte ein 7700k etwa soviel wie ein Celeron aus Pentium 4 Zeiten für 60€. Die Leute interessiert die iGPU nicht, glauben aber, dass der winzige CPU Part Highend sei... ;)