Sebastian Knieschewski: Pentium-Bug

formal.iti.kit.edu

Sebastian Knieschewski: Pentium-Bug

KAPITEL 5. DER SRT-DIVISIONSALGORITHMUS 12

Der eigentliche Fehler liegt aber gar nicht in der Tabelle, sondern schon im

dem Programm, das zur Übertragung der Werte in die Tabelle, die auf der PLA

(Programmable Logical Area) im Prozessor gespeichert ist, in der Programmiersprache

C enwickelt wurde. Das Programm benutzte eine einfache FOR-

Schleife, um die Zellen in der Matrix zu beschreiben und genau an den fünf

fehlerhaften Stellen hätte der Wert “2“ übertragen werden sollen. Wegen der

falsch programmierten FOR-Schleife wurden diese Zellen stattdessen gar nicht

beschrieben und hatten damit den Wert “0“, da die gesamte Tabelle vorab mit

Nullen belegt war. 26

So entstand der Divisionsfehler in der Hardware des Pentium Prozessors

durch eine falsch programmierte FOR-Schleife. Wer bei Intel für die Program-

25 Intel Corporation, 1994, a.a.O.

26 vgl. Halfhill, T.R., 1995, a.a.O.

25

Weitere Magazine dieses Users
Ähnliche Magazine