HHmSBb MOM LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 51 . 84 no. 93-98 copc3 Digitized by the Internet Archive in 2013 http://archive.org/details/separatecarrysto97taka rxo.97 cop. 3 UNIVERSITY OF ILLINOIS GRADUATE COLLEGE DIGITAL COMPUTER LABORATORY REPORT NO. 97 SEPARATE CARRY STORAGE ADDERS S. Takahashi March 7, i960 •3 Introduction The following considerations will be applicable to the pseudo-adder of any base with carry storage, but for simplicity let us confine our discussion to the base h adder, which will be the heart of the arithmetic unit of the New Illinois Computer. Let a_ , , a_ - a_ .......be the previous content of the accumulator 2n+l' 2n* 2n-l' with the carry storage digits b_ , b n _,...: let x . , x_ , x^ ......be j & f 2n* 2n-2* ' 2n+l* 2n* 2n-l> the operand, and a' , a' , a' , ...be the result with the new carry storage digits, b' , b' , . . „ , where the index increases with decreasing significance of the digital position. (c. f. Figure l) b 2n-2 b 2n a 2n-2 & 2n-l & 2n a 2n+l X 2n-2 X 2n-1 X 2n X 2n+1 a 2n-2 a 2n-l a 2n a 2n+l b 2n-2 Figure 1 b 2n The variety in such an adder structure arises from the fact that there are various schemes concerning what kind of carry we store as b' , b ' _,..., and 2rr 2n-2' ' what kind of carry we allow to propagate to more significant digital positiona This concept has not been explicitly discussed before. General Consideration Let the carry digit to the (2n-l)-th digital position be u ? , . Then the logical maximum we get as the carry to the (2n-2)-th digital position will be C 2n-2 = U 2n-1 (a 2 n-l © X 2n-l )v a '2n-l X 2n-1' < 2 > b 2n-2 • p 2n-2 = °- W Since, with an arbitrary logical function A b' = c' «A (M 2n-2 2n-2 2n-2 K } and P 2n-2 = C 2n-2 " A 2n-2 *5) always satisfy both (2) and (3), we can design infinitely many kinds of adders corresponding to the infinite number of arbitrary logical functions, though only some of them will be worth investigating from the practical point of view. Before discussing this separation of carry in detail, however, we need some general considerations. Let us formulate the result, a' , a' n , a nd ' 2n ? 2n-l' c' _ in terms of the given digits and p' , which is the carry that will be 2n-2 2n* propagated from the previous lower significant stage. At the beginning we hope to have an important relation, b 2n • P^ n - 0, (6) which is, as will be shown later on, valid with some limitations. With this assumption, the logical quantity *2n = b 2n V p, 2n ™ can take care both of b^_ and of p' . Then we have 2n ^2n a 2n " *2n ® a 2n © X 2n ( 8 ) U 2n-1 = \n (a 2n© X 2n^ & 2n X 2n <9) a 2n-l = U 2n-1 © a 2n-l © X 2n-1 (10) 2 - and ''2n-2 cX „ = u , ( a © x ) v a x , . ( 11 ) 2n-l 2n-l 2n-l 2n-l 2n-l v Introducing an arbitrary logical function A , we can separate the carry c ' _ into b ' p and p ' theoretically in an infinite number of ways . however, from the practical point of view, there will be the following limitations: (i) We hope to keep the relation b ' . p " = ( 12 ) 2n-2 2n-2 where p" is the carry that will be propagated to the next more significant stage in the next addition. This is the same relation as (6) which we have assumed, and if we ca.nnot take advantage of this relation, we have the possibility of the double carries of b ' _. and p" _ at the same time which calls for a. much 2n-2 2n-2 more complicated a.dder structure which we should avoid. (ii) The equation (ll) is rewritten in terms of p' , b_ , a. , x_ , a._ ., , 2n' 2n 2n' 2n' 2n-l and x~ , as 2n-l C 2n-2 = P 2n (a 2n © X 2n } ' (a 2n-l © X 2n-1 } vb 2n- (a 2n @X 2n ) * (a 2n-l© X 2n-l ) \/a. . x rt . ( a ,©x. ) \y a._ . • x_ . , 2n 2n 2n-l v ^ 2n-l 2n-l 2n-l (13) We do not want to introduce any more logical variables, though it is possible to separate the third term, for instance, as a 2n' X 2n " (a 2 n-l © ^n-l^ a 2n+l v a 2n " X 2n* (a 2n-1 © X 2n-1 } - a 2n+l' introducing a. new variable a. , because this only increases the complexity of the adder construction. For the same rea.son, we do not intend either to separate the term a,^ , • x^ n as 2n-l 2n-l a 2n* 8 2n-l X 2n-l V & 2n ' a '2n-l * X 2n-l' for instance. However, we may separate, for instance, the term a . x_ ♦ ( a_ © x 1 ) 2n 2n 2n-l 2n-l into l 2n' 2n* a 2n-l X 2n-l V 3 2n ' X 2n* a 2n-l* X 2n-l' since we hope to employ diode logic as far as we ca,n„ (iii) The carry corresponding to the first term of (13) ought to he stored, since this is the carry propagated from the previous lower significant stage. Otherwise, a propagation of a carry in a. long chain will take place, and the carry storage scheme will be no longer useful. Validity of the Relation b • p ' = Since we have assumed the relation, b • p' ■ 0, (6) 2n 2n we must examine its validity. We ca.n try this by mathematical induction, because b^ =0 and hence (6) is valid before the first addition after carry 2n assimilation, and because (6) is always valid for the least significant stage, since there is no carry storage a.nd no carry propagation. Suppose (6) was valid at the n-th stage for the m-th addition. Then all the relations from (7) to (10) are correct. Then it is sufficient enough for us to examine the validity of b ' _ - p" _ = (12) 2n-2 2n-2 ' at the (n-l)-th stage for the (m+l)-th addition. By examining this, we can also clarify the limitation on the carry separation stated in (i). In the following discussion, let us omit 2n from all the indices of variables for simplicity; for instance let a be written a . Let (1*0 f o = ax f ! = ax f ? = ax f 3 = ax and k a. . X -1 ■1 k, 8 X 1 -1 -1 k 8 • X 2 -1 -1 fr 1 — 8, , X 5 -1 -i (15) It is clear that all f„«f.,(i d j)*and k »k..(i 4- j) fc are void. With the use of (l4) and (15), we obtain a' = tf • tf x v tf g v tf (16) a*= tf v tf v tf 2 V tf U-1 - f v tf^tf 2 a - 1 = u - 1" k ^ u - 1* k l ^ u - 1* k 2 v u - 1 k 3 " f k V f 0- k 3 V tf I* k " if 1 k l ' " f 1° k 2 * tf 1 k 5 V tf 2 - k Q / tf 2 « k x V tf 2 . k 2 v tf 2 - k 3 v f .1^ V f • k 2 ( a -l" u -l k v u -l k l u -l k 2 V u -i k 3 = f Q . k 1 v f Q - k 2 s tf 1 - k Q v tf x - k ] v tf x - k 2 / tf x « k V tf 2 -k Q v tfg-^v tf 2 »k 2 V tfg-kj v fyk Q v/ fykj c; 2 = k Q v f Q -k 1 v f Q -k 2 v h(f 1 -k 1 v f^^v V k l V f 2 #k 2^ Vp'Cf^V ^-k^ V*]^ f 2 ' k 2 )u Taking into account the limitation (iii) stated in the previous section, ve have K 2 = V k " B Q1 f 0* k l " V f k 2 V \i bf l k l V B 12 bf 1 k 2 (IS) V B 21 bf 2* k l V B 22* bf 2' k 2 V P ' [f i' k i v f l' k 2 V f 2' k l V V k 2 ] and p : 2 ■ v k o v VW vVs* v bf i' k i v v b, rt where B Q , B oi* • • • • ,B 22 are arbitrar y coefficients, each of which is either 1 or 0, - 5 - Since ?"-2 =\K^ \l f k l * *02 f k 2 V \l Vf i 4 V *12 Vf i k 2 v B 21 b'fg k£v B 22 b'f 2 k 2 , where f', f',.....k' meana'-x 1 , a'-x', . . . , a^-x'^, . . . , respectively, we can now represent b' p" explicitly as follows: K 2 P': 2 = B o k { X ' ^1 [ *01 tf * 5 02 ^l* If 2 v tf 3 )] V "b'[B i;L X' x' x tf Q v B 12 x' x^t^v tf 2 V tf 3 ) V ^21 X ' (21) and (20) is read as B 01 B 12 V B 01 B 02 VB 02 B 12 = °> < 22 > which calls for the validity of one of the following three conditions: B 01 = B 02 s ° B 01 =1 12=°V (25) B 12 " B 02~ °'J Since there are five coefficients besides B_ and B , and two of them are always bound by (23) s we shall have 18 cases as shown in Table 1, including the two special cases mentioned above. It is also worth while to note that there are simple relations among the new stored carry b' and the sum digits a' and a'. From (17) and (l8), we have b :2 a :i- B o k o < f o vtf i ' tf 2 > = B a -l x -l L* (a©x)v a x ] (2k) Except for the very special case in which B n = 1, this is always zero. From (l6) and (l8), we also have V 2 a' = B k Q (tf Q V tf 1 V tf 2 V tf 3 ) tf ( B oi k i VB o 2 V Excluding the case B = 1, this is read as V 2 a' = t a x (B 01 a_ x x_ 1 v B^ a_ ± x^), (25) - 7 - and -with the condition {23) > we shall have the following three cases: V 2 a' =0 (B 01 = B 02 ^0) ■ ta "-l^ ( B 01 = I 12 =I 02^ °) = t a x (a_ x © x^). (B 01 = B 12 = B Q2 a= 0) The value of b' a 1 is also indicated in Table 1. It should he noted that the structure of the adder is not necessarily recursive, provided that the structure of ea.ch stage is such that the relation (6) is valid. Therefore it is even possible to change the structure from stage to stage, picking up an arbitrary one from the table* From a practical view- point, especially from that of maintenance, however, it is highly desirahle to have a recursive structure. With the use of this table and equations from (7) to (10), we can immediately write down the Boolean equation for each structure of the base k pseudo -adder. Some Considerations The general tendency seen from the ta.ble is that the circuit to generate p' becomes simpler as we go down through the table and on the contrary the circuit to generate b' becomes more complicated, and also that on the whole, the structures in the lower part of the table seem to be simpler than those in the upper rows . The structure numbered 17 has been considered for the new Illinois computer. The structure 18, which seems to be the simplest, has been abandoned due to the lack of the relation, bV, a^ - 0. (26) However, the structures numbered from 1 to 9, for which another relation, b^ 2 a' = (27) also holds besides (26), will be worth our while to examine more in detail, 'The ** footnote in Table 1 refers to line 18 of that Table, - 8 - Table 1 All of the Practically Possible Varieties of Base k Pseudo-adder Constructions 10000000 p'(a© x)(a_ 1 © x_ 1 )= (b^) Q blaQxKi^®!^ aili^i^^a^l^ 20000001 ' b -g'o V b a * a -l X -l b ( a © x ) a . 1 x . 1 v b ax *_! x _l. v ax ( a .l© x .l'" a _l x _l 30000011 (b^ 2 ) vbax (a_ L i^) b ax(a ^Q x^) V ax(a © x^) v a _ ± x_ x 40000101 (b^ 2 ) Q \/b(a©x) a_ L x_ L b(a x)a_ 1 x_ 1 v ax(a_0 x _ 1 ) v a^ x ^ 5 111 (b^) vb(a© il^ijV b a"x a. 1 x_ ] _ b i^iyaila^ijjj^ l_j 60001001 ^*2^0 V b ax a 1 * l v b ax a 1 x 1 b ax a x v b ax a x .v ox(a_© x , ) ^ a _i x _■» 70001011 (b* ) Q v b axta.^0 x _) b ax a x^ b ax a x_j* axfa^© x_ L )v a x 80001101 ' b ^'o x/b ( a © x ' a .i x _i vb ax a -l x -l b ax a -l x -l* "(".i© x _i) ^ a _i x _i 90001111 (b^) o vb(a0x)(a_ 1 0x_ 1 ) axfa^ © x^)*/ a^ x ^ (b^) -/b(a©x)a_ 1 x^ ax a jX ^ b(a@x) a_ x x_j* ax a^ x^i/a^ X^ (b^) vb(a©x)a ^ x^b Ix a^Ma" x. L bua i^i/ai a x v a x. 12 0011101 (b^ 2 ) Vb(a© xja^x^x/b ax a_ 1 x_ 1 v ax a_ 1 x_ 1 b ax a_^ x^v ax a^ x^y a . 1 x . 1 13 1 1 1 1 1 (b^ 2 ) Vb(a©x)(a_©x_ 1 )vax a^ x ^ ax a^ x^v a^ x_ L 10 11 10 10 1 10 111 10 10 1 10 10 11 10 110 1 1U0 110 101 15 1 1 (b^ 2 ) vb(a@x)a x x ^vaxta ^©x^) b(a@x) a^x^v- a _ % i_j 111 (b^) vb(a©x)a ^x^^ bax a_ 1 x_ 1 ^ ax(a_ 1 ©x_ L ) b ax a^ x •/ a^ x. * 1 1 1 •0111011 16 0111101 tax(a_ ] ®t_ 1 ) (b^ 2 ) Q ^b(a©x)a ^x ^v- b ax a ^i^ ax(a_© x^) b ax a_ x x , v a_ x 17 0111111 (b^ 2 ) vb(a©x)(a_©x ^J^axfa^Qx^) 1 or 1 (b' 2 ) >/b(a©x)(a_. f 3x_ 1 )>/ax(a_«2ex_ 1 ) < /a_ 1 x ^ •These case6 violate the condition (23). •In this case b^ g a' = (t©a©x) a _ 1 i^v tax ( a _i© x . 1 )> ul b ' 2 a' is not void either; b^ 2 a _ l = [t (a©x)vax] a^ x,. - 9 "because this relation will possibly contribute to simplifying the structure of the circuits associated with the adder such as the high speed carry assimilator, the division predictor, etc. Among them let us examine the structure numbered 9, which seems to be the simplest, in designing the detailed logical circuit with the use of the emitter-follower diode logic of the New Illinois Computer basic circuitry, in which the fan- out both from the emitter- follower and from the AND- gate is restricted to two and the number of cascaded stages is limited to six. The basic Boolean equations are as follows: t = p' v "b a' = t © a x u-t((+)x)vax a ll = u _i© a _i© x _i b< 2 = t (a©x) (a_ 1 @x_ 1 ) Vl 2 = a x (a_ 1 ©x_ 1 ) s/ a_ 1 x_ ± Since NOT operation cannot be done by the emitter- follower and diode logic, it is necessary to provide p 1 besides p' . It turns out that it is more economical to generate p' and t which is p' v b , assuming in turn p and t are propagated from the previous lower significant stage. P = a x v/ a x (3 = a x v a x .' = tp v p ! b p If = a x ff = a V x = axv axv/ax q = tp q = t V p = p' b v/tp P-i- d- a -l x -l^ *-l x -i p~=a,x.,\/ax a l x = »" P_ x ^qP.x^ 3* q P_ x 10 - p^2 = a -i x -i f^ a x v/a _i© x _r^ = ( a _x x _i^ P_i) ( ^vP_ x ) = «f P_ 1 ^ / f a^ x x_ 1 V a_ 1 x = ^ P_l ^ a _i x _i b -2 = q ^-i* We need "both p and p of the same logical function because of the limited fan-out. It turns out that 21 emitter followers and 95 diodes are necessary as shown in Figure 2. These are slightly more than 19 transistors and 85 diodes in G. A. Metze's circuit for structure No. 17 in Table 1. (l) Supplement for File No. 273 of Digital Computer Laboratory Ac know le dgme nt This work was done during the author's visit to the Digital Computer Laboratory, the University of Illinois, on the fellowship of the Provisional International Computation Centre in Rome, and the author wishes to express his hearty thanks to the Centre and Professor A. H. Taub of the Laboratory for this chance, and also to the staff members of the Laboratory, especially to Dr. J. E. Robertson and Dr. G. A. Metze for their invaluable discussions and helpful suggestions. - 11 - UNIVERSITY OF 10. \ * •■ t a. a' cO_|c£L|ffl_ cQ_*£L £- |>0 » (jo |K>