Anfang Mai avancierte http://www.x86.org/secrets/Dan0411.html zu einer der meistbesuchten Adressen im Internet. Auf seiner Web-Seite berichtete der Amerikaner Robert Collins, der sich selbst als “Intel-Hasser” bezeichnet, von einem Fehler, der im brandneuen Pentium-II – Intels aktuellem Mikroprozessor-Flagschiff – auftreten soll. Auf den Fehler war Collins durch eine E-Mail gestoßen, die ihm ein unbekannter Computer-Spezialist namens Dan am 11. April geschickt hatte.
Collins ging der Sache nach und stellte fest: Alle PC mit Pentium-II- und Pentium-Pro-Prozessor waren von dem “Dan-0411-Fehler” betroffen, Pentium-Chips der ersten Generation dagegen nicht. Flugs stellte Collins ein Programm ins Internet, mit dem Besitzer eines Pentium-PC ihre Rechner testen konnten. Auf derselben Web-Seite richtete Collins gleich noch ein Schwarzes Brett ein, auf dem Betroffene ihrem Ärger Luft machen konnten.
Die Anschuldigungen kamen Intel äußerst ungelegen, denn am 7. Mai wollte die Firma den neuen Chip der Öffentlichkeit präsentieren. Sie reagierte deshalb schnell auf das Störfeuer aus dem Internet: Nachdem es 1994 einen gravierenden Fehler im Pentium-Modell wochenlang geleugnet hatte, präsentierte das amerikanische Unternehmen nun unter http://www.intel.com/design/news/flag/ OP prompt eine Beschreibung des Problems sowie die Zusicherung aller namhaften Software-Firmen – von Autodesk über Microsoft und SAP bis Yamaha -, der Fehler habe keinerlei Einfluß auf ihre Programme beziehungsweise lasse sich nötigenfalls softwaremäßig korrigieren. Die Börse reagierte sofort: Nachdem der Intel-Kurs nach Bekanntwerden des Fehlers abgesackt war, erholte er sich wenige Tage später wieder.
Im Gegensatz zu dem vor drei Jahren aufgetretenen Fehler, der sich sogar in Standard-Software wie Microsofts Excel bemerkbar machte, ist der neue “Bug” (Wanze) – so heißen Fehler im Computerjargon – harmlos. Er tritt auf, wenn eine Fließkommazahl, die im Prozessor als eine 80 Bit lange Kombination von Mantisse und Exponent dargestellt wird, in eine ganze Zahl mit nur 16 oder 32 Bit umgewandelt wird.
Das klappt reibungslos, solange die Fließkommazahl nicht mehr als 80 Bit belegt. Wird dieser Bereich überschritten, setzt der Prozessor ein sogenanntes “Flag” (Flagge) und signalisiert der Software, daß möglicherweise ein Rundungsfehler vorliegt und das Ergebnis falsch ist.
Collins fand heraus, daß statistisch gesehen das Flag in einem von 8,6 Milliarden Fällen (bei der Umwandlung ins 16-Bit-Format) beziehungsweise in einem von 562950 Milliarden Fällen (bei 32-Bit-Operationen) nicht korrekt gesetzt wird. Da die meisten Programmierer den Warnhinweis der Recheneinheit sowieso ignorieren, hat der Fehler keine Auswirkungen auf gängige Programme.
Nur so ist es zu erklären, daß der “Bug” im Pentium-Pro unentdeckt blieb, obwohl dieser schon gut anderthalb Jahre auf dem Markt war. Erleichtert verzichtete Intel diesmal auf eine teure Rückruf-Aktion. Vor drei Jahren hatte der Austausch aller fehlerhaften Pentium-Chips ein Loch von 475 Millionen Dollar ins Intel-Budget gerissen.
“Wer behauptet, beim Entwurf eines Mikroprozessors passierten keine Fehler, der lügt”, sagt Intel-Sprecher Dr. Heiner Genzken klipp und klar. In der Tat ist die Entwicklung eines Chips vom Schlage eines Pentium-II extrem komplex. “Hunderte von Ingenieuren müssen rund 7,5 Millionen Transistoren verknüpfen”, rechnet Genzken vor. Von der ersten Idee bis zum fertigen Chip vergingen so zwischen zwei und drei Jahre.
Bevor ein Chip wie der Pentium-II über fotografische Belichtung und Ätzprozesse aus dem Silizium “geschält” wird, existiert er als Software-Simulation, die zahllose Tests über sich ergehen lassen muß. Dabei werden die meisten Fehler erkannt und beseitigt. Doch auch die Testprogramme haben Lükken: “Man kann nicht alle möglichen Verknüpfungen im Chip berücksichtigen”, sagt Genzken. Selbst AMD, Intels härtester Konkurrent auf dem Prozessormarkt, bei dessen Pentium-Pro-Pendant das Problem nicht auftrat, gab zu, daß solche Fehler jedem passieren können.
Die Errata-Listen, die Intel für alle seine Produkte im Internet veröffentlicht, hatten für den Pentium-Pro bei Redaktionsschluß 62 Einträge, beim Pentium-II war Dan-0411 die Nummer 25 auf der Liste. “Intel gehört zu den wenigen Herstellern, die ihre Fehler öffentlich zugeben”, betont Genzken.
Sobald ein Fehler entdeckt sei, werde er bei der nächsten “Maskenrevision” ausgemerzt. Die Maske, auf der sämtliche Transistoren und Leiterbahnen für die Belichtung des Halbleitermaterials verzeichnet sind, wird routinemäßig erneuert – in dringenden Fällen innerhalb von sechs bis acht Wochen. Doch nicht alle Fehler werden bei der Revision berücksichtigt: Manche Bugs sind so unerheblich, daß die Gefahr eines Fehlers bei der Korrektur größer ist als die Auswirkung des ursprünglichen Fehlers.
Nicht immer verlaufen Probleme in Computer-Hardware und -Software so glimpflich wie im Falle des Pentium-II. Pikanterweise hat genau derselbe Rechenfehler im Juni des letzten Jahres zur Explosion der europäischen Superrakete Ariane-5 geführt. Auch damals kam es bei der Umwandlung einer 64 Bit Fließkommazahl in eine 16 Bit Ganzzahl zu einem Überlauf des betreffenden Registers, weil die Horizontalgeschwindigkeit der Rakete vermeintlich zu hoch war. Auf diesen Fall war die Software, die eigentlich für Ariane-4 mit ihrer geringeren Horizontalgeschwindigkeit geschrieben war, nicht ausgelegt. Sie versuchte, die vermeintliche Bahn-Abweichung zu korrigieren – die Rakete mußte gesprengt werden.
Bernd Müller