Patent GB-1214470-A (GB)
Title: Floating-point data processing apparatus
Inventor: GOSHORN LARRY ARTHUR
IPC: G06F7/57
Filed: 1967-12-22
Abstract: 1,214,470. Floating-point arithmetic operations. GENERAL ELECTRIC CO. 22 Dec., 1967 [23 Dec., 1966], No. 58446/67. Heading G4A. Apparatus for processing floating-point numbers compares two such numbers from first and second storage means respectively, and in accordance with the result of the comparison, stored in a bi-stable, transfers the mantissa of the smaller number to the first storage means, the first storage means also receiving the difference of the exponents from arithmetic means. Number format.-A normalized binary floating-point number consists of a sign bit, an exponent portion and a mantissa portion. The highest order bit of the exponent portion is a sign bit for the exponent, being 1 for positive or zero and 0 for negative. Floating-point addition and subtraction.-The two numbers are accessed from memory into A and B registers respectively, and a Q register is loaded with a mask consisting of 1s in the exponent portion and 0s in the mantissa portion. The two numbers are supplied to a parallel full adder 20, that from the B register in onescomplement form, a low-order 1 being added to make it twos-complement, so that the B number is subtracted from the A number. Absence of a high-order carry, indicating B greater than A, sets an initially cleared " remember " flipflop. A " test " flip-flop is set if the A and B numbers have unlike signs. The contents of the A, B and Q registers are shifted to input gates of an F serial full adder in synchronism, the gates being controlled by the Q register and the " remember " flip-flop so that the adder receives the exponent of the smaller number in ones-complement form, the exponent of the larger in true form, and the mantissa of the smaller number in true form, the mantissa of the larger number being discarded. The F carry flip-flop was preset to 1 so that the output of the adder is the mantissa of the smaller number and the difference of the exponents, this output being passed into the A register. The mantissa now in the A register is shifted to the right (to low order) a number of positions specified by the exponent now in the A register, the result being stored in memory. The larger original number is placed into the A register from memory and the smaller number (with exponent equalized as described above) placed into the B register from memory. The exponent portion of the A register is cleared. Depending on the state of " test " flip-flop indicating the relative signs of the numbers, the mantissas in the A and B registers are added or subtracted in the F serial full adder, subtraction being by twos-complement addition as before. The result is passed to the A register. In the case of addition, if a high-order carry occurred in the mantissa addition, a 1 is placed in the exponent portion of the A register. The exponent of the original larger number is obtained from memory and added to the exponent field of the A register to give the result exponent in the A register. In the case of subtraction, the result of the mantissa subtraction is shifted left in the A register until a 1 occurs in the highest order mantissa bit position, the number of shifts being counted by the J counter. The complement of the count is stored in the exponent portion of the A register, then subtracted from the exponent of the larger original number to give the result exponent in the A register. Subroutines are used to control floating-point addition and subtraction, the programme counter being incremented by the parallel adder 20. Some of the words (instructions) each have a plurality of microcode bits to control respective ones of the above steps. The Q register, which is circularly shifted, generally ensures that the correct portions of the numbers are received by the F full adder, in the correct form, as indicated above in a particular case. Overflow or underflow during operation causes a jump to a corrective subroutine (no details). Floating-point multiplication and division.- It is mentioned that multiplication is by multiplying the mantissas and adding the exponents, and division is by dividing the mantissas and subtracting the exponents, but no further details are given. Further features.-It is mentioned that the disclosures of Specifications 1,207,166 and 1,207,167 may be incorporated into the system.