home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.arch:8941 alt.folklore.computers:12689
- Path: sparky!uunet!dtix!darwin.sura.net!Sirius.dfn.de!math.fu-berlin.de!news.uni-stuttgart.de!ifi!news
- From: hgz@cs5.informatik.uni-stuttgart.de (Hans-Georg Zipperer)
- Newsgroups: comp.arch,alt.folklore.computers
- Subject: Re: Babbage books (was: Proposal: Computer History Project)
- Message-ID: <1992Aug18.074434.20337@ifi.informatik.uni-stuttgart.de>
- Date: 18 Aug 92 07:44:34 GMT
- References: <samw.713392337@bucket> <1992Aug11.134401.26906@grmbl.saar.de> <1992Aug13.181353.22013@imax.imax.com>
- Sender: news@informatik.uni-stuttgart.de
- Organization: Informatik, Uni Stuttgart, W. Germany
- Lines: 47
-
- In article <1992Aug13.181353.22013@imax.imax.com> dave@imax.imax.com (Dave Martindale) writes:
- >In article <1992Aug11.134401.26906@grmbl.saar.de> me@grmbl.saar.de writes:
- ...
- >>[about the adding mechanism of the Babbage engines]
- ...
- >This is not true of the Difference Engine, at least. The basic addition
- >is done with all digits in parallel, but that's a relatively constant load.
- >Any carries generated just result in a little lever being moved to a
- >new position (Babbage called it "warned"), but no carry propagation happens
- >at this stage.
- >
- >Then, when the main addition is done, another piece of mechanism comes
- >into play to handle carry propagation, and that is done serially.
- >Each digit wheel is rotated one place if a carry is pending in that
- >position, and any "carry in" that creates a "carry out" at this stage
- >simply sets the "carry in" lever for the next higher digit, before the
- >carry happens in that place. So the more digits you have the longer the
- >carry process takes, but at any given time there are at most two or three
- >pieces of hardware moving.
- >
- >I don't know what the Analytical Engine did for addition, though.
- >
- > Dave
-
- The Difference Engine indeed used the carry mechanism described above.
- Babbage needed 10 'time steps' for the main addition and spent a lot
- of time to speed up the following carry propagation. He used his
- 'mechanical notation' (a formal language for the description of
- mechanical motions) to reason about this and found a way to do the
- carry propagation for his 20 or 30 digits in 10 time steps. Babbage then
- used some kind of pipelining in the Difference Engine. One basic cycle
- of the engine was divided in 4 subcycles. In the first subcycle, the
- even-numbered columns (registers) were added to the odd-numbered columns.
- In the second subcycle, the carry propagation for this additions was
- done. In the third and fourth subcycles, the odd-numbered columns were
- added to the even-numbered columns in the same fashion.
-
- For the Analytic Engine, Babbage wanted 50 decimal places. This would
- make the carry propagation slower than the main addition and would slow
- down the whole system. In 1834, he invented the 'anticipating carriage'
- (look-ahead carry), which solved the problem. The new adder still needed
- 10 time steps to do the main addition, but the carry propagation for an
- unlimited number of digits could be done in a single time step afterwards.
-
- --
- Hans-Georg Zipperer Universit"at Stuttgart, Institut f"ur Informatik
- Tel. (0711) 7816-405 e-mail: zipperer@ifi.informatik.uni-stuttgart.de
-