[comp.arch] Questions on SparcStation 1 perform

aglew@mcdurb.Urbana.Gould.COM (05/21/89)

>Well, actually, the 88000 (and the i860, and the Cray's) don't have divide.
>They have reciporcate (actually, I belive they call it reciporocal
>approximation, and, at least on the i860, you have to go through a couple of
>iterations to get the "perfect" result).

From the MC88100 RISC Microprocessor User's Manual, Table 1-2, Instruction
Summary, page 1-13:

	Integer Arithmetic Instructions
	-------------------------------
	...
	DIV	Divide
	DIVU	Divide Unsigned
	...

	Floating-Point Arithmetic Instructions
	--------------------------------------
	...
	FDIV	Floating-Point Divide
	...

Note that, although integer divide is executed by the FPU, this is 
implementation, not architecture; whereas on some machines (Cray's I believe)
you must convert integer to float, divide, and convert float to integer,
explicitly for integer divide.


As for reciprocal approximation -- I have seen enough of the accuracy problems
with using reciprocal for divide to last me for quite a while. Gould's
NP1 did floating point reciprocals instead of divide: one of the compiler
guys said that it opened up a number of interesting opportunities for
optimization; but it caused enough accuracy problems (coupled with using 
IBM style hex floating point) that divide was backed in later.