www.wikidata.de-de.nina.az
FDIV Bug bezeichnet einen Hardwarefehler des Pentium Prozessors von Intel Der Fehler wurde im November 1994 anderthalb Jahre nach der Markteinfuhrung bekannt und fuhrt bei Gleitkomma Divisionen mit bestimmten relativ wenigen Wertepaaren zu ungenauen Ergebnissen 1 Kein anderer Fehler in einem CPU Design hat so viel Wirbel und Aufregung bei Anwendern und Fachleuten ausgelost In der Folge werden entdeckte Hardwarefehler von vielen Herstellern veroffentlicht Vielen Anwendern ist dadurch bewusst geworden dass komplexe Hardware ebenso wie Software typischerweise zahlreiche Fehler hat Die Bezeichnung FDIV Bug leitet sich vom Namen eines haufig verwendeten Gleitkommabefehls der x86 Architektur ab Der Fehler betrifft aber keineswegs ausschliesslich den Befehl FDIV wie man vermuten konnte Vielmehr sind alle Befehle betroffen die die fehlerhafte Divisionseinheit benutzen Im Einzelnen sind das FDIV FDIVP FDIVRP FIDIV FIDIVR FPREM FPREM1 FPTAN und FPATAN 2 3 Inhaltsverzeichnis 1 Entdeckung des Fehlers 2 Grosse Haufigkeit und Auswirkungen des Fehlers 3 Ursache des Fehlers 4 Reaktionen auf den Fehler 5 Betroffene Pentium Versionen 6 Siehe auch 7 Einzelnachweise 8 Quellen 9 WeblinksEntdeckung des Fehlers BearbeitenAls Entdecker dem es zu verdanken ist dass der Fehler der breiten Offentlichkeit bekannt wurde gilt anerkanntermassen Prof Thomas Ray Nicely vom Lynchburg College Er entdeckte den Fehler beim Versuch einer genauen Berechnung der Brunschen Konstante Nachdem er dem Fehler mehrere Monate auf den Grund gegangen war informierte er am 30 Oktober 1994 ausgewahlte Fachbuchautoren und Fachjournalisten und brachte damit den Stein ins Rollen Die naheren Umstande und den zeitlichen Ablauf der Entdeckung hat Nicely in einem FAQ zusammengefasst 4 Nach eigenen Angaben hatte Intel den Fehler bereits vor seinem Bekanntwerden entdeckt Verschiedene Quellen nennen den Juni andere gar erst den August 1994 als Zeitpunkt der Entdeckung Nicely spricht in seinem FAQ davon dass Intel den Fehler bereits im Mai bei der Arbeit an der Gleitkommaeinheit des damals noch in Entwicklung befindlichen Pentium Nachfolgers P6 dem spateren Pentium Pro entdeckte Robert Colwell Chefarchitekt des Pentium Pro bestatigte diese Darstellung in seinem Buch uber das P6 Entwicklungsprojekt 5 Laut Colwell fiel der Fehler etwa drei Monate vor Nicelys Veroffentlichung dem P6 Gleitkomma Architekten Patrice Roussel im Rahmen einer vergleichenden Validierung der RTL Simulation der zukunftigen P6 Gleitkommaeinheit auf und wurde dem Pentium Entwicklungsteam zur Bearbeitung zugeleitet Deshalb konnte Intel schon im Oktober eine fehlerbereinigte Pentium Version in Musterstuckzahlen liefern Grosse Haufigkeit und Auswirkungen des Fehlers BearbeitenDie relative Grosse des Fehlers wenn er auftrat betrug deutlich weniger als ein Promille Stets waren mindestens die ersten 12 Bit korrekt Zudem trat der Fehler selten auf Von den 2 28 1047 moglichen Paaren von Zahler und Nenner waren etwa 3 1037 betroffen Insbesondere waren die Kehrwerte von samtlichen einfach genauen Zahlen korrekt Spurbare Auswirkungen konnten in Anwendungen auftreten in denen eine hohe Genauigkeit gebraucht wurde und die Eingangsdaten dies hergaben wie etwa in der Vorausberechnung astronomischer Ereignisse oder bei Anwendungen in denen eine schlechte Kondition eine Vergrosserung von Rechenfehlern bewirkte Ob und in welchem Ausmass Normalanwender von dem Fehler betroffen sein konnten war in den Wochen nach der Entdeckung umstritten Viele Anwender arbeiteten zu dieser Zeit noch mit CPUs die keine Gleitkommaeinheit besassen sodass verbreitete Standardsoftware eine vorhandene Gleitkommaeinheit ignorierte Intel behauptete zunachst der Fehler werde bei einem Normalanwender statistisch nur alle 27 000 Jahre einmal auftreten und sei nur bei der Primzahlerzeugung oder anderen anspruchsvollen Berechnungen relevant Nicht zuletzt die Fachpresse hielt dem andere Schatzungen entgegen So ermittelte das deutsche Fachmagazin c t in seiner Januar Ausgabe 1995 eine durchschnittliche Haufigkeit von einem Fehler alle 60 Stunden bei gleitkommaintensiven Anwendungen raumte aber gleichzeitig ein dass die Zahl der wirklich Betroffenen tatsachlich nicht so gross sein durfte IBM schaltete sich ein und stoppte pressewirksam die Auslieferung von Rechnern mit Pentium CPU und rechnete vor dass der Fehler statistisch sogar alle sechs Stunden einmal auftreten konne Die Reaktionen und Behauptungen IBMs waren damals aber nicht unumstritten war IBM doch mit seiner PowerPC CPU und seinen RS 6000 Workstations einer der scharfsten Konkurrenten von Intel im Highend Sektor So wurde der Vorstoss IBMs von vielen eher als marktstrategisches Manover gewertet Nicely nahm Intel angesichts derart dramatischer Darstellungen in Schutz In seinem FAQ vertrat er den Standpunkt dass ein zwischenzeitlich von Intel in Umlauf gebrachtes White Paper das eine statistische Analyse des Fehlers enthielt 6 deutlich naher an der Realitat liege als die Darstellungen von IBM 4 Ursache des Fehlers BearbeitenDie CPU verwendet das Verfahren der SRT Division bei der Lookup Tabellen verwendet werden In den fehlerhaften CPUs lagen hierbei funf falsche Tabelleneintrage vor Statt des Wertes 2 ist in den Zellen der Wert 0 eingetragen Der Fehler tritt wegen der ungleichen Wahrscheinlichkeitsverteilung mit der die einzelnen Zellen ausgelesen werden nur selten beziehungsweise nur bei bestimmten Zahlenkombinationen auf 7 Reaktionen auf den Fehler BearbeitenNachdem Intel den Fehler entdeckt hatte beseitigte man ihn stillschweigend und begann vermutlich irgendwann im Spatsommer oder Anfang Herbst damit die Produktion der verschiedenen Pentium Varianten nach und nach auf die fehlerbereinigten Versionen umzustellen Trotzdem lieferte man betroffene CPUs noch bis spat ins Jahr 1994 aus lange Zeit davon ohne Wissen der Anwender Kritiker warfen Intel deshalb vor man hatte den Fehler zunachst vertuschen dann verharmlosen wollen So behauptete Intel nach Bekanntwerden des Fehlers er wurde bei den meisten Anwendern nie auftreten In diesem Zusammenhang soll von dem bereits oben erwahnten statistischen Auftreten alle 27 000 Jahre bei normalen Endusern die Rede gewesen sein Diese Einschatzung loste bei Anwendern und Fachpresse emporte Reaktionen aus Intel kundigte zunachst an nur CPUs von Anwendern tauschen zu wollen die darlegen konnten dass sie von dem Fehler betroffen seien Viele Anwender forderten Intel daraufhin auf alle betroffenen CPUs zu tauschen Die Fachpresse liess kein gutes Haar an dieser Ankundigung Nachdem der Druck immer starker wurde und dem Konzern ein ernstzunehmender Imageschaden drohte lenkte Intel am 20 Dezember schliesslich ein und kundigte ein umfassendes Austauschprogramm fur alle betroffenen CPUs an 8 Nicht zuletzt erntete Intel fur den Fehler viel Schadenfreude Witze der Art Wie viele Intel Mitarbeiter braucht man um eine Gluhbirne zu wechseln 1 9999983256 oder You mean 2 00000000 2 000000000 doesn t equal 3 999998456 kursierten damals zuhauf 9 Intel zog Lehren aus dem Vorfall Andy Grove Mitbegrunder und CEO von Intel entschuldigte sich in der Presse fur den Arger den seine Haltung verursacht hat Es wurde extra fur den Umtausch der fehlerhaften CPUs eine Telefonzentrale eingerichtet Insgesamt stellte Intel fur diesen Vorfall 475 Millionen Dollar zur Verfugung was uber der Halfte des Gewinns im vierten Quartal des Jahres 1994 entsprach Am Ende wurden ca eine Million fehlerhafte Prozessoren umgetauscht Nicely verurteilte die Austauschaktion als Verschwendung von Ressourcen 4 1995 begann Intel mit der Veroffentlichung aller in den eigenen CPUs entdeckten Fehler Um an diese Informationen zu kommen musste man zuvor noch einen Geheimhaltungsvertrag unterzeichnen Von nun an konnte sich jeder in sogenannten Specification Updates uber Fehler in Intel Produkten informieren In den Specification Updates betroffener Pentium CPUs werden die Auswirkungen des FDIV Bugs umschrieben als Slight Precision Loss for Floating point Divides on Specific Operand Pairs was ubersetzt soviel bedeutet wie geringfugig reduzierte Genauigkeit bei Gleitkomma Divisionen mit bestimmten Operanden Paaren In Abhangigkeit vom Typ der Pentium CPU tragt der FDIV Bug in diesen Specification Updates die Bezeichnung Erratum 20 beim P5 Pentium bzw Erratum 23 beim P54C Pentium 2 3 Betroffene Pentium Versionen Bearbeiten nbsp Pentium 66 SX837 mit FDIV Bug Der Fehler findet sich in allen Pentium CPUs die bis Anfang Herbst 1994 produziert wurden Spater hergestellte Exemplare weisen ihn teilweise noch auf Da bis Anfang 1995 lediglich Pentium CPUs bis einschliesslich 100 MHz hergestellt wurden sind alle schnelleren Varianten von dem Fehler nicht betroffen Das heisst aber nicht dass alle Pentium CPUs mit Taktfrequenzen von 100 MHz und weniger den Fehler haben Da Intel die CPUs im Rahmen des Austauschprogramms ausschliesslich gegen solche mit gleicher Taktfrequenz tauschte und fehlerbereinigte Versionen dieser CPUs weiterhin verkaufte sind danach noch sehr viele Pentium CPUs mit Taktfrequenzen zwischen 60 und 100 MHz in Umlauf gekommen die den Fehler nicht haben Allein von der Taktfrequenz lasst sich also nicht auf das Vorhandensein des FDIV Bugs schliessen Bis Herbst 1994 bestand der Grossteil der Pentium Produktion jedoch aus Modellen des ersten Pentium Typs P5 den es ausschliesslich mit Taktfrequenzen von 60 und 66 MHz gab Der fortschrittlichere P54C Typ der zunachst ausschliesslich mit 90 und 100 MHz verfugbar war war hingegen teuer und vergleichsweise selten Unter anderem deswegen machen die 1994 gefertigten P5 Modelle den grossten Teil aller vom FDIV Bug betroffenen CPUs aus Da Intel den Pentium mit 75 MHz fur den Sockel 5 SPGA Typ erst am 10 Oktober 1994 vorstellte als das fehlerbereinigte B5 Stepping des P54C bereits in Produktion war sind von der Sockel 5 Version nur die 90 und 100 MHz Typen betroffen welche bereits vorher verkauft wurden In Desktop PCs und Servern sollten sich daher keine betroffenen 75 MHz Typen finden Beim Pentium fur den mobilen Einsatz ist hingegen ausschliesslich die 75 MHz Version betroffen Das schliesst selbstverstandlich die Moglichkeit nicht aus dass es Hersteller gegeben haben mag die Sockel 5 Typen mit 90 und 100 MHz in Notebooks verbaut haben Folgende Pentium Versionen sind betroffen 2 3 Prozessortyp Family Model Stepping Core Stepping sSpecPentium 60 66 P5 5 1 3 B1 Q0352 Q0353 Q0394 Q0395 Q0399 Q0400 Q0412 Q0413 Q0466 Q0467 SX753 SX754 SX835 SX837 SZ949 SZ9505 C1Pentium 90 100 P54C 2 1 B1 Q0542 Q0543 Q0563 Q0587 Q0611 Q0612 Q0613 Q0614 Q0628 Q0677 SX874 SX879 SX885 SX886 SX909 SX910 SX921 SX922 SX923 SX942 SX943 SX944 SX960 SZ9512 B3mobile Pentium 75 P54C 1 B1 Q0601 Q0606 SX9512 B3Hat man eine ausgebaute CPU so richtet man sich am einfachsten nach der so genannten sSpec ein fur gewohnlich funfstelliges Kurzel aus Buchstaben und Ziffern das auf das CPU Gehause aufgedruckt ist Die betroffenen sSpecs sind in der Tabelle oben angegeben Die Identifizierung einer fehlerhaften CPU anhand ihrer Aufschrift ist naturlich nicht moglich wenn sie in einem lauffahigen System steckt Es gibt aber trotzdem Moglichkeiten herauszufinden ob die CPU von dem Fehler betroffen ist Findet sich bei einem Linux System in proc cpuinfo ein Eintrag der Art fdiv bug yes ist die CPU betroffen ebenso wenn die im Folgenden aufgefuhrten Rechenoperationen im Windows Taschenrechner das falsche Ergebnis liefern Rechenoperation 4195835 3145727 5505001 294911 8391667 1572863Falsches Ergebnis 1 33373907 18 66600093 5 3349560642Richtiges Ergebnis 1 3338204x 18 666652x 5 3352816xAbweichung ca 1 00 214 0 57 214 1 00 214Statt 64 Bit Genauigkeit treten Genauigkeitsdegradationen bis 13 Bit auf Siehe auch BearbeitenListe der Mikroprozessoren von Intel Pentium F00F BugEinzelnachweise Bearbeiten http www5 in tum de lehre seminare semsoft unterlagen 02 pentiumbug website a b c 60 and 66 MHz Pentium Processor Specification Update Memento des Originals vom 24 Februar 2008 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot download intel com a b c Pentium Processor Specification Update Memento des Originals vom 24 Februar 2008 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot download intel com a b c FAQ von Thomas Ray Nicely zum FDIV Bug Memento vom 31 Juli 2019 im Internet Archive Robert P Colwell The Pentium Chronicles ISBN 0471736171 Seite 156 White Paper Intels mit Analyse des FDIV Bugs Tim Jackson Inside Intel 1998 Hoffmann und Campe Informationen von Intel zum FDIV Replacement Program Gangige Witze zum FDIV Bug Memento vom 24 Januar 2001 im Internet Archive Quellen BearbeitenTim Jackson Inside Intel 1998 Hoffmann und Campe ISBN 3 455 11204 8Weblinks BearbeitenDetaillierte Beschreibung des FDIV Bugs Abgerufen von https de wikipedia org w index php title Pentium FDIV Bug amp oldid 235084931