# Overclocking

L’overclocking, ou parfois surcadencement, ou surcadençage est une manipulation ayant pour but d'augmenter la fréquence du signal d'horloge d'un processeur au-delà de la fréquence nominale afin d'augmenter les performances de l'ordinateur.
Le processeur surcadencé exécute davantage d'instructions par seconde, d'où la réduction du temps d'exécution des programmes. La production de chaleur étant proportionnelle au cube de la fréquence du processeur, il chauffe aussi davantage, ce qui peut être source d'erreurs ou d'auto-bridage (throttle) du processeur. Si elle est trop faible, sa tension d'alimentation le rendra instable. Si elle est trop forte, le composant peut casser prématurément par fatigue.
Le surcadençage implique l'augmentation de fréquence du circuit d'horloge. Dans les années 1980, il nécessitait une intervention matérielle (par exemple en remplaçant un composant du circuit oscillant, ou en changeant le quartz). Depuis les années 1990, la plupart des processeurs sont cadencés par une fréquence multiple de celle d'une horloge de base : il y a un coefficient multiplicateur entre la fréquence du CPU et la fréquence du quartz, coefficient qui peut être modifié au niveau de l'UEFI. Le surcadencement des processeurs de PC se fait donc généralement aujourd'hui en modifiant ce coefficient, mais il est aussi possible d'agir en augmentant la fréquence de l’horloge du bus.

## Étymologie

Le terme d'overclocking est à l'origine un nom anglais composé d'over (« plus, au-dessus ») et de clocking dérivé du verbe to clock (« chronométrer ») que l'on peut comprendre par « cadençage ». Traduit littéralement, l'overclocking est une technique consistant à « aller au-dessus du cadençage » du processeur.
Des francisations ont été tentées : « surfréquençage », « surcadencement » où, chez Intel, surcadençage. Cependant, le terme original anglophone reste grandement utilisé.

## Principe

Surcadencer un processeur (quel que soit son type : graphique GPU, DSP, processeur principal, etc.) consiste à faire fonctionner ce composant à une vitesse supérieure à la vitesse de fonctionnement normale, c’est-à-dire celle pour laquelle son fabricant garantit un bon fonctionnement. Surcadencer le processeur central (CPU) ou celui de la carte graphique (GPU) permet d'en obtenir de meilleures performances, le gain pouvant atteindre 10 à 20 % pour la plupart des processeurs (mais une estimation raisonnable de l'augmentation probable est : 5 % à 10 %).
Les Core 2 Duo d'Intel (et dans une moindre mesure les Core 2 Quad, du fait de leur dissipation thermique élevée), comme la majorité des processeurs du même fabricant exploitant l'architecture Core, se distinguent par leurs capacités de surcadençage considérables : elles atteignent +30 % pour la majorité (25 % pour les Core 2 Quad), jusqu'à +50 % en optimisant les paramètres (FSB, coefficient, Vcore...), et plus encore en utilisant des systèmes de refroidissement plus évolués (radiateurs haut de gamme et ventilation, refroidissement à eau voire à azote liquide permettant de doubler la fréquence initiale du processeur, grâce aux propriétés de supraconductivité des matériaux). Le célèbre Q6600 montait facilement à la fréquence de 3,2 Ghz en laissant la tension en automatique, soit 33 % de gains, mais chauffait beaucoup et un bon ventirad devenait indispensable.
Augmenter la fréquence du processeur augmente en réalité la vitesse du bus de données principal de la machine (FSB), donc accélère tous les composants connectés à la carte mère. La fonction PCI-Lock, introduite en 2003 par Nvidia$^,$ et présente sur toutes les cartes mères depuis 2010, permet d'éviter ce problème et limite l'augmentation de fréquence au processeur et à la mémoire ; un mauvais réglage peut au contraire conduire à une réduction des performances.

## But recherché

Le but de l'overclocking est d'obtenir des performances supérieures à moindre coût, en poussant un composant à des limites supérieures à ses spécifications techniques.
La pratique concerne en général le microprocesseur central (CPU) et/ou le processeur graphique (GPU), mais concerne également d'autres composants, tel que la mémoire (sur certains ordinateurs, la fréquence de la mémoire est directement liée à la fréquence du microprocesseur).

## Conséquences générales de la pratique
### Refroidissement du processeur

Le problème le plus important de l'overclocking est le refroidissement du processeur :
* le système le plus couramment utilisé est le ventilateur monté sur un radiateur (le radiateur est une plaque de métal comportant des ailettes qui permet d'améliorer les échanges de chaleur entre le processeur sur lequel il est monté et l'air ambiant). Le ventilateur peut aussi être monté directement sur le processeur, mais le refroidissement sera moins bon ; parfois une petite plaque de métal intercalée entre le ventilateur et le processeur aide à dissiper la chaleur du processeur. Le ventilateur doit être le plus volumineux possible pour permettre un brassage d'air important qui contribuera aussi à la ventilation du boîtier ;
* l'aération est, elle aussi, très importante car c'est le brassage de l'air du boîtier qui va permettre d'évacuer la chaleur, que les éléments ont fournie à l'air, à l'extérieur. C'est pour cela qu'un boîtier « ordonné » permet de minimiser les obstacles à la ventilation. En effet les nappes des disques dur, avec par exemple les nappes PATA (IDE), qui sont très larges, si elles sont situées devant un élément qui chauffe (devant le processeur par exemple) vont nuire à la circulation d'air et risquent de provoquer une surchauffe (même pour un processeur non overclocké) ; ce problème est rendu négligeable par l'utilisation de nappes Serial-ATA très fines (de 0,5 à 1 cm). Récemment, des nappes PATA « rondes » ont fait leur apparition, améliorant la ventilation dans les boîtiers encore équipés en IDE. Depuis quelques années est apparue une discipline dérivée dite « cable management » (que l'on pourrait traduire par « gestion du câblage »), qui consiste à bien agencer les différents câbles dans le boitier afin de dégager de l'espace pour un effet esthétique mais également pour améliorer la circulation de l'air entre les divers éléments ;
* on peut trouver de plus en plus de systèmes de refroidissement de processeur par liquide (refroidissement à eau). Ces systèmes ont l'avantage de mieux refroidir les processeurs, ils sont surtout utilisés lors d'overclocking et sont aussi plus silencieux que les modèles dits « plus classiques » qui utilisent la ventilation. Cependant, ils sont généralement plus coûteux, peuvent être plus difficiles à installer et potentiellement dangereux et/ou dommageable pour l'ordinateur, vu la cohabitation de l'eau et de l'électricité dans un même espace. Attention à la place nécessaire dans l'unité centrale, certains kits de fabricants proposent même de pouvoir refroidir divers éléments de l'ordinateur (carte graphique, mémoire vive, etc.).

### Risques
#### Destruction du processeur

Le principal risque est de détruire le processeur par application d'une tension d'alimentation trop importante, d'une température trop élevée au niveau du cœur, ou encore de courant de fuite inter-transistor trop important. Dans le passé, les processeurs risquaient également de brûler si la température devenait trop élevée. Mais actuellement, absolument tous les processeurs sont équipés d'un système de sonde qui coupe automatiquement le système si la température dépasse les limites fixées par le constructeur (coupure automatique sur les Core 2 Duo et Core 2 Quad à 120~125 °C). Le bon fonctionnement de ce coupe circuit est garanti dans le cadre d'une utilisation normale du processeur. Le fait d'utiliser le processeur à une fréquence supérieure a également une influence sur sa durée de vie (20 ans en moyenne), même si on considère en général que la réduction est négligeable comparé au temps de vie d'un processeur (rarement plus de cinq ans).

#### Anomalies de fonctionnement

L'overclocking ajoute un risque de faute de calcul ou d'apparition d'artefacts durant un traitement, ce qui peut avoir diverses conséquences suivant l'utilisation du processeur au moment de l'apparition de l'artefact, on peut citer :
* Apparition de taches sur des images ;
* Déclenchement intempestif d'une alarme ;
* Instabilité/Blocage/Destruction du système d'exploitation à la suite d'écritures corrompues ;
* Erreurs de calculs ou d'instructions, le niveau électrique n'ayant pas le temps de se propager entre deux portes logiques (bits de valeur 0 lu à 1 ou inversement).

#### Risque de surchauffe

Un overclocking mal réalisé peut altérer le fonctionnement du matériel de manière plus ou moins grave, allant d'une simple surchauffe du composant overclocké (il perd alors en stabilité) à la destruction d'un ou plusieurs éléments de la configuration. Les constructeurs configurent toujours leurs ordinateurs à des fréquences moindres que les fréquences limites (afin de se laisser une marge de sécurité évitant un trop grand nombre de retours sous garantie), ce qui permet une marge d'overclocking.
Pour pallier l'augmentation de température provenant des composants overclockés, l'utilisation de système de refroidissement à air avec ou sans caloducs ou de système de refroidissement à eau est préconisée. Dans la pratique extrême de cette discipline, les spécialistes utilisent des refroidissements à l'azote liquide (−195,79 °C) et/ou des refroidissements à changement de phase (Montage simple étage : direct on die ou montage multi-étages : cascade). L'un des dangers de l'emploi de ces systèmes de refroidissement extrêmes, aussi désignés « sub-zero/sub ambient cooling systems » (systèmes de refroidissement en dessous de la température ambiante/en dessous de zéro), est l'apparition de condensation sur les éléments ainsi équipés, ce qui peut causer des problèmes majeurs si cette humidité atteint certains éléments du CPU ou de la carte-mère (l'humidité de l'air ambiant se condense au contact des éléments très froids). Pour ces raisons, les systèmes à azote liquide sont utilisés seulement de manière très occasionnelle, étant quasi exclusivement vus lors de tentatives de records ou lors de meetings spécialisés.
L'overclocking ne nuit pas à la stabilité du processeur si l'on reste dans des fréquences supportables par les composants. Il est souvent nécessaire de modifier légèrement les tensions de fonctionnement pour aider le processeur à « tenir » la nouvelle cadence sans instabilité.
Le bruit des ventilateurs devenant peu acceptable pour les applications gourmandes, on recourt parfois à l'ajustement inverse (le sous-cadencement ou underclocking) afin de diminuer les besoins en dissipation thermique, et donc permettre le sous-voltage du ventilateur de refroidissement ou du CPU (undervolting), ou le passage en refroidissement passif, pour diminuer le bruit.
Un overclocking « normal » risque de diminuer la durée de vie du processeur (ou des processeurs), car ce dernier chauffe et risque de fonctionner au-dessus de la température pour laquelle il est conçu. Une ventilation homogène est un des éléments cruciaux de l'overclocking et le contrôle de cette température est fortement souhaitée. Certains constructeurs (par exemple ASUS) fournissent un logiciel permettant le contrôle des températures du CPU et de l'alimentation.
Des idées reçues poussent à éviter les systèmes de refroidissement plus poussés (azote liquide), certains utilisateurs tentent de convaincre (ainsi qu'eux-mêmes) que ces méthodes diminuent de manière importante la durée de vie du processeur, ceci étant faux, un processeur, même très overclocké, fonctionnant sous −150 °C sera toujours moins abîmé qu'un processeur overclocké en permanence à 50 °C tant que la différence de tension est compensée par la différence de température. Ceci est dû au phénomène d'électromigration.
Le newsgroup interne d'IBM The Bitbucket signalait en décembre 1984 un PC/AT fonctionnant expérimentalement de façon prolongée à 19 MHz (au lieu de 6 MHz), sous réserve de remplacer ses ROM (lentes) par de la RAM, plus rapide.

## Théorie de l'overclocking

Cette technique répond à la demande des micro-ordinateurs modernes qui doivent faire face à des programmes de plus en plus gourmands. Elle cherche à obtenir la puissance maximale à partir d'une configuration existante. On peut l'insérer dans une recherche plus générale de la performance des systèmes informatiques.

### Nombre de cycles par instruction

La plupart des ordinateurs fonctionnent de manière synchronisée en utilisant un signal d'horloge CPU (clock) à fréquence constante (la fréquence d'horloge, exprimée en hertz, égale l'inverse de la période — durée d'un cycle d'horloge — exprimée en secondes).
Une instruction d'ordinateur est un ensemble d'opérations élémentaires ou micro-instructions dont le nombre et la complexité dépendent de l'instruction, de l'organisation et de l'implémentation exacte dans le CPU. Une micro-opération est une opération matérielle élémentaire qui peut être exécutée en un cycle d'horloge. Cela correspond à une micro-instruction dans un CPU micro-programmé. Par exemple, les opérations sur les registres, les décalages, les chargements, les incréments, les opérations de l'unité arithmétique et logique : addition, soustraction, etc.
Cependant une instruction machine peut prendre un ou plusieurs cycles pour être entièrement traitée ; c'est le nombre de cycles par instruction ou, en anglais, cycles per instruction (CPI).
Une instruction-machine = 1 ou N micro instructions = 1 ou N CPI.
Voici un extrait de la documentation fournie aux développeurs de compilateurs ou de programmes. On peut y voir une liste d'instructions du micro-processeur AMD A64 et de leur nombre de cycles. La colonne des latences fournit les attentes pour une exécution statique de l'instruction. L'exécution statique est le nombre de cycles que prend le traitement séquentiel, jusqu'à son terme, des micro-opérations composant l'instruction. Ces valeurs sont données à titre indicatif. On suppose que :
* l'instruction est immédiatement disponible dans le cache L1 et que l'opération peut être exécutée avec les autres opérations du planificateur de tâches ;
* les opérandes sont disponibles dans le cache L1 ;
* il n'y a pas de contention avec les autres ressources.
Les deux instructions suivantes :
* Call pntr16 16/32, qui correspond à un appel à une routine et qui dure 150 cycles,
* CLC, qui correspond à un effacement de registre et qui dure un cycle,
montrent l'étendue que peut avoir le CPI pour des instructions différentes. Cette documentation est disponible chez AMD sous le titre software optimization guide for AMD Athlon 64 and AMD Opteron processors.

## Logiciels

Certains fabricants de cartes mères comme MSI intègrent des logiciels simplifiant l'overclocking sous le BIOS de Windows, OC-Génie et Asus intègrent des logiciels simplifiant l'overclocking sous Windows, le logiciel AI-suiteII permettant même de contrôler les températures ainsi que le fonctionnement et la vitesse des ventilateurs, en temps réel.
Il existe aussi la possibilité de mesurer les températures et de visualiser toutes les informations relatives à l'overclocking avec CPU-Z, si la carte mère le permet. D'autres logiciels permettent de tester la stabilité de la machine, une fois celle-ci overclockée : OCCT, LinX (test de la stabilité, vérification des températures, tensions, etc.).

## Compétitions

Le premier concours français d'overclocking ouvert au grand public a été la SOC Overclocking Competition, première édition en décembre 2007. Elle a réuni 20 participants s'affrontant sur une plate-forme identique afin d'en déterminer le meilleur "overclockeur" du concours. Depuis, l'équipe de l'association loi de 1901 Syndrome OC réitérait plusieurs fois l'expérience pour arriver à une 4e édition qui s'est déroulée à Brest du 29 octobre au 1er novembre 2010.
En 2011 et 2012, Asus, en partenariat avec Intel, Cooler Master et Syndrome OC, a organisé le Noob Overclocking Challenge, compétition destinée à initier les débutants aux rudiments de l'overclocking$^,$. Des marques comme MSI et Gigabyte organisent leur propre concours d'overclocking, appelés respectivement Master Overclocking Arena (MOA) et Gigabyte Open Overclocking Championship (GOOC).
Le record toutes catégories confondues enregistré par CPU-Z est détenu en 2022, avec 9 008,82 MHz sur un Intel Core i9 13900K.