Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!news.cs.indiana.edu!news.nd.edu!mentor.cc.purdue.edu!pop.stat.purdue.edu!hrubin From: hrubin@pop.stat.purdue.edu (Herman Rubin) Newsgroups: comp.arch Subject: Re: RISC integer multiply/divide (was Re: Snake) Summary: Yes, but Message-ID: <9538@mentor.cc.purdue.edu> Date: 4 Apr 91 13:02:34 GMT References: <6920@auspex.auspex.com> <3237@charon.cwi.nl> <1991Apr3.232757.8020@bingvaxu.cc.binghamton.edu> Sender: news@mentor.cc.purdue.edu Lines: 20 In article <1991Apr3.232757.8020@bingvaxu.cc.binghamton.edu>, kym@bingvaxu.cc.binghamton.edu (R. Kym Horsell) writes: > In article meissner@osf.org (Michael Meissner) writes: > >While it doesn't have a 32x32->64 bit multiply, the multiply unit is > >pipelined, so that you can do a 32x32->64 bit multiply in about 13 > >clocks (including separating the two 32 bit numbers into 16 bit > >pieces, doing 4 pipelined multiplies, and merging the results). > > But you only need 3 multiplies -- see Knuth. This is true, but you would need either 17x17 -> 34 multiply, or (16+sign)*(16+sign)->(32+sign), as well as a considerable use of keeping track of signs/carries, or substantially more additions. BTW, if unsigned multiplication is not available, additional problems arise in any case. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907-1399 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet) {purdue,pur-ee}!l.cc!hrubin(UUCP)