A instabilidade térmica da CPU pode surgir no núcleo interno (projetado para funcionar em temperaturas mais altas 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).
Aumentar a tensão e a frequência da CPU tem o efeito de aumentar a geração de calor no núcleo . Se esse aumento, menos o calor removido no estado estacionário, elevar a temperatura a um nível muito alto do núcleo, não importará quantos núcleos você desabilitar - os que ainda estiverem ativados sofrerão um acidente. Ou falhar devido à eletromigração após algum tempo.
Porém, se a temperatura for segura para o núcleo, você observará que a temperatura fora do núcleo ainda é aumentada, à medida que o excesso de calor penetra do núcleo para a franja (em vermelho e amarelo na figura acima).
Portanto, embora o núcleo esteja abaixo de sua temperatura crítica, ele ainda aumenta a temperatura da franja acima da tolerância da temperatura da franja. Então, algo nas avarias adicionais e a CPU em sua totalidade se tornam "instáveis", 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 etc., 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 SSE3. Na verdade, mesmo a escolha da sequência de instruções pode ser relevante, e há estudos a esse respeito .