Dies wird als heterogenes Multiprocessing ( HMP ) bezeichnet und von mobilen Geräten weit verbreitet. In ARM-basierten Geräten, die big.LITTLE implementieren, enthält der Prozessor Kerne mit unterschiedlichen Leistungs- und Leistungsprofilen. Einige Kerne laufen schnell, verbrauchen jedoch viel Strom (schnellere Architektur und / oder höhere Takte), während andere energieeffizient, aber langsam sind ( langsamere Architektur und / oder niedrigere Uhren). Dies ist nützlich, da der Stromverbrauch tendenziell überproportional steigt, wenn Sie die Leistung erhöhen, sobald Sie einen bestimmten Punkt überschritten haben. Die Idee hier ist, Leistung zu erhalten, wenn Sie sie brauchen, und Akkulaufzeit, wenn Sie dies nicht tun.
Auf Desktop-Plattformen ist der Stromverbrauch weit weniger ein Problem, daher ist dies nicht unbedingt erforderlich. Die meisten Anwendungen erwarten von jedem Kern ähnliche Leistungsmerkmale, und die Planungsprozesse für HMP-Systeme sind wesentlich komplexer als die Planungen für herkömmliche SMP-Systeme. (Windows 10 bietet technisch gesehen Unterstützung für HMP, ist jedoch hauptsächlich für mobile Geräte gedacht, die ARM big.LITTLE verwenden.)
Außerdem sind die meisten Desktop- und Laptop-Prozessoren heutzutage nicht thermisch oder elektrisch auf den Punkt beschränkt, an dem einige Kerne selbst für kurze Ausbrüche schneller laufen müssen als andere. Wir haben im Grunde genommen eine Wand gegen die Geschwindigkeit, mit der wir einzelne Kerne herstellen können. Wenn einige Kerne durch langsamere ersetzt werden, können die verbleibenden Kerne nicht schneller laufen.
Zwar gibt es einige Desktop-Prozessoren, die über einen oder zwei Kerne verfügen, die schneller laufen können als die anderen, jedoch ist diese Funktion derzeit auf bestimmte sehr hochwertige Intel-Prozessoren (wie Turbo Boost Max Technology 3.0) beschränkt und bringt nur einen geringfügigen Leistungsgewinn mit sich für jene Kerne, die schneller laufen können.
Zwar ist es durchaus möglich, einen traditionellen x86-Prozessor mit sowohl großen, schnellen als auch kleineren, langsameren Kernen zu entwickeln, um für stark ausgelastete Workloads zu optimieren. Dies würde jedoch das Prozessordesign erheblich komplizieren, und Anwendungen werden es wahrscheinlich nicht richtig unterstützen.
Nehmen Sie einen hypothetischen Prozessor mit zwei schnellen Kaby Lake -Kernen (7. Generation) und acht langsamen Goldmont- Kernen (Atom). Sie hätten insgesamt 10 Kerne, und für diese Art von Prozessor optimierte Workloads mit starkem Threading könnten im Vergleich zu einem normalen Kaby Lake- Prozessor mit vier Kernen einen Leistungs- und Effizienzgewinn erzielen . Die verschiedenen Arten von Kernen weisen jedoch sehr unterschiedliche Leistungsstufen auf, und die langsamen Kerne unterstützen nicht einmal einige der Anweisungen, die von den schnellen Kernen unterstützt werden, wie beispielsweise AVX . (ARM vermeidet dieses Problem, indem sowohl der große als auch der kleine Kern dazu aufgefordert werden, dieselben Anweisungen zu unterstützen.)
Bei den meisten Windows-basierten Multithread-Anwendungen wird davon ausgegangen, dass jeder Kern das gleiche oder nahezu das gleiche Leistungsniveau aufweist und dieselben Anweisungen ausführen kann. Diese Art von Asymmetrie führt wahrscheinlich zu einer weniger als idealen Leistung, möglicherweise sogar zu Abstürzen es verwendet Anweisungen, die nicht von den langsamen Kernen unterstützt werden. Intel könnte zwar die langsamen Kerne ändern, um erweiterte Befehlsunterstützung hinzuzufügen, sodass alle Kerne alle Anweisungen ausführen können. Dies würde jedoch keine Probleme mit der Softwareunterstützung für heterogene Prozessoren lösen.
Ein anderer Ansatz beim Anwendungsdesign, der näher an dem liegt, worüber Sie wahrscheinlich in Ihrer Frage nachdenken, würde die GPU zur Beschleunigung von stark parallelen Anteilen von Anwendungen verwenden. Dies kann mithilfe von APIs wie OpenCL und CUDA erfolgen . Als Single-Chip-Lösung fördert AMD die Hardware-Unterstützung für die GPU-Beschleunigung in seinen APUs, die eine herkömmliche CPU und eine integrierte Hochleistungs-GPU auf demselben Chip wie die heterogene Systemarchitektur kombinieren, obwohl dies außerhalb der Branche nicht viel Aufsehen erregte von einigen spezialisierten Anwendungen.