Verrouillage des multiplicateurs et des fréquences chez Intel

(Partie 1/2) 

De Willy STOPHE

Introduction

L'overclocking est apparu en même temps que les processeurs et les ventilateurs. Tout le monde connaît l'overclocking, cette technique permet de faire tourner un processeur à des fréquences plus élevées que celle d'origine. L'exemple le plus flagrant actuellement est bien le celeron 300A "slot1" que l'on pousse très facilement à 450 MHz (80% des cas). Les constructeurs de cartes mères font même tout pour améliorer la vie des overclockeurs en rendant leurs cartes de plus en plus performantes. Par exemple, certaines cartes mères comme ASUS permettent de connaître la température du CPU et d'autres comme ABIT et leur "soft menu II" n'utilise plus les cavaliers pour changer les fréquences et les multiplicateurs. De même au mois de février est apparu un petit logiciel, SoftFSB, qui permet de changer les fréquences du bus systèmes sous Windows 9x sans rallumer le PC.

Les exemples des processeurs overclockés ne manquent pas, en effet une des règles en overclocking dit que chaque processeur est vendu à une fréquence inférieure que sa fréquence maximale. Mais surtout pou bien overclocker, il faut bien refroidir le processeur et utiliser des fréquences de bus que votre système (RAM,..) est capable de supporter. Au mois de janvier dans les news hardware, je vous montrais un article qui présentait un celeron 300A tournant à 700MHz repoussant toujours plus loin les limites de l'overclocking. Même Intel s'amuse à overclocker ses processeurs en nous montrant, il y a un an, un processeur tournant lui aussi à 700 MHz.

Comme la plupart des superstitions, la mythologie overclocking a une source: l'ignorance, et un traitement connu: la compréhension. Quand vous apprendrez exactement comment Intel synchronise ses processeurs, et comment et pourquoi il les verrouille, alors vous serez beaucoup moins entrain à croire les rumeurs et les spéculations. Car aujourd'hui tout le monde se pose la même question, est-ce la fin de l'overclocking ?

 Les oscillateurs d’horloge, comment ça marche ?

Pour bien comprendre comment Intel tente de supprimer l'overclocking, il faut d'abord comprendre comment marche un CPU et ses liens avec l'horloge. Voici un petit cours très théorique et surtout très simpliste du système.

Il existe plusieurs manières de réaliser un oscillateur d'horloge pour le CPU.

Les oscillateurs "On-Chip"

Il est possible de construire un oscillateur "On-chip", comprenez "sur la puce" en arrangeant les transistors dans certaines configurations. Mais pour un fabricant de processeur, il est simplement impensable de consacrer une partie de la logique du CPU à un oscillateur qui envoie une impulsion d'horloge à une fréquence fixe. Et ceci pour deux raisons :

Tout d'abord, les oscillateurs, réalisés à partir des transistors sur un processeur, sont souvent sensibles aux fluctuations de la température et de tension. Or tout le monde sait que la température d'un CPU fluctue toujours un peu. Ces variations de la température visseraient vers le haut la fréquence du CPU ; synchroniser la puce avec ses propres transistors signifierait que les variations de la chaleur du CPU engendreraient des variations d'horloge (qui à leurs tours engendreraient des variations de chaleur qui,..).

La deuxième raison pour ne pas mettre une source d'horloge sur le CPU est que le fabricant veut pouvoir séparer les puces de la même plaque pour les vendre à différentes vitesses. Il veut vendre les puces qui viennent de la meilleure partie du moule aux fréquences d'horloge plus élevées et à des prix plus élevés. Si la fréquence de fonctionnement de l'horloge de noyau était câblée, il serait alors dans la "m…." ,euh pardon dans le pétrin, pour pousser le CPU au dessus de sa fréquence câblée.

À la lumière de ces deux problèmes, la meilleure chose à faire est d'enlever les fonctions de génération d’horloge du CPU et de les mettre sur la carte mère, où vous pouvez employer un gentil quartz très fiable pour produire vos impulsions d'horloge.

  Les oscillateurs "On-board"

Tout ce que vous avez à faire, c’est mettre cette impulsion d'horloge provenant de la carte mère dans le CPU et le tour est joué. Mais il y a alors un problème de taille, car si vous introduisez directement l'horloge du bus dans le CPU, vous serez forcé alors de faire fonctionner le CPU à la fréquence du bus système. Alors que cela ne posait pas de problème du temps des 486, actuellement une telle chose est impensable car toutes les puces opèrent beaucoup plus rapidement que le bus système.

Pour venir à bout de ce problème, il faut utiliser un circuit, présent du simple téléviseur aux très sophistiqués systèmes de lancement de missile: le Phase-Locked Loop (PLL). Le PLL est un circuit qui tire profit du principe du feedback négatif. Il possède deux composants principaux : un comparateur de fréquence et un oscillateur tension-commandé (voltage-controlled oscillator ou VCO). Souvenez vous quand je vous ai parlé d’un oscillateur à partir des transistors? Eh bien, c'est le VCO. Le VCO est un circuit qui prend une tension en entrée et émet une impulsion dont la fréquence est basée sur la valeur de la tension d'entrée. Lorsque vous changez la valeur de la tension d'entrée, l'impulsion de sortie devient plus rapide ou plus lente.

Le principe du comparateur de fréquence est identique au VCO, mais inversé. Il prend deux impulsions en tant qu’entrées, et émet une tension basée sur la différence entre les fréquences de ces deux impulsions. Ainsi la tension de sortie du comparateur de fréquence change avec la différence des fréquences de ses entrées.

Pour réaliser le PLL, vous utilisez l'horloge externe du bus en tant qu'une entrée dans le comparateur de fréquence, et la sortie du VCO comme autre entrée. Vous prenez alors la tension de sortie du comparateur de fréquence et vous l'employez pour contrôler le VCO. Le VCO envoie une partie de son impulsion de sortie de nouveau dans le comparateur de fréquence, pour être comparé à l'horloge externe de bus. Ce feedback verrouille la sortie du VCO à la fréquence exacte de l'horloge de bus. Si le VCO commence à dériver (probablement en raison des variations thermiques), alors le comparateur de fréquence détecte l'anomalie et la corrige en changeant la tension d’entrée du VCO.

Figure 1. Schéma du PLL avec pour entrée le bus système et pour sortie le cœur du CPU.

 
Pour réaliser la multiplication, vous introduisez la sortie du VCO dans un multiplicateur et voila! Vous avez un générateur d’horloge stable et indépendant de la température du CPU qui fonctionne à la vitesse que vous voulez. Tout ce qui précède est extrêmement simplifié. Car vous ne mettez pas réellement un multiplicateur sur l'extrémité (vous pourriez, mais ce n'est pas vraiment comme ça que cela fonctionne). La multiplication est en réalité accomplie par une " division " au niveau du feedback du VCO.

Vous savez maintenant comment l’horloge du bus système parvient jusqu’au cœur du CPU mais il reste à déterminer quel multiplicateur appliqué à cette impulsion (ou plutôt quel diviseur).

 

Précédente Accueil Remonter Suivante