🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #21845

Re: Integer Multiply/Divide on Sparc

#21845
From: Robert Cousins
Date: Thu, 28 Dec 1989 13:58
50 lines
3177 bytes
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 <std.disclaimer>
>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.
Technical Details
Message-ID: <245@dg.dg.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!dg!rec
References: <84768@linus.UUCP> <8840004@hpfcso.HP.COM> <84983@linus.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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