← Back to Patent Explorer
US3840727A Expired / Lapsed US ⏱️ 0.0 years remaining

Binary multiplication by addition with non-verlapping multiplier recording

Assignee: Fujitsu IT Holdings Inc
•
Filing: 1972-10-30
•
Granted: 1974-10-08
•
Expires: 1992-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Disclosed is a multiplier method and apparatus for use in a data processing system. The multiplication is carried out in the form (Ai) (b)+ C(i-1) R1 (i),R2(i) where Ai is one byte of a multiplier operand A, B is a multiplicand, C(i-1) is a partial product obtained in a previous step, R1(i) and R2(i) are partial results. The partial results R1(i) and R2(i) are added together to form the partial product C(i). The product of Ai and B summed with the partial products C(i-1) is executed by recoding the operand Ai. Typically, for 8-bit bytes, an 8-to-5 recoding is performed. The 5-bit code thus derived is employed to form five partial sums of the operand B. The five partial sums together with the partial product C(i-1) are input to a multiple input carry-save adder where they are simultaneously added to form the partial results R1(i) and R2(i). Thereafter the partial results R1(i) and R(i) are added in an external adder to form the partial product Ci. The final product P, where P (A) (B), is formed from the partial products Ci where i 1, 2, 3, 4.

Inventors

  • 👤 L Topham
  • 👤 G Amdahl
  • 👤 M Clements

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 11:49
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/523; G06F7/533; G06F7/5334

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 96 words
In a data processing system wherein an operand B is multiplied by an operand A where A includes the non-overlapping bytes Ai, to form the product P an apparatus for performing the operation (Ai)(B) + C(i-1) R1(i),R2(i) comprising a recoder for recoding the bytes Ai into an x-bit code, multiple gate means for forming x partial sums of said operand B under control of said x-bit code, a multiple input adder for receiving the x partial sums from said multiple gates for concurrently adding said partial sums and C(i-1) to form the partial results R1(i), R2(i).
Claim 2
Dependent Claim 96 words
In a data processing system wherein an operand B is multiplied by an operand A where A includes the non-overlapping bytes Ai, to form the product P an apparatus for performing the operation (Ai)(B) + C(i-1) R1(i),R2(i) comprising a recoder for recoding the bytes Ai into an x-bit code, multiple gate means for forming x partial sums of said operand B under control of said x-bit code, a multiple input adder for receiving the x partial sums from said multiple gates for concurrently adding said partial sums and C(i-1) to form the partial results R1(i), R2(i).
Claim 3
Dependent Claim 24 words
The data processing system of claim 1 further including an adder for adding the resultants R1(i) and R2(i) to form a partial product Ci.
Claim 4
Dependent Claim 27 words
The data processing system of claim 1 wherein said bytes Ai are each eight bits, wherein x is 5 and wherein said recoder is an 8-to-5 recoder.
Claim 5
Dependent Claim 44 words
The data processing system of claim 3 wherein said eight bits of said operand bytes Ai represent the binary values 20, 21, . . . , 27 and wherein said recoder forms the recoded outputs in multiples of 20, 22, 24, 26, and 28.
Claim 6
Dependent Claim 28 words
The data processing system of claim 4 wherein said recoded outputs are further multiplied by the five factors 0, + or - 1, or + or - 2.
Claim 7
Dependent Claim 251 words
A data processing system where an operand B is multiplied by an operand A to form the product P where P includes the bytes P1, P2, . . . , P8 where A includes the non-overlapping Ai bytes A1, A2, A3 and A4 each having y bits, the apparatus comprising, a recoder for recoding each byte Ai to form x control signals where x equals the largest whole number in (y/2+1), multiple gate means for forming x partial sums of said operand B in response to said control signals for each of said bytes Ai, a multiple input adder for receiving the outputs from said multiple gates and for receiving a partial product C(i-1) to perform operations (Ai)(B) + C(i-1) R1(i), R2(i) for all values of i equal to 1, 2, 3 and 4 and wherein the value of C(0) is 0, a two input adder for adding the partial results R1(i) and R2(i) to form the partial product Ci for all values of i equal to 1, 2, 3 and 4 where P1 is the lowest order byte of C1 and for adding the partial product C4 to bytes from thE partial product C3 to form the bytes P4, P5, . . . , P8, means including a byte adder for adding the lowest order byte of the partial product Ci to the next lowest order byte of the partial product C(i-1) to form the bytes Pi for i equal to 2 and 3 whereby P2 and P3 are formed.
Claim 8
Dependent Claim 251 words
A data processing system where an operand B is multiplied by an operand A to form the product P where P includes the bytes P1, P2, . . . , P8 where A includes the non-overlapping Ai bytes A1, A2, A3 and A4 each having y bits, the apparatus comprising, a recoder for recoding each byte Ai to form x control signals where x equals the largest whole number in (y/2+1), multiple gate means for forming x partial sums of said operand B in response to said control signals for each of said bytes Ai, a multiple input adder for receiving the outputs from said multiple gates and for receiving a partial product C(i-1) to perform operations (Ai)(B) + C(i-1) R1(i), R2(i) for all values of i equal to 1, 2, 3 and 4 and wherein the value of C(0) is 0, a two input adder for adding the partial results R1(i) and R2(i) to form the partial product Ci for all values of i equal to 1, 2, 3 and 4 where P1 is the lowest order byte of C1 and for adding the partial product C4 to bytes from thE partial product C3 to form the bytes P4, P5, . . . , P8, means including a byte adder for adding the lowest order byte of the partial product Ci to the next lowest order byte of the partial product C(i-1) to form the bytes Pi for i equal to 2 and 3 whereby P2 and P3 are formed.
Claim 9
Dependent Claim 54 words
The system of claim 6 wherein x equals five and wherein said bytes are eight binary bits, whereby said recoder recodes from 8-to-5 to form the weights 20, 22, 24, 26, 28 and wherein each weight is additionally multiplied by one of the five values, 0, + or - 1, + or - 2.
Claim 10
Dependent Claim 118 words
The system of claim 7 wherein the 20, 22, 24, 26, 28 multiplications are achieved by shifting B by 0 bits, 2 bits, 4 bits, 6 bits and 8 bits, respectively, and where each of those shifted values of B are further multiplied by 0, +1, -1, +2 or -2 by making the shifted value of B equal to all 0''s, by using the shifted value of B, by complementing the shifted value of B and inserting a carry-in in the low-order bit position, by shifting the shifted value of B one additional bit, and by complementing and shifting one additional bit the shifted value of B and inserting a carry-in in the low order bit position, respectively.
Claim 11
Dependent Claim 313 words
A data processing system where an operand B is multiplied by an operand A where A includes the four non-overlapping Ai bytes A1, A2, A3 and A4, the improvement comprising, a recoder for recoding each byte Ai to form five control signals, multiple gate means for forming five partial sums of said operand B in response to said five control signals for each of said bytes Ai, a multiple input adder for receiving the outputs from said multiple gates and for receiving a partial product C(i-1) to perform operations (Ai)(B) + C(i-1) R1(i),R2(i) for all values of i equal to 1, 2, 3 and 4 and wherein the value for i 1 of C0 is 0, a two input adder for adding the partial results R1(i) and R2(i) to form the partial product Ci for all values of i equal to 1, 2, 3 and 4, first store means for storing the partial product Ci for all values of i equal to 1, 2, 3 and 4, means for connecting the three bytes Ci(3), Ci(2) and Ci(1), for each partial product Ci for i equal to 1, 2, and 3, from said first store means to said multiple input adder, second store means for storing the bytes Ci(5) and Ci(4) received from said first store means where the byte C1(5) is the low-order product byte P1, byte adder means connected to receive bytes from said first and second store means for adding the bytes C1(4) and C2(5) and the bytes C2(4) and C3(5) to form the product bytes P2 and P3, respectively, means connecting the partial product C4 and the bytes C3(4), C3(3), C3(2) and C3(1) to said two input adder for addition to form the high-order product bytes P4, P5, P6, P7 and P8 whereby the product AB P is formed with P equal to P1, P2, . . . , P8.
Claim 12
Dependent Claim 313 words
A data processing system where an operand B is multiplied by an operand A where A includes the four non-overlapping Ai bytes A1, A2, A3 and A4, the improvement comprising, a recoder for recoding each byte Ai to form five control signals, multiple gate means for forming five partial sums of said operand B in response to said five control signals for each of said bytes Ai, a multiple input adder for receiving the outputs from said multiple gates and for receiving a partial product C(i-1) to perform operations (Ai)(B) + C(i-1) R1(i),R2(i) for all values of i equal to 1, 2, 3 and 4 and wherein the value for i 1 of C0 is 0, a two input adder for adding the partial results R1(i) and R2(i) to form the partial product Ci for all values of i equal to 1, 2, 3 and 4, first store means for storing the partial product Ci for all values of i equal to 1, 2, 3 and 4, means for connecting the three bytes Ci(3), Ci(2) and Ci(1), for each partial product Ci for i equal to 1, 2, and 3, from said first store means to said multiple input adder, second store means for storing the bytes Ci(5) and Ci(4) received from said first store means where the byte C1(5) is the low-order product byte P1, byte adder means connected to receive bytes from said first and second store means for adding the bytes C1(4) and C2(5) and the bytes C2(4) and C3(5) to form the product bytes P2 and P3, respectively, means connecting the partial product C4 and the bytes C3(4), C3(3), C3(2) and C3(1) to said two input adder for addition to form the high-order product bytes P4, P5, P6, P7 and P8 whereby the product AB P is formed with P equal to P1, P2, . . . , P8.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1977-10-07 1978-04-08 1978-10-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1981-10-07 1982-04-08 1982-10-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1985-10-07 1986-04-08 1986-10-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag