Path: utzoo!attcan!uunet!husc6!mailrus!ames!amdahl!pyramid!prls!mips!earl From: earl@mips.COM (Earl Killian) Newsgroups: comp.arch Subject: Re: integer multiplies (Was: architecture/implementation -- MIPS) Message-ID: <2241@gumby.mips.COM> Date: 25 May 88 06:42:40 GMT References: <2231@gumby.mips.COM> <3006@phoenix.Princeton.EDU> Lines: 30 In-reply-to: lgy@pupthy2.PRINCETON.EDU's message of 24 May 88 15:44:35 GMT In article <3006@phoenix.Princeton.EDU> lgy@pupthy2.PRINCETON.EDU (Larry Yaffe) writes: I'm curious and a little surprised about the relative speed of integer and floating point multiplies. Are integer multiplies substantially less frequent than floating point mults (in some selection of "real" programs) that integer multiply being three times slower than f.p. is not a significant bottleneck? What fraction of integer multiplies are not multiplications by small compile-time constants (in that same set of programs)? Since MIPS Co. is reputed to have studied real programs when considering design trade-off's, I'm hoping someone there can offer some insight. There are several answers to this. One would be some statistics to show that integer multiplies are less common than floating point ones. They indeed are in most applications. DSP often uses integer multiply, but given relative integer/fp speeds in the r3000, you'd be best off changing it to fp! Another answer is a practical one. The cpu chip and fpu chip were designed serially rather than in parallel (MIPS was a small company in those days). There just wasn't time to develop that kind of multiplier technology during the cpu chip design (those are pretty fast fp times). This is not to say that the integer multiply is bad (or a "bottleneck") -- it's several times faster than most micros. Of course, now that we've developed the technology for the fp, it would not be unreasonable to apply it to a future cpu chip. -- UUCP: {ames,decwrl,prls,pyramid}!mips!earl USPS: MIPS Computer Systems, 930 Arques Ave, Sunnyvale CA, 94086