Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!dg!rec From: rec@dg.dg.com (Robert Cousins) Newsgroups: comp.arch Subject: Re: Integer Multiply/Divide on Sparc Message-ID: <245@dg.dg.com> Date: 28 Dec 89 13:58:25 GMT References: <84768@linus.UUCP> <8840004@hpfcso.HP.COM> <84983@linus.UUCP> Reply-To: uunet!dg!rec (Robert Cousins) Organization: Data General, Westboro, MA. Lines: 50 In article <84983@linus.UUCP> bs@linus.UUCP (Robert D. Silverman) writes: >In article <8840004@hpfcso.HP.COM> dgr@hpfcso.HP.COM (Dave Roberts) writes: >:be some funky instructions to help you out, like "shift and add" for >:multiplication. Trust me, you're better off (in speed, that is) for >:not having those functions, and I'll be that you can write a routine > >I AM NOT BETTER OFF, and don't speak for me. The fact that you say >'trust me ....', indicates that you don't know diddly when it comes >to the implementation and design of numerical and semi-numerical >algorithms. >Shift and add to perform general multiplication is hopelessly >slow because of the overhead/bookkeeping/control mechanisms involved. >:that can do them just about as fast as they could internally. >It never ceases to amaze me how RISC zealots immediately jump >up anytime anyone should [GOD forbid!] criticize a RISC instruction >set. Especially when those zealots know very little about numerical >algorithms. >Bob Silverman >#include >Internet: bs@linus.mitre.org; UUCP: {decvax,philabs}!linus!bs >Mitre Corporation, Bedford, MA 01730 Actually, this debate is now closing in on 45 years old. If you will simply go pull a copy of the original ENIAC papers by Von Neuman and Co. you will find a long and drawn out discussion of the pros and cons of adding a number of instructions to the basic architecture: multiplication, division, square root, etc. The conclusions were based upon a then totally different set of criteria where gates were made of vacuum tubes and microcode had not been invented yet. Given the constraints of the time, both multiply and divide were considered quite justifiable. However, it is interesting to note that Von Neuman didn't believe in floating point. He only believed in signed fixed point. Futhermore, in his justifications for future projects, he used the multiplication time of various machines as a first order approximation of the performance of the machines since the jobs which were then commonly run on the machines were numerical in nature and tended to scale on various machines more or less proportionally to the multiply speed. This is not to say that multiply and divide are REQUIRED, it is just to say that many of these considerations are not new and should be perhaps viewed in a more historical context. After all, we know that technology has changed massively in the past 45 years. By discussing the implications of the changes, it is reasonable to come up with some criteria underwhich these changes are justified and not. Robert Cousins Dept. Mgr, Workstation Dev't. Data General Corp. Speaking for myself alone.