mae schrieb:
Wenn die Performance nicht gebraucht wird, warum verbaut Quallcomm dann 4 von den A55 im Snapdragon 888? 4 brauchen vier mal soviel Flaeche wie einer und verbrauchen vier mal soviel Leckstrom. Und wenn man doch die Leistung von vier braucht, waere es da nicht besser, stattdessen sowas wie einen E-Core des A15 einzubauen?
Mit den A5x und A5xx kann man die Anzahl an CPU-Cores erhöhen bei minimalen Kosten für Lizenzen und Chipfläche. Der Gewinn bei den Verkaufsargumenten ist jedoch groß. Da würde ich annehmen, dass die Konfiguration bei den SoCs nicht nur technisch zu begründen ist.
Aus technischer Sicht, bei den kleinen Coretex sind Kontextwechsel eine mittlere Katastrophe. Da ist es schon ganz praktisch, wenn man mehrere Kerne zu Verfügung hat, auf die sich Threads verteilen können.
Edit: Und im thermischem Budget ist wahrscheinlich oft auch kein Platz für noch mehr A7xx Xx Cores..
/Edit
Und Leistung braucht es sehr oft nicht. Die ganzen Benchmarks haben da immer das Problem, dass sie "nur" Fälle abbilden, wo extrem viel Last anliegt. Man rennt also in Fälle, wo mindestens eine kritischer Funktionsblock der Cores zum Nadelöhr wird. An der Stelle sind die kleinen Coretex wirklich nicht gut. Wo die kleinen Cores gut sind, sind kleine Aufgaben. Kurz mit einem Sensor "reden", Pakete vom Netzwerkmodem hohlen und parsen, Daten vom Festspeicher lesen/schreiben inkl. Dateisystemfoo, Daten/Pointer zu spezalisierten DSP schieben. Das sind so alles Fälle, wo ein OoO Design die Pipelines nicht gefüllt bekommt und viele Leertakte ausfüllt, nur um zu warten.
Und ja Apple, macht es anders und nutzt kleine OoO-Cores. Mein Verständnis geht bei iOS nicht all zu tief, aber tendenziell werden da Apps konsequenter angehalten und etwaige Jobs in Ticks zusammengefasst. Wenn man das sehr konsequent macht, bekommt man so einen OoO-Core auch gescheit ausgelastet.
Bei Windows, Android und den zigtausenden Linux, BSD, *nix Systemen da draußen ist das lange nicht so konsequent.