im grunde gibt es aber schon soetwas wie @Martin Preiß meint: GPU-computing läuft doch so ähnlich ab. einfach hunderte simpler unified shader, die sich alle parallel ansteuern lassen.
Ja, aber die arbeiten dann auch alle recht dumm an den gleichen Aufgaben für alle Shader und jeder an einem fest definierten, jeweils versetzten Teil der Daten. Für GPUs ist dies ja auch ideal und ebenso für parallele Anwendungen, wo eben der gleiche Algorithmus auf eine große Datenmenge angewendet wird, die sich gut aufteilen lässt und wo das Ergebnis einer Berechnung eben nicht von dem einer vorherigen abhängt. Ein schönes Beispiel dafür ist die MD5 Berechnung, wo für jede Berechnung vom Ergebnis der vorherigen abhängt. Man kann also die MD5 einer Datei nicht parallelisiert berechnen, aber für Brute Force Passwortangriffe kann man dies sehr gut parallelisieren indem man jeden Kern eben die MD5 an einem anderen Eintrag des Wörterbuches arbeiten lässt.
Die optimale Architektur hängt eben immer von der Anwendung ab und CPUs müssen da so universell wie möglich sein, damit sie eben eine breiten Auswahl von Anwendungen möglichst gut abdecken können. Man sieht dies ja an der großen Anzahl an Benchmarks die bei einem guten CPU Review verwendet werden und ist keine CPU bei allen Benchmarks immer ganz vorne, wenn man sie fair mit ihren direkten Konkurrenten vergleicht. Eine CPU nach dem Vorbild von GPUs wäre gegenüber GPUs bei Aufgaben die GPU erledigen können, gegenüber reinen GPUs dann immer noch im Nachteil und für Aufgaben die GPUs nicht abarbeiten können, dann eine langsame CPU.
Der Kompromiss den die CPU Hersteller gehen ist, wie schon in seinem anderen Thread beschrieben, die zusätzlichen Transistoren die durch neueren Fertigungsprozesse vom Platz und der Leistungsaufnahme her möglich sind, eben teils in mehr Kerne und teils in eine bessere Architektur mit mehr IPC zu investieren und für mehr IPC braucht man noch viel mehr Transistoren. Das Verhältnis ist eben bei weitem nicht linear, man bekommt für 50% mehr Transistoren eben bei weitem keine 50% mehr IPC,man kann wohl inzwischen schon eher mit 10% zufrieden sein. Aber genaue Zahlen sind schwer zu bekommen, da weder AMD noch Intel genaue Zahlen liefern wie viele Transistoren ihre Kerne haben. Selbst die Angaben wie viele Transistoren ein Chip hat, sind oft entweder nicht zu bekommen, oder rein theoretisch indem man die Anzahl für bestimmte Schaltungen einfach auf die Gesamtfläche hochrechnet, aber die Transistoren in einer CPU sind halt nicht alle gleich groß.
Das Ziel ist halt, durch mehr IPC die Singlethreadperformance bzw. die Performance per Code bei Last auf wenigen Kernen zu steigern, da ja die Taktraten in den letzten mehr als 10 Jahren nur geringfügig gestiegen sind und damit auch die Singlethreadperformance die ja gerade für Gaming eine wichtige Rolle spielt. Außerdem will man eben durch mehr Kerne auch die Multithreadperformance steigern, da ja eben bei weitem nicht alle Anwendungen GPUs nutzen, wenn viel Multithreadperformance gefragt ist. Man mag die Balance kritisieren die die Hersteller da jeweils finden, der eine würde lieber weniger Kerne haben, die dafür mehr IPC hätten und der anderen lieber mehr Kerne, auch wenn jeder einzige von denen langsamer ist. Dies sieht man ja auch an den Xeons die es nun entweder nur mit P oder nur mit e Kernen gibt und bei AMD ist es bei den EPYC ja auch nicht so viel anderes, da gibt es auch die Varianten nur mit den c Kernen, aber dafür mehr davon.
Aber bei Servern ist es eben auch meist so, dass sie nur für eine bestimmte Aufgabe optimiert werden und die Kunden dann auch die verschiedenen Systeme mit genau dieser Anwendung vergleichen. Notebooks und Desktops müssen hingegen meist eines Vielzahl von Anwendungen abdecken und daher macht die Hybridarchitektur von Intel da auch Sinn, AMD hat keine kleinen Kerne mehr seit sie mit Zen neben den Baumaschinen auch die Katzen CPUs abgelöst haben, dafür machen sie die kompakten Kerne, die nun auch in hybriden Mobil CPUs zum Einsatz kommen. Klar wird es immer Leute geben die sind ein anderes Verhältnis von P und e Kernen wünschen würde, Den meisten Gamern wäre eine Version mit 12 P Kernen statt eines gleichgroßen 8+16 Kernes lieber, ich hätte lieber eine 4+32 CPU, aber es wäre halt auch nicht wirtschaftlich so viele Varianten anzubieten und ein einziges Die mit 12+32 Kernen aus dem man beides ableiten könnte, wäre halt viel zu groß.