flo36 schrieb:
Hmm also Intel hat entweder massive Probleme in der Weiterentwicklung oder wir übersehen irgendwas. Kann doch nicht sein, dass wir nun seit 5 Jahren auf so hohem Niveau unterwegs sind, dass es schwer ist was daran zu verbessern.
Jein. Haben sie, aber nicht allgemein sondern nur bei der Weiterentwicklung in eine bestimmte Richtung. Nämlich was die Leistung pro Kern angeht. Da stößt man nämlich einfach an physikalische Grenzen. Da ist es wirklich extrem schwer geworden, etwas zu verbessern. Ich versuchs mal ganz einfach zu machen:
Es gibt mehrere Spannungsfelder (bezogen auf
einen Kern):
1) Takt vs komplexität der Architektur
Ein bestimmtes Design verträgt nur so und so viel Takt. Wenn ich mehr Leistung will, kann ich mehr Takt geben oder eine komplexere Architektur (mehr Einheiten) drauf geben (oder halt beides).
Die AMD-Architektur ist z.B. etwas einfacher als die von Intel, deshalb fahren die FX im Schnitt ein gutes Stück mehr Takt.
2) Komplexität vs Effizienz
Wenn man einfach mehr Einheiten drauf gibt, braucht man mehr Strom und gibt mehr Wärme ab. Nicht nur für die Einheiten an sich, sondern auch, weil dann die Strecken dazwischen im Schnitt zwangsweise länger werden und längere Strecken auch mehr Strom brauchen. Das skaliert also nicht gut.
3) Komplexität vs Leistung
Klingt komisch, ist aber so: Es ist schwierig eine Architektur zu entwickeln, die einfach so mehr Einheiten benutzen kann. Denn einfach nur mehr Rechnen geht nicht. Man braucht auch von all den "Hilfskonstruktionen" (Register, breitere o.o.O.-Fenster, breitere Pipelines usw.) außen rum mehr, um die zu verwenden. Blöd formuliert: Um aus höherer Komplexität mehr Leistung zu kriegen braucht man noch mehr Komplexität.
4) Leistung vs Speicher
Caches sind ein großes Problem. Wenn eine CPU schneller wird, kann sie mehr Daten verarbeiten. Wenn man mehr Daten verarbeitet, müssen die irgendwo her kommen. Die Caches müssen also mehr Daten parat haben. Hinter den Caches sitzt immer der Speicher. Der wird nicht so grandios viel schneller in letzter Zeit und ist im Vergleich zu den Caches ohnehin extrem langsam. Also am besten den Cache größer machen, damit man viel verarbeiten kann aber nicht öfter an den Speicher muss. Cache braucht Platz, Cache braucht Verwaltung, Cache braucht Strom...
Das sind nicht mal alle. Ich bin kein CPU-Ingenieur, aber das sind ein Paar, die ich zumindest kenne.
Was sagt uns das jetzt? Die Zeiten wo man "leicht und billig" mehr Kern-Leistung bekommen hat sind vorbei. Einfach mehr Takt geht nicht, einfach mehr Einheiten geht nicht.
Es bleibt kein anderer Ansatz als die Architektur nicht größer zu machen, sondern bei sehr ähnlicher Größe einfach besser zu machen. Und das ist durchaus schwer, besonders wenn man schon seit Jahren dran ist und immer wieder etwas mehr rausgekitzelt hat.
Also: Pro-Kern-Leistung ist schwer zu holen, also holen wir wo anders mehr Leistung. Z.B. bei der Kernzahl.
Und da macht Intel durchaus Fortschritte. Der angebliche heilige Gral Sandy Bridge (so viel besser als der Vorgänger war der gar nicht, Sandy zu Haswell ist von der Pro Kern-Leistung ein größerer Sprung als Nehalem zu Sandy) bot noch maximal 8 Kerne. Haswell hat 18 und Skylake soll bis 24 oder 25 oder so gehen.
Davon merkt man aber im Desktop nicht viel. Der mMn wichtigste Grund dafür ist, dass man es da einfach nicht braucht.
(Siehe weiter unten)
Nova eXelon schrieb:
Weil sich auch ein Mainstream Kunde einen 4C/8T i7 kaufen kann, was sich ebenfalls in mehr Leistung auszeichnen kann, wenn man entsprechend optimiert. Es müssen nicht unbedingt gleich 6C/12T sein, um einen Grund zum Optimieren zu haben.
Das eigentliche Problem übersiehst du:
Der Mainstream-Kunde braucht nicht mehr Leistung als er kaufen kann. Die pro-Kern-Leistung zu erhöhen ist irre schwer geworden (siehe oben) und mehr Kerne mit zu kaufen, nur weil die CPU-Entwickler in diese Richtung weiter entwickeln (müssen), ist nicht besonders sinnvoll.
Es schimpfen immer alle auf die Software... Warum sollte ich als Entwickler denn Programme, die trivialste Aufgaben erledigen parallelisieren? Schonmal selbst gemacht? Ein großer Teil der "normalen" Mainstream-Software führt so einfache Aufgaben aus, dass nicht mal nur der Aufwand, das zu programmieren unnötig wäre, sondern allein das anlegen und verwalten von Threads länger dauert als die Aufgabe selbst.
Nimmt man nun weniger "Mainstream" Software, dann wird man feststellen, dass da ganz viel schon parallelisiert ist. (Überraschung, da wo es sinnvoll ist, wird es auch eher gemacht.)
Im Endeffekt wollen alle mehr Leistung kaufen können. Am besten über die Zeit mehr Leistung fürs selbe Geld oder die selbe Leistung für weniger Geld. Ist auch verständlich, mehr kriegen ist immer schön. Aber der Bedarf wird auch aus den Augen gelassen.
Man ärgert sich darüber, dass man nicht mehr Kerne kaufen kann, dass Software mehr Kerne oft nicht nutzt, aber sitzt Gleichzeitig vor den Tatsachen, dass die Kerne die vorhanden/kaufbar sind für die überwältigende Mehrheit der Anwendungen mehr als ausreichen. Und wer wirklich mehr braucht als Mainstream, der kann mehr kaufen.
Also was soll Intel denn machen? 6-8 Kerne in den Mainstream feuern, wo sie absolut 0 benötigt werden? Warum sollte Leistung zum Mainstream werden, die Mainstream Software nicht braucht? Damit sich die, die mehr brauchen als Mainstream, freuen können, dass sie jetzt weniger bezahlen müssen? Intel würde sich selbst Kunden absägen, die statt High-End nur noch Mainstream kaufen. Da würde am Ende sogar der Mainstream wieder teurer werden, weil beim High-End die Margen größer sind und das ausgeglichen werden müsste...
Und den High-End-Markt hat Intel seit Sandy absolut nicht außer Acht gelassen. Waren mit Sandy 6 Kerne noch Flagschiff, hat Haswell 6 Kerne günstiger gemacht und 8 Kerne fürs Flagschiff gebracht. Dazwischen war Ivy-Bridge eher eine Nullrunde. Dagegen bringt jetzt Broadwell immerhin schon günstigere 8 Kerne und bringt, wenn auch teure 10 Kerne. Dafür sind diese 10 Kerne auch ein größeres Upgrade gegenüber dem Mainstream als vorher. Man könnte glatt vermuten, dass Skylake-E 8 und/oder 10 Kerne günstiger bringt und vielleicht noch 12 Kerne einführt. Dann wäre man bei 3x so vielen Kernen wie im Mainstream. Noch bei Sandy konnte man sich gerade mal das 1,5-fache vom Mainstream kaufen.