10.0 CIRCUIT FOR THE ARITHMETICAL OPERATION √ . OTHER OPERATIONS

10.0 CIRCUIT FOR THE ARITHMETICAL OPERATION √ . OTHER OPERATIONS #

10.1 #

A square rooter network can be built so that it differs very little from the divider. The description which follows is preliminary in the same sense as those of the multiplier and the divider networks in 7.7 and 8.3.

Binary square rooting consists of this: For each digital position in the square root (going from left to right), the square root a (as formed up to that position) is used to form 2a + 1, and this 2a + 1 is subtracted from the partial remainder (of the radicand) already formed, but which has been shifted left by two positions (adding new digits 0 if the original digits are exhausted), before this subtraction. If the resulting difference is not negative (that is, if its extreme left digit is 0) then the next square root digit is 1, and the next partial remainder (the one to be used for the following quotient digit, before the double shift left referred to above) is the difference in question. If the difference is negative (that is, if its extreme left digit is 1) then the next square root digit is 0, and the next partial remainder (in the same sense as above) is the preceding partial remainder, but in its doubly shifted position.

This procedure is obviously very similar to that one used in division (cf. 8.3), with the following differences: First: The simple left shifts (of the partial remainder) are replaced by double ones (with possible additions of new digits 0). Second: The quantity which is being subtracted is not one given at the start (the dividend), but one that is determined by the result obtained so far: 2a + 1 if a is the square root up to the position under consideration.

The first difference is a rather simple matter of timing, requiring no essential additional equip- ment. The second difference involves a change in the connection, but also no equipment. It is true, that 2a + 1 must be formed from a, but this is a particularly simple operation in the binary system: 2a is formed by a shift left, and since 2a + 1 is required for a subtraction, the final +1 can be taken into account by omitting the usual correction of the extreme right digit in subtraction (cf. 8.2, it is the stimulus on tjj in Figure 11 which is to be omitted).

Now the square rooter network can be put together: Figure 15. The similarity with the divider network of Figure 13 is striking. It will be noted that is not needed. The radicand is originally in , but is replaced, as the square rooting progresses, by the successive partial remainders. The valve routes the square root a (as formed up to that position) negatively into the adder—the timing must be such as to produce a shift left thereby replacing a by 2a, and the absence of the extra correcting pulse for subtraction (tjj in Figures 11 and 13, cf. the discussion above) replaces it by 2a+1. The two valves immediately under it select the partial remainder

(cf. below) and send it from their common output line on one hand unchanged into on the other hand into the adder, from where the sum (actually the difference) goes i The timing must be such as to produce the required double position shift left. Thus

and . and

contain the two numbers from among which the next partial remainder is to be selected. This selection is done by the discriminator which governs the two valves controlling the (second addend) input of the adder (cf. the discussion of Figure 12 in 8.3). The sign digit of the resulting sum controls the discriminator. The timing stimulus at t must coincide with its appearance (extreme left digit of the sum) and tj must be stimulated during the period during which the two addends (actually minuend and subtrahend) are to enter the adder (advanced by 3t). The square root is assembled in . For each one of its digits the necessary stimulus is available at the

second output of the discriminator (osj in Figure 12). It is passed into

through the lowest

valve

, timed by a stimulus at tjjj.

10.2 #

The concluding remarks of 8.4 concerning the divider apply essentially unchanged to the square rooter.

The rules of 9.3 concerning the sizes of numbers entering into various operations are easily extended to cover square rooting: The radicand must be non negative and the square root which is produced will be non negative. Hence square rooting must only be performed if the radicand is between 0 and 1, and the square root will also lie between 0 and 1.

The other remarks in 9.3 and 9.4 apply to square rooting too.

10.3 #

The networks which can add, subtract, multiply, divide and square root having been described, it is now possible to decide how they are to be integrated in CA, and which operations CA should be able to perform.

The first question is, whether it is necessary or worth while to include all the operations enu- merated above: +, −, ×, ÷, √ .

Little need be said about +, −: These operations are so fundamental and so frequent, and the networks which execute them are so simple (cf. Figures 3 and 11), that it is clear that they should be included.

With × the need for discussion begins, and at this stage a certain point of principle may be brought out. Prima facie it would seem justified to provide for a multiplier, since the operation × is very important, and the multiplier of Figure 9—while not nearly as simple as the adder of Figure 3—is still very simple compared with the complexity of the entire device. Also, it contains an adder and therefore permits to carry out +, − on the same equipment as ×, and it has been made very simple by following the principle formulated in 5.3–5.7.

There are nevertheless possible doubts about the stringency of these considerations. Indeed multiplication (and similarly division and square rooting) can be reduced to addition (or subtraction or halving—the latter being merely a shift to the right in the binary system) by using (preferably base 2) logarithm and antilogarithm tables. Now function tables will have to be incorporated into the complete device anyhow, and logarithm-antilogarithm tables are among the most frequently used ones—why not use them then to eliminate × (and ÷, √ ) as special operations? The answer is, that no function table can be detailed enough to be used without interpolation (this would under the conditions contemplated, require 230 ≈ 109 entries!), and interpolation requires multiplication! It is true that one might use a lower precision multiplication in interpolating, and gain a higher precision one by this procedure—and this could be elaborated to a complete system of multiplication by successive approximations. Simple estimates show, however, that such a procedure is actually more laborious than the ordinary arithmetical one for multiplication. Barring such procedures, one can therefore state, that function tables can be used for simplifying arithmetical (or any other) operation only after the operation × has been taken care of, not before! This, then, would seem to justify the inclusion of × among the operations of CA.

Finally we come to ÷ and √ . These could now certainly be handled by function tables: Both ÷ and √ with logarithm–antilogarithm ones, ÷ also with reciprocal tables (and ×). There are also well known, fast convergent iterative processes: For the reciprocal u ← 2u − au2 = (2 − au)u (two operations × per stage, this converges to 1 ), for the square root u ← (3/2)u−2au3 = (3/2−(2au)u)u

(three operations × per stage, this converges to √1

, hence it must be multiplied by 2a at the end,

to give

√ 4a a).

However, all these processes require more or less involved logical controls and they replace ÷ and √ by not inconsiderable numbers of operations ×. Now our discussions of ×, ÷, √ show that each one of these operations lasts, with 30 (binary) digit numbers (cf. 7.1), on the order of 302t, hence it is wasteful in time to replace ÷, √ by even a moderate number of ×. Besides the saving in equipment is not very significant: The divider of Figure 13 exceeds the multiplier of Figure 9 by above 50% in equipment, and it contains it as a part so that duplications are avoidable (cf. {below}). The square rooter is almost identical with the divider, as Figure 15 and its discussion show.

Indeed the justification of using trick methods for ÷, √ , all of which amount to replacing them by several ×, exists only in devices where × has been considerably abbreviated. As mentioned in 5.3–5.4 the duration of × and also of ÷ can be reduced to a much smaller number of t than what we contemplate. As pointed out loc. cit. this involves telescoping and simultaneising operations, and increasing the necessary equipment very considerably. We saw that such procedures are indicated in devices with elements which do not have the speed and the possibilities of vacuum tubes. In such devices the further circumstance may be important, that × can be more efficiently abbreviated than ÷ (cf. 5.4), and it may therefore be worth while to resort to the above mentioned procedures, which

replace ÷, √ by several ×. In a vacuum tube device based on the principles of 5.3–5.7 however, ×, ÷, √ are all of the same order of duration and complication and the direct arithmetical approach to all of them therefore seems to be justified, in preference to the trick methods discussed above. Thus all operations +, −, ×, ÷, √ would seem to deserve inclusion as such in CA, more or less in the form of the networks of Figures 3, 9, 11, 13, 15, remembering that all these networks should actually be merged into one, which consists essentially of the elements of the divider, Figure 13. The whole or appropriate parts of this network can then be selected by the action of suitably disposed controlling E-elements, which act as valves on the necessary connections, to make it carry out the particular one among the operations +, −, ×, ÷, √ which is desired (cf. {}). For additional remarks on specific operations and general logical control, cf. {}.

10.4 #

The next question is, what further operations (besides +, −, ×, ÷, √ ) would be included in CA?

As pointed out in the first part of 10.3 once × is available, any other function can be obtained from function tables with interpolation. (For the details cf. {}.) Hence it would seem that beyond × (and +, − which came before it), no further operations need be included as such in CA. Actually ÷, √ were nevertheless included, and the direct arithmetical approach was used for them—but here we had the excuse that the arithmetical procedures involved had about the same duration as those of ×, and required an increase of only about 50% in equipment.

Further operations, which one might consider, will hardly meet these specifications. Thus the cube root differs in its arithmetical treatment essentially from the square root, as the latter requires the intermediate operation 2a + 1 (cf. 10.1), which is very simple, particularly in the binary system while the former requires at the same points the intermediate operation 3a2 + 3a + 1 = 3a(a + 1) + 1, which is much more complicated, since it involves a multiplication. Other desirable operations—like the logarithm, the trigonometric functions, and their inverses—allow hardly any properly arithmetical treatment. In these cases the direct approach involves the use of their power series, for which the general logical control facilities of the device must be adequate. On the other hand the use of function tables and interpolation, as suggested above is in most cases more effective than the direct power series approach.

These considerations make the inclusion of further algebraical or analytical operations in CA unnecessary. There are however some quite elementary operations, which deserve to be included for logical or organizational reasons. In order to discuss these it is necessary to consider the functioning of CA somewhat more closely, although we are not yet ready to do full justice to the viewpoints brought up in 7.8 and at the end of 10.3.