Table of Contents
This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)
Memory Cell with Reataining Readout
Babbage's memory cell in the storage used a reduction-to-zero technique, so it was necessary to restore the values for a retaining read. In some designs, he even used a second cell to temporarily save the last value.
From the ENIAC, that used the electronic equvalent of a rotating wheel, i.e. a shift register, I learned that rotating forward one whole rotation allows a non-destructive readout. So I tried to apply this to the Babbage's basic design, and here is the – prelimiary – result.
Note that the erasing readout is necessary too, or any other means to zero a storage cell, as writing adds digitwise, so the receiving cell must be zeroed, see my paper on lovelace_noteg_paper.
The picture shows a working physical model of two cells:
Arrangement
The mechanical storage-only element sits on two parallel axes:
- the digit axis (front)
- the drive axis (back)
Neutral Position
Both are horizontally arranged and go from the mill through all store elements. Each pair of axes drives one digit position; if there are e.g. 5 decimal digits, there are 5 pairs of axes, all parallel to each other, and each pair in each a horizontal plane, while all digits axes are in the same vertical plane, as are all drive axes, but translated to the back.
On the axes, there are five elements, three on the digit axis and two on the drive axis:
- the count wheel central on the digit axis
- the read cam left on the digit axis
- the add gear right on the digit axis
- the drive gear right on the drive axis
- the count locker left on the drive axis
All except the count wheel are fixed to the axes, while the latter can be shifted into three positions by the U-shaped lever in the direction of it axis (from right to left):
- the add position
- the neutral position
- the send position.
The shift is common to all digits of a memory cell.
Add Position
In the add position, a pin is engaged with the add gear, so any rotation of the digit axis is transferred to the count wheel.
In the neutral position, the count wheel is free running, except that the count locker on the drive axis keeps it to the current digit position even if the digit axis rotates.
Send Position
In the send position, a pin is engaged with the read cam, and the drive gear with the count wheel. In this position, any rotation of the drive axis is transmitted to the count wheel, which may drive the digit axis. (The digit axis must be kept from rotating unless the pin of the count wheel enforces rotation.)
General operation
Every operation that uses a variable uniformly apply a parallel transfer of upto 9 digits from one storage cell to another; special features may be affixed to the sending or receiving storage cell.
The basic protocol for a retaining read is performed for all digits in the same time and manner, so the description focuses just to one pair of axes:
- both axes are in zero position, and all count wheels in neutral position (Fig. 1)
- the count wheel of the receiver is pushed to the left to engage with the add gear (Fig. 2)
- the count wheel of the sender is pushed to the right, to engage with the send cam and the drive gear simultaneously (Fig. 3)
- the drive axis is turned 9/10 so that the count wheel turns in the direction of increasing digits.
- when it changes from 9 to 0, the following turns drive via the send cam the digit axis, which tranfers the rotation to the receiving digit wheel.
- after 9/10 of a full roation, the drive axis stops
- the digit wheel in the receiver is reverted to the neutral position
- the drive axis turns the remaining 1/10, so that the initial value of the sending digit wheel is restored.
- the sending digit wheel is disengaged into the neutral position
- the digit axis is returned to the zero position.
Thus, the number of the sending variable is digitwise added to the receiving one.
An erasing read can only be done towards the mill, because the axes are interchanged:
- the drive and digit axes are at zero position
- the count wheel is moved to the send position and engaged with the drive gear and the send cam
- the receiver is engaged with the drive axis
- the digit axis is turned 9/10 backwards, and the send cam drives the digit wheel until it is at zero, and during this, the drive axis receives the digit value in reverse rotational direction
- the count wheel is moved to the neutral position
- the digit axis is turned the remaining 1/10 to the neutral position
- the receiver is disengaged from the drive axis
- the drive axis is returnd to the neutral position
So this requires a small gear in the mill that exchanges the drive and digit axis while inverting their rotation.
Negative Numbers
By inverting the direction of the driving shaft, the complement of the number will be sent out in reverse direction, resulting in a subtraction, if the carry mechanism is capable to do so. And an extras turn is necessary (details to follow)