braner@batcomputer.UUCP (06/08/87)
[reposting after the crash at SCORE] Finally I got around to linking the NS32081 floating-point chip I have on my ST to the Absoft FORTRAN77 run-time library. (By "linking" I mean patching the library so that standard FORTRAN code uses the FP chip, transparently.) Here are _approximate_ timings, all in microseconds: (32081 clock: 4 MHz). op single precision double precision SWFP HWFP SWFP HWFP add 100 60 160 75 mul 130 60 300 80 div 330 70 900 90 And here, for what they're worth, are the Savage benchmark results: System CPU / FPP CLOCK LANGUAGE TIME ERROR (MHz) (Sec) Abs(a-2500) Atari ST (68000/-----) 8.00 Absoft F77 V2.2 67.6 1.7 E-07 Atari ST (68000/32081) 8.00 Absoft F77 V2.2 16.3 3.1 E-07 That's faster than a 68020 at 16 MHz with no FP chip, and about twice slower than the 8088/8087 combo at 5 MHz. But note: (1) - The 32081 is here used as a peripheral, not a coprocessor. Most of the time is spent on the communications, not the calculations! (And that's after I hacked the cartridge port to be able to write to it. The usual trick of writing to that port via the address lines would have resulted in much slower performance.) (2) - The 32081 does NOT have the transcendental functions built-in. The above result is with the Absoft software library calling my hardware drivers every time it needs an addition, subtraction, multiplication or division. Optimized code could double the speed (I have tried that with log() and sqrt()), and a 68881 chip would do a _lot_ better. Note: I had to cut pins, solder wires and generally hack the ST hardware to attach the 32081. This is not a commercial product or set-up. The 32081 is cheap, but the 68881 is now (finally!) affordable. - Moshe Braner