home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pmafire!news.dell.com!swrinde!mips!news.cs.indiana.edu!umn.edu!orstnews!pmontgom
- From: pmontgom@math.orst.edu (Peter Montgomery)
- Newsgroups: comp.arch
- Subject: Re: Running Sum Adders
- Message-ID: <1992Jul23.154921.23631@talon.ucs.orst.edu>
- Date: 23 Jul 92 15:49:21 GMT
- References: <1992Jul21.194623.26688@jarvis.csri.toronto.edu> <MISHA.92Jul22214158@espresso.ai.mit.edu>
- Sender: usenet@talon.ucs.orst.edu (Usenet News admin)
- Organization: Oregon State University Math Department
- Lines: 50
- Nntp-Posting-Host: lab2.math.orst.edu
-
- In article <MISHA.92Jul22214158@espresso.ai.mit.edu>
- misha@ai.mit.edu (Mike Bolotski) writes:
- >>>> On 21 Jul 92 23:46:23 GMT, ronus@eecg.toronto.edu (Ron White) said:
-
- >Ron> Hi. I have a paper that mentions the use of a: "running sum
- >Ron> adder commonly found parallel processing units". The paper
- >Ron> doesn't go into any more detail and doesn't list any references
- >Ron> w.r.t. this type of parallel adder. Could someone point me to a
- >Ron> reference that will explain the operation of a "running sum
- >Ron> adder" ?
-
- >I'll bet they're referring to a carry-save adder. You can look
- >that up in any text on computer arithmetic.
-
- Also look up ``fetch-and-add'' instruction, FAD. This
- takes and address addr and an (integer) increment amt.
-
- FAD addr,amt replaces (addr) <- (addr) + amt
-
- which returning the old contents (addr).
-
- The application to parallelism comes because several
- processors might increment the same address at once. Consider
-
- Processor 0: FAD addr0,amt0
- Processor 1: FAD addr0,amt1
- Processor 2: FAD addr2,amt2
- Processor 3: FAD addr0,amt3
-
- where addr0 <> addr2. There are many acceptable behaviors.
- All increment (addr0) by amt0 + amt1 + amt3 and (addr2) by amt2,
- while returning the old (addr2) to Processor 2.
- The order of the three increments on addr0 is not specified, but each
- is treated as an atomic operation. For example, it might
- return the old (addr0) to Processor 1, (addr0) + amt1 to
- Processor 3, and (addr0) + amt1 + amt3 to Processor 0.
-
- The special aspect of this instruction is that memory
- interface boxes can detect the duplicate addr0 and combine the
- requests to reduce congestion. For example, if it observes that
- Processors 0 and 1 are incrementing the same address, it can
- merge the two transactions into a single increment by amt0 + amt1.
- Then, when the old (addr) comes back, the box can send this
- (addr0) to Processor 0 and (addr0) + amt0 to Processor 1.
- The corresponding box for Processors 2 and 3 would see different
- addresses and need to make two separate memory operations.
- --
- New address as of June 26, 1992:
- Peter L. Montgomery Internet: pmontgom@math.orst.edu
- Dept. of Mathematics, Oregon State Univ, Corvallis, OR 97331-4605 USA
-