Bug de la division du Pentium
# Bug de la division du Pentium

Le bug de la division du Pentium est un bug informatique ayant affecté le microprocesseur Pentium du fabricant Intel peu après son lancement en 1994 : une erreur était introduite lors de certaines opérations de division.

## Détection

En octobre 1994, le professeur Thomas Nicely de l'université de Lynchburg dévoile un dysfonctionnement dans l'unité de calcul en virgule flottante du Pentium lors de calculs sur la constante de Brun. Il s'est rendu compte que certaines opérations de division renvoient toujours une valeur erronée par excès sur ce processeur. Ces erreurs dans les divisions sont rapidement confirmées par d'autres personnes.

Ce bug devient très vite notoire et est surnommé le « bug FDIV du Pentium » (FDIV est l'instruction de division en virgule flottante des microprocesseurs x86). D'autres ont mis en évidence des problèmes de division dont le résultat retourné par le Pentium était au-dessus de la valeur réelle jusqu'à 61 unités pour 10000. L'erreur provenait de l'initialisation incomplète (dans le silicium) d'une table de valeurs servant à un nouvel algorithme de division, plus rapide.

La présence du bug peut être vérifiée via l'opération qui suit, à effectuer dans une application qui utilise de manière native les nombres en virgule flottante, y compris la calculatrice de Windows :

* 4 195 835,0 / 3 145 727,0 = 1.333820449136241002 (valeur correcte),
* 4 195 835,0 / 3 145 727,0 = 1,333739068902037600 (valeur erronée retournée par le processeur).

Ce problème s'est produit seulement sur quelques modèles du processeur Pentium. Tous les processeurs de famille Pentium ayant une fréquence d'horloge de plus de 100 MHz et plus récents sont exempts de ce bug.

Ces constatations ont alimenté une vive polémique. Intel a d'abord nié le problème. Plus tard, Intel a minimisé l'importance des défauts de ses microprocesseurs, voulant rassurer les utilisateurs et a refusé de remplacer systématiquement les microprocesseurs défectueux. Cependant, si une personne pouvait montrer qu'elle avait été affectée par le dysfonctionnement, alors Intel remplacerait son processeur.

Bien que des évaluations effectuées par des organismes indépendants eussent montré le peu d'importance des conséquences du bug et son effet négligeable dans la plupart des utilisations, la communication nonchalante d'Intel a provoqué une grande colère publique, et le bug a trouvé un large écho dans la presse nationale américaine. Des compagnies comme IBM (dont le clone du Pentium « 586 » concurrençait au même moment la gamme des Pentium d'Intel) ont joint leur voix pour exprimer leur colère. Finalement, Intel a décidé de remplacer tous les processeurs Pentium défectueux, ce qui aurait pu représenter un coût énorme pour la compagnie. Toutefois, seule une petite fraction des possesseurs de processeurs défectueux a demandé l'échange.

