Patent GB-1015177-A (GB)
Title: Scale factor device
IPC: G06F7/74
Filed: 1963-05-01
Abstract: 1,015,177. Digital computers. SPERRY RAND CORPORATION. May 1, 1963 [May 9, 1962], No. 17062/63. Heading G4A. An arrangement for indicating the " scale factor " of a binary number, i.e. the number of shifts required to bring the most significant digit of the number to a standard reference position, comprises an additive or subtractive half-adder and a " pyramid " for propagating carries or borrows, said pyramid being divided into groups, and is characterized by means responsive to signals generated by said groups for generating an indication of the scale factor of a binary number. The arrangement is applicable to the normalization of a number in a floating point computer. Arithmetic circuits.-The arrangement described is basically a fast adder circuit employing subtractive logic and comprises a first operand storage register X* and " difference " and " borrow " digit storage registers A and B representing the second operand. These three inputs are applied to a " half-subtractor " A* B* which is effectively a full adder employing subtractive logic but in which the carry input is externally applied from the B register. The output of the A* B* half-subtractor is applied to " difference " and " borrow " digit storage registers A* and B* whose outputs are applied to a " borrow pyramid " 17 effective to propagate the borrows. The output of the pyramid 17 is applied to a " main half-subtractor " 22 where the borrow digits and propagated borrows are half-subtracted from the difference digits to produce an output representing the sum of the input operands. The function of the borrow pyramid 17 is to propagate each borrow in the B* register to the left and end around if necessary until it finds a " 1 " in the A* register. To provide fast borrow propagation the 36-bit numbers in the A* and B* registers are regarded as arranged in six groups called Group A-Group F, each group having an associated " group borrow " circuit such as 16F, Fig. 3b. Each group borrow circuit produces a " group borrow " output on an associated lead 80 if there is a borrow originating within the group which cannot be absorbed within the group, a " group borrow enable " signal being produced by an inverter 98 if all the corresponding A* stages are " O " indicating that any borrow applied to the group cannot be absorbed within the group and should be applied to the next higher group. The " group borrow " and " group borrow enable " signals from the various groups are applied to " intrinsic group borrow " circuits such as 18F, Fig. 3b, which circuits produce an output if a borrow or borrows is to be satisfied within the corresponding group. These " intrinsic borrow " outputs are applied to corresponding group circuits such as 20F, Figs. 4a-4b, in a " final borrow propagation " circuit. Thus the Group F intrinsic borrow signal is applied on a lead IBF and is effective to enter an intrinsic borrow into each stage within Group F up to the lowest stage receiving a " 1 " from the A* register. The circuit 20F also handles the interstage borrows within a group which may be satisfied within the group and applies the borrows to the correct stages of the halfsubtractor 22, Fig. 1, which stages are divided into groups such as Group 22F, Figs. 4a, 4b, whose outputs ADD 00 &c. represented the required sum digits. Scale factor calculation.-The described circuit may be employed in a scale factor calculation since when the negative absolute value of a binary number is added to zero, the highest order initiating a group borrow is the highest order containing a significant digit. In operation, the negative absolute value of the binary number whose scale factor is required is entered into the X* register directly if negative and after complementing if positive, the registers A and B containing all zeros. The A* B* half-subtractor is then effective to place the complement of the contents of the X* register into both the A* and B* registers. A " group select " circuit 152 (Fig. 5, not shown), is then effective to determine the highest order group borrow circuit, Figs. 3a, 3b, which does not produce a group borrow signal and an output corresponding to this group is applied to a " scale factor generator " circuit 160 Fig. 6, and also to condition one of the group borrow circuits via a " group select " lead 82. The 36 outputs Aa-Ff from the individual stages of the group borrow circuits are applied to negative OR gates 192-202, Fig. 6, a signal being provided only on that output lead Aa-Ff corresponding to the highest order stage containing a borrow. Thus one only of a set of invertors 204-214 produces an output, #a-#f and this output is applied to the scale factor generator circuit 160, which consists of an array of gates, together with the group borrow select signal to provide a final output on leads 2<SP>0</SP>-2<SP>5</SP> representing in parallel form 36 minus the required scale factor value, which final output can be applied to a counter 162, Fig. 1, to control the left shift of the input number in a floating point normalization operation.