Patent GB-1099340-A (GB)
Title: Multiplier circuit
IPC: G06F7/52
Filed: 1966-10-25
Abstract: 1,099,340. Multipliers. INTERNATIONAL BUSINESS MACHINES CORPORATION. Oct. 25, 1966 [Nov. 29, 1965], No. 47751/66. Heading G4A. In a multiplier, multiples of successive p-bit bytes of the multiplicand are generated in successive cycles, one multiple of each byte being selected in response to each of a plurality of multiplier bytes for application to a chain of adder boxes each adapted to develop and store the sum and carry obtained by adding a multiple applied thereto to the sum developed by the preceding box in the preceding cycle, a partial product register fed by the final adder box being provided as well as an assimulator for finally assimilating in parallel sums and carries stored in the adder boxes into a final product. Referring to Fig. 1, a multiplicand register block 2 comprises two shift registers for the high order eleven bits and the low order thirteen bits of the multiplicand respectively. Each shift register supplies three bits at a time in parallel to a respective multiple generator B or A which generates the +1, +2, +3, +4, - 1, - 2, - 3, - 4 multiples of each bit triad received. The + 2 and + 4 multiples are obtained by " shift," the + 3 by adding the + 1 and + 2 multiples, and the negative multiples by onescomplementing the positive. The bits in a multiplier register 4 are divided into sets of four adjacent bits, adjacent sets overlapping by one bit. A recoder block 6 comprises a recoder for each set, and each of two adder arrays A, B, comprises a 3-bit parallel full adder box for each set. Each recoder recodes its set to select none or one of the multiples currently generated in the B multiple generator for application to the adder box respective to the set in the B adder array and the same numbered multiple currently generated in the A multiple generator for application to the adder box respective to the set in the A adder array. Selection of none of the multiples corresponds to a multiple of zero, of course. Each adder box (Fig. 4, not shown), parallel adds the multiple applied thereto to the sum produced in the previous adder box in the previous cycle, carries being propagated within the box during the addition, flip-flops being provided to store the sum and any carry out of the box, the latter carry being added into the same adder box during the next cycle (except after the whole of the multiplicand has been entered into the adder arrays-see below). If the selected multiple is a negative multiple, a further signal from the recoder adds a one into the respective box of the A adder array to convert the onescomplement into a twos-complement. The sum output from the last box of the B adder array in each cycle is passed in parallel into a D " partial product " shift register 18 and shifted along. A PR register 22 is similarly provided for the A adder array. When multiples of all the multiplicand bytes have been entered into the A and B adder arrays, the sum outputs of the last three adder boxes of the B adder array and the contents of the D register are gated into the A adder array. Then the sums and carries stored in the A and B adder arrays are passed in parallel into an assimilator 24 for accumulation. The assimilator output is passed to an output register 28, ones being subtracted at 26 en route in response to combinations of a negative multiplicand and a positive multiple or a positive multiplicand and a negative multiple, as detected by a correction circuit responsive to the recoders at 6 and the multiplicand sign bit. The final product is obtained from the output register 28 and the PR register 22.