MBM%mit-xx@sri-unix.UUCP (06/14/83)
From: Michael B McIlrath <MBM@mit-xx> Does anyone have any info on floating point packages for the 68000? In particular how bad are they in comparison to running on other micros that have an fp co-processor, e.g., the 8087? An application here is trying to decide between an 8086 and 68k, and has a requirement for "acceptable" fp performance. --mike -------
jcp%brl-bmd@sri-unix.UUCP (06/16/83)
From: J. C. Pistritto <jcp@brl-bmd> I have experience with the Motorola 68000 FFP 'Fast Floating Point' Package. We use this package as part of a process control system where all of the primary control elements are in floating point. The trick with this package is the special 'FFP' format that floating numbers are stored in. (Routines are provided to go back and forth to IEEE standard floating point). Also, only single precision (7.5 digits) is available. The add and subtract times are minimal (say 10microseconds or so), and the multiply is about 60, divide about 80 or so). (These are worst case times on an 8Mhz 68000) We use a cpu board that allows on-board ROM memory chips, and we run the floating point out of on-board ROM (for speed). We find performance to be not quite what you could get with an 8086/8087 pair, but the processor is MUCH nicer to program, (instruction set wise). By the way, when comparing the 68000 times against what the Intel salesman will tell you, remember to include time for loading/unloading the 8087 internal registers. (These use special instructions). If the application is being done in 'C' or 'Pascal' or some such high level language, I would STRONGLY reccomment the Motorola processor, (having used both 8086 and 68000 at assembly language and 'C' levels for more than two years), simply because it executes a given 'C' construction in many fewer instructions. (due to the generality of the register set, and the added number of registers). For instance, current 'C' implementations for the 8086 give NONE or ONE register variables, whereas 68000 implementations typically support the same THREE as the PDP-11, or occasionally more. Consider the difference in performance THAT could make. (I have seen code run TEN times faster when register variables are used...) -JCP- CPRC Inc.