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 , 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'à  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 : 
  /  = 1.333820449136241002 (valeur correcte),
  /  =  (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  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.

Notes et références

Liens externes 
  Les leçons d'un algorithme délinquant : un article concernant le bug de la division du Pentium.
   : description de l'algorithme de division SRT du Pentium et de l'erreur dans la table de correspondante, sur le site d'Intel.
  Informations sur le bug, en explique notamment la cause.
  , par Cleve Moler
  Archive d'articles et documents publiés sur le sujet (possibilité de télécharger une archive en format ZIP).

Bug
Architecture x86
Calcul informatique