Destructive and retaining ingress operation

When a number is transferred from the storage to the mill, the mechanism clears the number to zero (see Bromley 1998, p.31).

In the sketch, it is mentioned at various places:

  • p. 677: When two numbers are to be combined together, the machine commences by effacing them from the columns where they are written, that is, it places zero on every disc of the two vertical lines on which the numbers were represented; and it transfers the numbers to the mill…
    A footnote referts to Note C, explaining that it may be retained.
    This is highly misleading (and not corrected in the notes), as it seems to require additional cards to transfer any input value to any storage cell while the mill is working.
  • p. 708: In order to provide for the one or the other of the courses above indicated, there are two varieties of the Supplying Variable-cards. One of these varieties has provisions which cause the number given off from any Variable to return to that Variable after doing its duty in the mill. The other variety has provisions which cause zero to be substituted on the Variable, for the number given off. These two varieties are distinguished, when needful, by the respective appellations of the Retaining Supply-cards and the Zero Supply-cards.
    This also implied that the number is restored while the mill is working.

However, from Bromley's cited article on p.31 left column, the final solution is different: This form of storage exhibits a destructive readout; following the read operation, all figure wheels will stand at zero, irrespective of the digit originally stored, and the number originally stored is lost. If it is desired not to loose the number, then it must be stored, as it is read, on another set of figure wheels. For this purpose, each figure axis of the mill of the Analytical Engine is provided with two figure wheels in each cage. It is not clear whether the saved number is returned back to the primary wheels once the number has been transferred, i.e. while the mill works, or the store colums just switches to the alternate set of number wheels.

Note that information is destructively readout with many types of storages, in particular core memory and dynamic RAM cells. However, the later solution was to provide one set of wheels for each ingress shaft, and write it back while the mill works, instead of duplicating the whole memory. With core memory, this did slow down the CPU, thus the memory was splitted in even and odd banks, slowing down the CPU only if two even or odd addresses where used in direct succession.

The ENIAC with its decimal shift registers would have had the same problem, but instead of shifting down to zero and counting, it shifted up circulary and counted the number of places shifted out on top. This would have been possible for the AE too, by turing the toothed wheel (indicated by 3 in Fig.1 of Bromley) a whole circle, and using the turn of the axis A (indicated by 2) instead. Clearly this would be done differently, once seen to be useful.

Log In