A instabilidade térmica da CPU pode surgir no núcleo interno (que é projetado para funcionar em temperaturas mais altas do que, digamos, o cache L2) ou na CPU externa. Se a CPU fosse um supercondutor térmico, estaria tudo na mesma temperatura e isso não importaria.
Normalmente o calor é removido de toda a superfície coberta pelo dissipador de calor e é gerado principalmente no (s) núcleo (s) e em menor medida no hardware auxiliar dependendo da taxa de consumo de energia por unidade de volume (ou de superfície, desde a arquitetura da CPU é basicamente plana).
OaumentodatensãoedafrequênciadaCPUtemoefeitodeaumentarageraçãodecalornonúcleo.Seesseaumento,menosocalorremovidonoestadoestacionário,conduziratemperaturamuitoaltaparaonúcleo,entãonãoimportaquantosnúcleosvocêdesabilitará-osqueaindaestiveremhabilitadosirãofalhar.Oufalhardevidoa eletromigração depois de algum tempo.
Se a temperatura for segura para o núcleo, no entanto, você observará que a temperatura fora do núcleo ainda é impulsionada para cima, pois o excesso de calor penetra do núcleo à franja (em vermelho e amarelo na foto acima).
Assim, pode acontecer que, enquanto o núcleo estiver abaixo de sua temperatura crítica, ele ainda elevará a temperatura da franja acima da tolerância de temperatura da borda. Então algo no mau funcionamento da franja, e a CPU em sua totalidade torna-se "instável", mesmo que os próprios núcleos ainda estejam na zona segura.
Como o calor na franja vem (também) de todos os núcleos, seções de hyperthreading e assim por diante, desabilitar esses recursos reduz esse calor e pode manter a franja estável.
Aliás, mesmo o tipo de código que está sendo executado pode influenciar a geração de energia; para que você possa ter falhas ao executar o mesmo código compilado com ou sem, por exemplo, suporte a SSE3. Na verdade, mesmo a escolha da seqüência de instruções pode ser relevante, e há estudos a esse respeito .