11.0 ORGANIZATION OF CA. COMPLETE LIST OF OPERATIONS

11.0 ORGANIZATION OF CA. COMPLETE LIST OF OPERATIONS #

11.1 #

As pointed out at the end of 10.3 CA will be organized essentially as a divider, with suitable controls to modify its action for the requirements of the other operations. (It will, of course, also contain controls for the purposes enumerated in 7.8.) This implies that it will in general deal with two real number variables which go into the memory organs , of the divider network

of Figure 13. (These should coincide with the

, dl II

of the multiplier, Figure 9. The

square rooter, Figure 15, needs no

, but it makes the same use of

. The adder and

subtracter were not connected in Figures 3 and 11 to such memory organs, but they will have to be when the organization of CA is completed.) So we must think of CA as having two input organs, and , and of course one output organ. (The latter has not been correlated with the adder and subtracter, cf. above. For the multiplier it is , for the divider and square rooter it is . These things too will have to be adjusted in the final organization of CA.) Let us denote these two inputs of CA by Ica and Jca, and the output by Oca (each of them with its attached memory organ), schematically shown in Figure 16.

Now the following complex of prob- lems must be considered: As mentioned before, particularly in 2.5, an extensive memory M forms an essential part of the device. Since CA is the main internal op- erating unit of the device (M stores, CC administers, and I, O maintain the con- nections with the outside, cf. the analy- sis in 2.0.), the connections for transfers between M and CA are very important. How are these connections to be organized? It is clearly necessary to be able to transfer from any part of M to CA, i.e. to Ica, Jca, and conversely from CA, i.e. from Oca, to any part of M. Direct connections between various parts of M do therefore not seem to be necessary: It is always possible to transfer from one part of M to the other via CA (cf. however, {14.2}). These considerations give rise to two questions: First: Is it necessary to connect each part of M with both Ica and Jca, or can this be simplified? Second: How are the transfers from one part of M to another part of M to be handled, where CA is only a through station? The first question can be answered in the light of the principle of 5.6—to place multiple events in a temporal succession rather than in (simultaneous) spatial juxtaposition. This means that two real numbers which go from M into Ica and Jca, will have to go there in two successive steps. This being so, it is just as well to route each real number first in Ica, and to move it on (within CA) from Ica to Jca when the next real number comes (from M) into Ica. We restate: Every real number coming from M into CA is routed into Ica. At the same time the real number previously in Ica is moved on to Jca, and the real num- ber previously is Jca is necessarily cleared, i.e. forgotten. It should be noted, that Ica and Jca can be assumed to contain mem- ory organs of the type discussed in 7.6. (cf. Figure 6, there, cf. also the various in the ×, ÷, √ , networks in Fig- ures 9, 13, 15) in which the real numbers they hold are circulating. Consequently the connections of Ica and Jca in CA are those indicated in Figure 17: The lines - - - conduct when a real number (from M) enters CA, the lines −− conduct at all other times. The connections of Ica and Jca with the operating parts of CA are supposed to branch out from the two terminals −−•. The output Oca connects with the outside (relatively to CA, i.e. with M) by the line , which conducts when a result leaves CA (for M). The circulating connections of Oca and its connections with the operating parts of CA are not shown, nor are the E-elements which control the connections shown (nor, of course, the operating parts of CA). (For the complete description of CA cf. {}.)

11.2 #

With the help of Figures 16, 17 the second question is also easily answered. For a transfer from one part of M to another part of M, going through CA, the portion of the route inside CA is clearly a transfer from Ica or Jca to Oca. Denoting the real numbers in Ica, Jca by x, y, this amounts to “combining” x, y to either x or y, since the “result” of any operation performed by CA (like +, −, ×, ÷, √ ) is supposed to appear at Oca. This operation is trivial and a special case e.g. of addition: If x (or y) is wanted it suffices to get zero in the place of y (or x)—i.e. into Ica (or Jca)— and then apply the operation. On the other hand, however, it seems preferable to introduce these operations as such: First: “Getting zero into Ica (or Jca)” is unnecessarily time consuming. Second: The direct transfer from Ica (or Jca) to Oca, which these operations require is easily effected by a small part of the CA network visualized at the beginning of 11.1. Third: We propose to introduce

both operations (for Ica as well as for Jca), because it will appear that each can play a separate useful role in the internal administration of CA (cf. below). We introduce accordingly two new operations: i and j, corresponding to direct transfers from Ica or Jca to Oca. These two operations have these further uses: It will be seen (cf. {}) that the output of CA (from Oca) can be fed back directly into the input of CA (to Ica, this moves the contents of Ica into Jca and clears Jca, cf. 11.1). Now assume that Ica, Jca contain the real numbers x, y, and that i or j is applied, in conjunction with this feedback. Then the contents of Ica, Jca are replaced by (x, x) or (y, x), i.e. from the point of view of any other two variable operations (+, −, ÷, i.e. x + y, x − y, xy, x ) the variables x, y have been replaced by (x, x) or (y, x). Now the latter is an important manipulation for the unsymmetric operations (x − y, x ), and the former is important for the symmetric operations (x + y, xy) since it leads to doubling and squaring. Both manipulations are frequent enough in ordinary algebra, to justify a direct treatment by means of the operations i, j.

11.3 #

A further necessary operation is connected with the need to be able to sense the sign of a number, or the order relation between two numbers, and to choose accordingly between two (suitably given) alternative courses of action. It will appear later, that the ability to choose the first or the second one of two given numbers u, v depending upon such a relation, is quite adequate to mediate the choice between any two given alternative courses of action. (cf. {}.) Accordingly, we need an operation which can do this: Given four numbers x, y, u, v, it “forms” u if x ≥ y and “forms” v otherwise. (This senses the order relation between x, y. If we put y = 0, it senses the sign of x.) In this form the operation has four variables: x, y, u, v. (In the sign form it has three variables: x, u, v.) Now the scheme for the CA network chosen at the beginning of 11.1, which was essentially that of the divider, had room for two variables only, and this is equally true for the discussion of the inputs of CA in 11.1. Hence four (or three) variables are too many. Consequently it is necessary to break our operation up into two variable operations—and then we might as well do this with the more general (four rather than three variables) form. It is plausible to begin with a (partial) operation which merely decides whether x ≥ y or x < y and remembers this, but without taking any action yet. This is best done by forming x − y, and then remembering its sign digit only, i.e. its first digit (from the left). (cf. 8.1. This digit is 0 for x − y ≥ 0, i.e. x ≥ y, and it is 1 for x − y < 0, i.e. x < y.) Thus this (partial) operation is essentially in the nature of a subtraction, and it can therefore present no additional difficulties in a CA which can subtract. Now it seems best to arrange things so that once this operation has been performed, CA will simply wait until two new numbers u, v have been moved into Ica, Jca (thus clearing x, y out—if u, v are to occupy Ica, Jca, respectively, then v must be fed in first and u second), and then transfer (without any further instructions) u or v into Oca (i.e. perform i or j) according to whether the sign digit referred to above was 0 or 1. We introduce accordingly such an operation: s. It is most convenient to arrange things so that after x, y have occupied Ica, Jca, a subtraction is ordered and provisions made that the result x − y should remain in Oca. Then x, y must be displaced from Ica, Jca by u, v and s ordered. s will sense whether the number in Oca is ≥ 0 or < 0 (i.e. x ≥ y or x < y), clear it from Oca, and “form” accordingly u or v in Oca. The operation preceding s need, by the way, not be subtraction: It might be addition or i or j. Accordingly the number in Oca, which provides the criterion for s will not be x − y, but x + y, or (x or y). {missing text} i.e. s will form u or v according to whether the multiplication or the division {missing text}, and the former might indeed be sometimes useful. For details of these operations cf. {}. 11.4Combining the conclusions of 10.2, 10.4, 11.2, 11.3 a list of eight operations of CA obtains: +, −, ×, ÷ √ To these, two more will have to be added because of the necessity of converting numbers between the binary and the decimal systems, as indicated at the end of 5.2. Thus we need a decimal-to-binary

conversion and a binary-to-decimal conversion:

db, bd. The networks which carry out these two operations will be discussed in {Section not incl}. This concludes for the moment the discussion of CA. We have enumerated the ten operations which it must be able to perform. The questions of 7.8, the general control problems of 11.1, and the specific networks for db, bd still remain to be disposed of. But it is better to return to these after various other characteristics of the device have been decided upon. We postpone therefore their discussion and turn now to other parts of the device.