Nach 30 Jahren: Forscher weist (teuren) Pentium-Bug in Hardware nach

Ein Reverse-Engineering-Spezialist und Hardware-Historiker hat erstmals genau die Transistoren in alten Pentium-Prozessoren ausfindig gemacht, die zu einem als FDIV-Bug bekannten CPU-Defekt führten. Intel kostete das Problem einst 475 Millionen Dollar.
Cpu, Prozessor, Intel, Pentium, Intel Pentium
Intel

Mikroskop zeigt genaue Position der Fehler

Ken Shirriff hat auf Mastodon verlauten lassen, dass er nach einer eingehenden mikroskopischen Untersuchung eines Pentium-Prozessors aus dem Jahr 1993 die Ursachen für den sogenannten FDIV-Bug nachweisen konnte. Der Fehler liegt im Hardware-Design der ersten Generation von Pentium-CPUs und sorgte dafür, dass Intel hunderte Millionen Dollar für einen Rückruf ausgeben musste. Es war der erste wirklich kostspielige Fehler, der dem heute wieder strauchelnden CPU-Hersteller unterlief.

Shirriff, der als eine Art Hardware-Historiker aktiv ist, veröffentlichte unter anderem eine Aufnahme des Dies des Pentium-Chips. Es ist die erste Intel-CPU auf Basis der P5-Architektur, die Intel einst zu dem allgegenwärtigen Chipgiganten machte, der das Unternehmen heute ist. Intel Pentium FDIV-Bug in Hardware nachgewiesenDie-Foto des ersten Pentium von Ken Shirriff

Im Vergleich zu heute war der erste Pentium simpel

Anders als heute, wo moderne CPUs mit Milliarden Transistoren in winziger Größe ausgestattet sind, sind die Strukturen bei dem alten Pentium-Prozessor mit "nur" 3,1 Millionen Transistoren noch relativ gut erkennbar. Shirriff konnte deshalb mehrere Aufnahmen seines Mikroskops zu einem vollständigen Abbild des Dies zusammenfügen und einzelne Transistoren ausfindig machen.

Dabei stellte er fest, dass das der FDIV-Bug durch einen mathematischen Fehler verursacht wird, der durch Rechenfehler im Programmable Logic Array (PLA) des Chips zustande kommt. Intel führte mit dem Pentium einst eine neue Gleitkommaeinheit ein, die dank eines SRT genannten Divisionsalgorithmus viel schneller als bei anderen Chips dieser Zeit arbeitete. SRT berechnet die Division mit zwei Bits pro Taktzyklus, während der Vorgänger nur mit einem Bit pro Taktzyklus arbeitete.

Fünf falsche Einträge sichtbar

Damit dieser Ansatz funktioniert, setzte SRT die Existenz einer aus 2048 Zeilen bestehenden Tabelle auf dem Chip voraus, in der die Werte -2, -1, 0, 1 und 2 in nur 112 Zeilen aufgelistet wurden. Die Werte werden durch das Vorhandensein oder Fehlen von Transistoren entlang der Gitterpunkte der Tabelle angezeigt. Intel machte dabei aber einen entscheidenden Fehler.

Bei fünf Einträgen in der Tabelle fehlten die Transistoren. Sie waren somit auf "0" eingestellt, statt auf "2", wie es korrekt hätte sein müssen. Shirriff zufolge entstand durch die falsch beschrifteten Einträge ein Fehler bei Gleitkommaberechnungen, der heute als FDIV-Bug bekannt ist.

Shirriff stieß nicht als Erster auf die Ursachen des Fehlers, denn Mathematiker hatten schon 1995 den Auslöser ausgemacht, indem sie das Fehlermuster untersuchten. Allerdings ist er der Erste, dem es gelangt, das Problem auf dem Silizium-Chip direkt in der Hardware ausfindig zu machen. Die von Shirriff nachgewiesenen Fehler sind aber nicht die einzigen Punkte, bei denen Intel beim ersten Pentium-Prozessor "geschlampt" hatte.

Nach eigenen Angaben stieß Shirriff auf 11 weitere Stellen, an denen die Tabelle fehlerhaft ist. Durch glückliche Umstände verursachten diese Fehler aber keine Probleme. Intel selbst beseitigte die "Macken" später und wählte dafür eine schnelle Lösung: man füllte einfach alle ungenutzten Einträge mit einer "2" und konnte so bei künftigen Revisionen der Pentium-CPU auch noch Platz auf dem Chip sparen.

Allerdings kam der FDIV-Bug Intel durchaus teuer zu stehen. Zwar behauptete der Chiphersteller bei Bekanntwerden des Fehlers im Jahr 1994, dass sich durch den Fehler nur "ein Mal in 27.000 Jahren" ein echtes Problem ergeben würde, doch mit IBM widersprach einer der größten Kunden.

Laut IBM könnte etwa alle 24 Tage ein Fehler zustande kommen, weshalb der damals noch als PC-Hersteller aktive Konzern den Vertrieb aller Systeme mit Pentium-CPUs stoppte. Intel musste sich geschlagen geben und einen umfangreichen Rückruf der fehlerhaften Chips starten, was das Unternehmen fast eine halbe Milliarde Dollar kostete.

Zusammenfassung
  • Forscher identifizieren die Ursache des FDIV-Bugs in alten Pentium-CPUs
  • Fehler im Programmable Logic Array führte zu Rechenungenauigkeiten
  • Fünf fehlende Transistoren verursachten den bekannten FDIV-Bug
  • Intel musste 475 Millionen Dollar für den Rückruf der CPUs ausgeben
  • Erste mikroskopische Nachweise des Hardwarefehlers nach 30 Jahren
  • Weitere 11 Fehler in der Tabelle hatten keine Auswirkungen
  • IBM widersprach Intels Einschätzung zur Häufigkeit des Fehlers

Siehe auch:
Jetzt einen Kommentar schreiben


Alle Kommentare zu dieser News anzeigen
Intels Aktienkurs in Euro
Tipp einsenden
❤ WinFuture unterstützen
Sie wollen online einkaufen? Dann nutzen Sie bitte einen der folgenden Links, um WinFuture zu unterstützen: Vielen Dank!