Patent GB-1014628-A (GB)
Title: Data processing system
IPC: G06F7/552
Filed: 1964-06-26
Abstract: 1,014,628. Calculating square roots. SPERRY RAND CORPORATION. June 26, 1964 [July 12, 1963], No. 26474/64. Heading G4A. A circuit for obtaining the square root of a radic and by the method of subtraction of successive odd integers comprises a first register for storing the radicand, a second register for storing a trial square root, and a third register for storing a predetermined constant. In each iterative cycle, the trial root is subtracted from the radicand, the result being shifted one place to the left, and the trial root is modified by the addition of the predetermined constant shifted one place to the right, this addition being with or without carries according as the subtraction did not or did produce a negative result. If a negative result is produced, the former positive result is employed in the next iterative cycle. Successive digits of the square root as formed are left unchanged in subsequent iterative cycles. The arrangement described is a 16-bit word binary digital computer having a memory, memory access register 20, programme address register 12, storage address register 14, instruction register 48, double-length arithmetic register (A and A* registers) 26, 28 and a parallel binary adder 10 (Fig. 15, not shown) effective both to increment the programme address by unity and to be effective in arithmetic operations. When a " square root " instruction is to be executed, control circuitry (Fig. 3, not shown) is effective to gate information between the registers shown in Fig. 1 in accordance with the square root algorithm shown in Fig. 2. All numbers in the computer are in the range O# | x | <1 with negative numbers indicated by a " 1 " in the units digit position. In the first step of the square root algorithm, top of Fig. 2, the trial square root 0À01 is placed in the right half 50 of the Z- register (also employed as the instruction register), and a predetermined constant 0À11 is placed in the A<SP>*</SP> R -register (right half of A*- register), the radicand being entered in the A<SP>*</SP> L -register (left half of A*-register). The trial root 0À01 is now transmitted via the A R - register to the M-register 20 and subtracted, by being transmitted in complement form, from the radicand, in the adder 10, the result being placed in the A<SP>*</SP> L -register where its sign digit is tested. If the sign is positive, the righthand path of Fig. 2 is followed, the A<SP>*</SP> L - register being shifted one place to the left and the A<SP>*</SP> R -register (containing 0À11) being shifted one place to the right, these shifts being accomplished by employing the A-register for intermediate storage. If the rightmost position of the A<SP>*</SP> R -register is " 1," the calculation is complete, but if not the trial root 0À01 is modified by the addition of the shifted predetermined constant 0À011 before a further subtraction from the (shifted) radicand. If the initial subtraction produced a negative result, the left-hand path of Fig. 2 is followed, the radicand as it was prior to the subtraction being retained in the A L -register instead of being replaced by the difference. The shifts are as before but when the trial root 0À01 is modified by the addition of the shifted constant 0À011, this addition takes place without carries.