Die thermische Instabilität der CPU kann im inneren Kern (der für höhere Temperaturen als der L2-Cache ausgelegt ist) oder in der äußeren CPU auftreten. Wenn die CPU ein thermischer Supraleiter wäre, würde sie alle die gleiche Temperatur haben, und dies würde keine Rolle spielen.
Normalerweise wird die Wärme von der gesamten vom Kühlkörper bedeckten Oberfläche abgeführt und hauptsächlich im Kern (in den Kernen) und in geringerem Maße in der Zusatzhardware erzeugt, abhängig von der Leistungsaufnahme pro Volumeneinheit (oder Oberfläche) seit der CPU-Architektur ist im Grunde flach).
Durch Erhöhen der CPU-Spannung und -Frequenz wird die Wärmeerzeugung im Kern erhöht . Wenn dieser Anstieg abzüglich der im eingeschwungenen Zustand abgeführten Wärme die Temperatur für den Kern zu hoch macht, spielt es keine Rolle, wie viele Kerne Sie deaktivieren - die noch aktivierten stürzen ab. Oder scheitern nach einiger Zeit an Elektromigration .
Wenn die Temperatur jedoch kernsicher ist, werden Sie feststellen, dass die Temperatur außerhalb des Kerns immer noch nach oben getrieben wird, da überschüssige Wärme vom Kern zum Rand sickert (in der obigen Abbildung in Rot und Gelb).
So kann es vorkommen, dass der Kern zwar unter seiner kritischen Temperatur liegt, die Streifentemperatur jedoch über die Streifentemperaturtoleranz hinaus ansteigt. Dann kommt es zu Störungen im Randbereich, und die CPU wird insgesamt "instabil", auch wenn sich die Kerne selbst noch in der sicheren Zone befinden.
Da die Wärme im Rand (auch) von allen Kernen, Hyperthreading-Abschnitten usw. kommt, können Sie durch Deaktivieren dieser Funktionen diese Wärme reduzieren und den Rand stabil halten.
In diesem Fall kann sogar die Art des ausgeführten Codes die Stromerzeugung beeinflussen. Dies kann zu Fehlern führen, wenn Sie denselben Code ausführen, der mit oder ohne SSE3-Unterstützung kompiliert wurde. Tatsächlich kann sogar die Wahl der Befehlsfolge relevant sein, und es gibt diesbezügliche Studien .