home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD Direkt 1995 #6
/
CDD_6_95.ISO
/
cdd
/
winanw
/
pentest1
/
pentest1.txt
< prev
next >
Wrap
Text File
|
1995-01-09
|
4KB
|
76 lines
Thomas Meinike
W. v. Klewiz-Str. 3
D-06132 Halle
E-Mail: meiniket@mailserv.rz.fh-merseburg.de
Informationen zum Programm Pentium-Test (PENTEST1.EXE)
------------------------------------------------------
Das Programm PENTEST1.EXE testet unter Windows den Coprozessor mittels
einer numerischen Berechnung, welche Null als Ergebnis bringen sollte.
Im Zusammenhang mit dem sog. FDIV-Bug des Pentium-Prozessors wurde das
Testprogramm entwickelt. Details zum Pentium-Problem wurden in den Zeit-
schriften 'ct', 'PC Professionell' und 'CHIP' jeweils in den Ausgaben
1/95 behandelt und sollen hier nicht weiter diskutiert werden.
Fuer den Anwender ist es schwierig einzuschaetzen, welche Konsequenzen
bei Berechnungen entstehen koennen. Rechenintensive PC-Software wie z.B.
Mathematica, Excel oder Gaussian 92 fuer Windows wird mit grosser Wahr-
scheinlichkeit ueber diesen Fehler stolpern. Dabei sind nicht nur Prim-
zahlen betroffen.
Das Testprogramm wurde urspruenglich entwickelt, um die Unterstuetzung
des Coprozessors in Visual Basic-Programmen auszutesten, da in der
Dokumentation und keinem mir bekannten Buch dazu etwas zu finden war.
Tatsaechlich wird der Coprozessor (soweit vorhanden) bei der Verwendung
des Datentyps 'double (#)' angesprochen. Dabei ist von einer Genauigkeit
von maximal 14 Stellen auszugehen. Das ist auch die Grenze im Pentium-
Testprogramm. Die beobachteten Fehler liegen aber durchaus in der 6. bis
12. Stelle, so dass keine Rechenfehler des Programms zu den Abweichungen
fuehren.
Im Programm wird die Formel z = x - (x/y) * y verwendet, wobei fuer die
Variablen x und y Werte vorzugeben sind. Zusaetzlich sind 12 Sets mit
fehlertraechtigen Wertepaaren einbezogen worden. Damit kann sehr schnell
ein Ueberblick gewonnen werden. Man kann auch sehr gut mit diesen Daten
experimentieren, wenn z.B. zusaetzliche Kommastellen angefuegt werden.
Ausblick
--------
1. Es wird demnaechst neu produzierte und hoffentlich bugfreie Pentium-
Prozessoren geben;
2. Ueber einen Prozessortausch sollte man mit dem Haendler oder direkt
mit Intel verhandeln;
3. In eigenen Programmen (Pascal oder C++) kann mit speziellen Routinen
die FDIV-Division umgangen werden, kommerzielle Programme werden
moeglicherweise in angepaßten Versionen verfuegbar sein;
4. unkritische (?) Anwendungen wie Textverarbeitungen oder Spiele sollten
unveraendert lauffaehig sein (ein Pentium-User berichtete mir, dass
DOOM ohne Probleme und schnell laeuft...);
5. Generell sollte die Pentium-Problematik zum Nachdenken ueber Genauig-
keit von Computeranwendungen in allen Bereichen anregen.
Zum Programm
------------
Das Programm laeuft unter Windows 3.1 und benutzt die Bibliothek
VBRUN300.DLL. Diese sollte sich im \SYSTEM-Verzeichnis von Windows
befinden und steht dann allen VB3-Programmen zur Verfuegung.
Als Fehler werden alle Werte von z > 1E-15 behandelt.
Bei jedem Programmlauf werden die Ergebnisse der durchgefuehrten
Rechnungen in der Reportdatei 'PENTEST1.RPT' dokumentiert:
x = ...
y = ...
z = ...
x/y = ... (zusaetzlich fuer Vergleichszwecke).
Zu beachten ist, dass diese Datei jeweils neu angelegt (ueberschrieben)
wird. Zur weiteren Verwendung empfiehlt sich das Umbenennen / Kopieren
vor einem neuen Programmstart.
Alle Hinweise zum Programm bitte an obige Adresse oder per E-Mail.
Ein letztes Wort
----------------
BASIC IST PROFESSIONELL!
T. Meinike, 10.01.1995