Intels Pentium-Bug: 30 Jahre alter CPU-Fehler unter dem Mikroskop

5
News Norman Wittkopf Als bevorzugte Quelle auf Google hinzufügen
Intels Pentium-Bug: 30 Jahre alter CPU-Fehler unter dem Mikroskop
Quelle: Intel

Im Jahr 1994 sorgte mit dem sogenannten Pentium-FDIV-Bug ein heute legendärer CPU-Fehler für Aufsehen. Ein Tech-Blogger hat sich diesen kürzlich näher angesehen.

Ein Fehler in der Gleitkomma-Recheneinheit (FPU) des ersten Pentium-Prozessors von Intel sorgte Ende 1994 für großen Wirbel in der IT-Welt und ging als "FDIV-Bug" in die Geschichte ein, der seinerzeit zu einer Rückrufaktion im Wert von 475 Millionen Dollar führte. Der auf Hardware-Geschichte und Reverse-Engineering spezialisierte Tech-Blogger Ken Shirriff hat eine betroffene CPU kürzlich per Mikroskop näher unter die Lupe genommen und genau jene Transistoren ausfindig gemacht, die für die fehlerhafte Division bei den Prozessoren verantwortlich sind.

Die Chips mit P5-Mikroarchitektur wurden im 800-nm-Verfahren hergestellt und bestehen aus 3,1 Millionen Transistoren. Dabei sind die Transistorgitter im Vergleich zu heutigen CPUs mit Milliarden von Schaltungen gut per Mikroskop sichtbar und so können auch die Operationen der Blöcke auf dem Chip identifiziert werden. In einem Beitrag von Shirrif im sozialen Netzwerk Mastodon gibt es eine Aufnahme des Chips auf Basis einer zusammengesetzten Mikroskopfotografie.

Bildergalerie

Pentium-Bug: Intels FPU-Fehler

Wie Tom's Hardware Bezug nehmend berichtet, kam der durch den Professor Thomas Nicely entdeckte und von Intel zunächst heruntergespielte Bug durch Berechnungsfehler im PLA (programmable logic array) zustande. Die Gleitkommaeinheit des Pentiums arbeitete dank SRT-Divisionsalgorithmus viel schneller als andere Chips seinerzeit. Per SRT wurde die Division mit zwei Bits pro Taktzyklus berechnet, verglichen mit einem Bit pro Taktzyklus des Pentium-Vorgängers.

Damit dies funktionierte, benötigte SRT demnach eine 2.048-Zellen-Tabelle auf dem Chip, die die Werte -2, -1, 0, 1 und 2 in sehr kompakten 112 Zeilen auflistet. Die Werte werden durch das Vorhandensein oder Fehlen von Transistoren entlang der Gitterpunkte angezeigt. Das hätte an sich auch gut funktioniert, wenn es nicht einen Fehler gegeben hätte: Bei fünf Einträgen in der Tabelle fehlen die entscheidenden Transistoren, die standardmäßig auf 0 statt auf die richtige "2" gesetzt sind.

"Kluge Mathematiker haben 1995 den Pentium-Divisionsalgorithmus und die fehlenden Einträge herausgefunden, indem sie das Fehlermuster untersuchten", so Shirriff in seinem Thread bei Mastodon. "Aber ich kann es in Silizium bestätigen." Shirriffs Untersuchung fand sogar 16 fehlende Datenpunkte, 11 mehr als die ursprünglich angenommenen fünf. Intel behob das Problem später, indem es alle ungenutzten Einträge auf den Platinen mit 2en auffüllte, was eine schnelle Lösung darstellte und viel Platz bei zukünftigen Revisionen des Pentium einsparte, heißt es in dem Bericht.

Ihre Meinung ist gefragt!

Was sagen Sie zu dem Thema? Nutzen Sie die Kommentarfunktion und teilen Sie uns Ihre Meinung mit. Zum Kommentieren müssten Sie auf PCGH.de oder im Extreme-Forum eingeloggt sein. Sollten Sie noch keinen Account haben, könnten Sie über eine Registrierung nachdenken, die viele Vorteile mit sich bringt. Beachten Sie beim Kommentieren aber bitte die gültigen Forenregeln.

5
    • Kommentare (5)

      Zur Diskussion im Forum
      • Von GreenBlue19 PC-Selbstbauer(in)
        Guter Artikel, mich hätte aber ehrlich gesagt mehr interessiert wie sich der Fehler in der Praxis ausgewirkt hätte, von Abstürzen mit abstrusen Fehlermeldungen, über Grafik-glitches in Spielen ist ja eigentlich alles denkbar ...
      • Von GreenBlue19 PC-Selbstbauer(in)
        Guter Artikel, mich hätte aber ehrlich gesagt mehr interessiert wie sich der Fehler in der Praxis ausgewirkt hätte, von Abstürzen mit abstrusen Fehlermeldungen, über Grafik-glitches in Spielen ist ja eigentlich alles denkbar ...
      • Von Schinken BIOS-Overclocker(in)
        Zitat von NewBie
        Für die jüngeren unter uns: "Der Prozessor hat beim Berechnen von Aufgaben be***issen"
        (...)
        Eigentlich nicht. Bescheissen oder eben betrügen, würde implizieren er komme mit weniger Arbeit ans Ziel. Er hat sich schlicht verrechnet und kam auf falsche Ergebnisse.

        Wenn man es denn schon so vereinfachen muss, dann wenigstens richtig 😁.
        Nicht, dass es besonders wichtig wäre oder jemanden juckt xD.
      • Von Pendlecoven Schraubenverwechsler(in)
        Zitat von NewBie
        Für die jüngeren unter uns: "Der Prozessor hat beim Berechnen von Aufgaben be***issen"
        Konnte man relativ leicht unter Excel ab glaub 4 Nachkommastellen (?) nachstellen.

        Die PC Player hatte damals auch ein ganz nettes Video mit dem Zitat von Toni Schwaiger erstellt "Es ist unheilbar... es ist ein Pentium Divisionsfehler...!" Und im gleichen Atemzug den i486 DX4 (De Icks 4) gegen den Benzium gewinnen lassen

        VG,
        Ach gott, an das Video kann ich mich sogar noch erinnern.
        Wurde das nicht von und mit Heinrich Lenhardt und Michael Schnelle gemacht?
      • Von Kondar Volt-Modder(in)
        Ach freuen wir uns auf das Jahr 2054 wo dann andere CPUs unter dem Microskop liegen wird und man dann erfährt wie man heute beschissen wurde
      • Von Gast1753866602
        Für die jüngeren unter uns: "Der Prozessor hat beim Berechnen von Aufgaben be***issen"
        Konnte man relativ leicht unter Excel ab glaub 4 Nachkommastellen (?) nachstellen.

        Die PC Player hatte damals auch ein ganz nettes Video mit dem Zitat von Toni Schwaiger erstellt "Es ist unheilbar... es ist ein Pentium Divisionsfehler...!" Und im gleichen Atemzug den i486 DX4 (De Icks 4) gegen den Benzium gewinnen lassen

        VG,
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 07/2026 PC Games 07/2026 play5 07/2026 N-Zone 07/2026 Linux Magazin 07/2026 LinuxUser 07/2026 Raspberry Pi Geek 07/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk