Une instabilité thermique du processeur peut survenir dans le noyau interne (qui est conçu pour fonctionner à des températures plus élevées que, par exemple, le cache L2) ou dans le processeur externe. Si le CPU était un supraconducteur thermique, il serait tout à la même température et cela n'aurait pas d'importance.
Normalement, la chaleur est éliminée de toute la surface couverte par le dissipateur thermique et est générée principalement dans le (s) cœur (s) et dans une moindre mesure dans le matériel auxiliaire en fonction du taux de consommation d'énergie par unité de volume (ou de surface, car l'architecture du processeur est fondamentalement plat).
L'augmentation de la tension et de la fréquence du processeur a pour effet d'augmenter la génération de chaleur dans le cœur . Si cette augmentation, moins la chaleur retirée à l'état d'équilibre, entraîne une température trop élevée pour le cœur, le nombre de cœurs que vous désactivez importe peu - ceux qui sont encore activés se bloqueront. Ou échouer en raison de l' électromigration après un certain temps.
Si la température est sûre pour le cœur, vous remarquerez que la température à l' extérieur du cœur est toujours entraînée vers le haut, car une chaleur excessive s'infiltre du cœur vers la frange (en rouge et jaune sur l'image ci-dessus).
Il peut donc arriver que, tandis que le noyau est en dessous de sa température critique, il élève toujours la température de la frange au-dessus de la tolérance de température de la frange. Puis quelque chose dans la frange fonctionne mal, et le CPU dans son intégralité devient "instable", même si les cœurs eux-mêmes sont toujours dans la zone de sécurité.
Étant donné que la chaleur dans la frange provient (également) de tous les cœurs, des sections d'hyperthreading, etc., la désactivation de ces fonctionnalités réduit cette chaleur et peut maintenir la frange stable.
D'ailleurs, même le type de code qui est exécuté peut influencer la production d'énergie; afin que vous puissiez rencontrer des échecs lors de l'exécution du même code compilé avec ou sans, par exemple, le support SSE3. En fait, même le choix de la séquence d'instructions peut être pertinent, et il existe des études à cet égard .