Re: Adders and speed
- To: MISC
- Subject: Re: Adders and speed
- From: Steve.Atkins@xxxxxxx (Steve Atkins)
- Date: Fri, 22 Mar 1996 11:09:34 -0600 (CST)
- In-Reply-To: <9603221114.memo.87949@BIX.com> from "john.r.strohm@BIX.com" at Mar 22, 96 11:14:44 am
>
> MuP21 and the rest of Chuck's current projects all use straight ripple
> carry adders for arithmetic, with the known result that you have to insert
> a NOP after an ADD, because the addition is still propagating.
>
> I went to a Computer Arithmetic lecture last night, on adders. The guy
> talking was the guy who basically wrote the book on adders. He first went
> through ripple carry adders, in gate-level detail, then he jumped to the
> far end of the spectrum and did full-up carry lookahead adders, then backed
> out to 4-bit carry lookahead cascades, then he covered a few pieces in
> between (Carry Select, Carry Skip).
>
[CUT]
> So: what is the point for MISC?
>
> Well, I went away with the impression that, for the actual arithmetic unit
> adder, that adds user operands, once you decide a ripple carry adder isn't
> quite enough, you really need a pretty good reason not to go to a full-up
> carry lookahead cascade unit, and you NEVER have a reason to do Carry
> Select.
Depends. Carry select is sometimes good if you pipeline it
- it depends on your technology and speed requirements.
If done carefully a hybrid carry-select adder can be blazingly fast.
Full blown carry lookahead is often overkill. (And if you're going that far
you could look at some other architectures such as Brent-Kung and other such
oddities). It can be very expensive.
I wrote up an overview and speed/area comparison of some adders last
august (and posted it either to MISC or Hotwired, I don't recall which).
The conclusion was that unless you have a very good reason to do otherwise
a skip adder is a good bet for medium performance applications.
I've just stuffed them on the web at http://www.io.com/~blighty/ if
anyone wants to see them.
Cheers,
Steve