Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
analyticalengine:zeroingtemporaries [2015-04-21 09:26] rainer created |
analyticalengine:zeroingtemporaries [2015-04-22 20:19] (aktuell) rainer Zero before store asserted |
||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Nobody programming today would consider it, but AAL wrote on p. 708: | Nobody programming today would consider it, but AAL wrote on p. 708: | ||
- | > At the end of a calculation, therefore, every column ought as a general rule to be zero, excepting those for results. | + | > At the end of a calculation, therefore, every column ought as a general rule to be zero, excepting those for results. |
- | That's why I thing a zero is missing in line 24 column V<sub>13</sub>. | + | That's why I think a zero is missing in line 24 column V<sub>13</sub>. |
- | Zeroing out intermediate values still seems to be current practice when Alan Turing wrote his //On Computational Numbers...//; | + | From the mechanical plans, it might be required -- but not mentioned in the papers -- that to transfer a value from the mill via the outgress shaft to the store, that store must be zero, otherwise a digit-wise add (without carry) would be done. |
- | on page 232: | + | |
- | > The others are just rough notes to "assist the memory ". It will only be these rough notes which will be liable to erasure. | + | The Bernoulli number example fits perfectly into this scheme. |
+ | |||
+ | In case that an input operand is replaced by the result, it is no problem to use the -- anyhow quicker -- zeroing load. | ||
+ | |||
+ | Checking the table shows that all (working-) variables are zeroed before replaced with another value: | ||
+ | * In line 9, V<sub>11</sub> is set, but was cleared in line 6 | ||
+ | * in line 15, V<sub>8</sub> is set, was initially zero, and is zeroed in the next line, so if looped, will be zero again | ||
+ | * in line 19, the same is true for V<sub>9</sub> | ||
+ | * same in line 20 | ||
+ | |||
+ | Thus, it is clear that in line 24, the table should have a zero for V<sub>13</sub>. | ||
+ | |||
+ | So it is probably not a mere extra, but necessary for the correct functioning. | ||
+ | |||
+ | |||
+ | ===== Note ===== | ||
+ | |||
+ | |||
+ | Zeroing out intermediate values still seems to be current practice when Alan Turing wrote his //On Computational Numbers…//; on page 232: | ||
+ | |||
+ | > The others are just rough notes to "assist the memory". It will only be these rough notes which will be liable to erasure. | ||
Note that this is in contrast to our modern understanding of Turing machines. | Note that this is in contrast to our modern understanding of Turing machines. | ||
+ |