Patent US4769780A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4769780A Expired / Lapsed US ⏱️ 0.0 years remaining

High speed multiplier

Assignee: International Business Machines Corp
•
Filing: 1986-02-10
•
Granted: 1988-09-06
•
Expires: 2006-02-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A high speed multiplier includes a logic circuit for performing multiplication a multiplicand stored in a first resister and a multiplier stored in a second register, which includes means connected to the second register for selectively gating a selected portion of a multiplier stored in the second register to a recoding means; shift gate means connected to outputs of the first register and controlled by outputs of the recoding means to gate selected groups of multiples of the multiplicand to an adder means for adding a group of multiples of the multiplicand under the control of the control signals; means for accumulating successive intermediate products generated by the adder means; spill adder means, connected to the means for accumulating, for generating a low order portion of a final result of the multiply; storage means for storing the low order portion of the final result; means for generating a high order portion of the final result from outputs of the means for accumulating; and means for storing the high order portion of the final result, wherein the multiplier operates at a rate double the system clock frequency on a 10 bit wide data path on each such double frequency cycle.

Inventors

  • 👤 David C. Chang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 23:45
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/523; G06F7/533; G06F7/5334; G06F7/5336; G06F7/5338; G06F2207/00; G06F2207/38; G06F2207/3804; G06F2207/3808; G06F2207/3832; G06F2207/3844

Claims Analysis

Total Claims: 13
Claim 1
Independent Claim 282 words
A high speed multiplier circuit for performing multiplication of first and second numbers stored in first and second registers respectively, comprising: a recoding means; means for generating a clock signal at a frequency equal to an even multiple of a system clock frequency to provide a plurality of clock pulses within each system clock cycle; means connected to said second register for selectively gating a selective portion of said second number stored in said second register to said recoding means at a rate equal to an even multiple of said system clock frequency under the control of said means for generating a clock signal; shift gate means connected to outputs of said first register and controlled by control signal outputs of said recoding means to output selected groups of bits at a rate equal to an even multiple of said system clock frequency under the control of said means for generating a clock signal; adder means connected to outputs of said shift gate means, for adding a group of multiples of said first number, under the control of said control signals and for generating output signals from said adder means; spill adder means, connected to outputs of said adder means for generating a low order portion of a final result of said multiplication; storage means for storing said low order portion of said final result; means for generating a high order portion of said final result from outputs of said adder means; and means for storing said high order portion of said final result such that such final result is stored at least in a first half of said system clock cycle to increase the speed of operation of said multiply circuit.
Claim 2
Dependent Claim 282 words
A high speed multiplier circuit for performing multiplication of first and second numbers stored in first and second registers respectively, comprising: a recoding means; means for generating a clock signal at a frequency equal to an even multiple of a system clock frequency to provide a plurality of clock pulses within each system clock cycle; means connected to said second register for selectively gating a selective portion of said second number stored in said second register to said recoding means at a rate equal to an even multiple of said system clock frequency under the control of said means for generating a clock signal; shift gate means connected to outputs of said first register and controlled by control signal outputs of said recoding means to output selected groups of bits at a rate equal to an even multiple of said system clock frequency under the control of said means for generating a clock signal; adder means connected to outputs of said shift gate means, for adding a group of multiples of said first number, under the control of said control signals and for generating output signals from said adder means; spill adder means, connected to outputs of said adder means for generating a low order portion of a final result of said multiplication; storage means for storing said low order portion of said final result; means for generating a high order portion of said final result from outputs of said adder means; and means for storing said high order portion of said final result such that such final result is stored at least in a first half of said system clock cycle to increase the speed of operation of said multiply circuit.
Claim 3
Dependent Claim 39 words
A high speed multiplier circuit for performing multiplication of first and second numbers according to claim 13, wherein said shift gate means further comprises: means for generating binary multiples of said first number to be used as intermediate operands.
Claim 4
Dependent Claim 84 words
A high speed multiplier circuit for performing multiplication of first and second numbers according to claim 13, wherein said adder means, comprises: first means for adding a group of multiples of said first number; second means for adding carry and sum outputs of said first means for adding and shifted outputs of said second means; and third means for adding carry and sum outputs from said second means for adding to generate a high order portion of a final result of said multiply operation.
Claim 5
Dependent Claim 44 words
A high speed multiplier circuit for performing multiplication of first and second number according to claim 3, wherein: said first means comprises a 5-2 carry save adder; said second means comprises a 4-2 carry save adder; and said third means comprises a full adder.
Claim 6
Independent Claim 242 words
A method for multiplying first and second multibit numbers, each comprising one or more multibit digits, stored in first and second registers, comprising the steps of: generating a clock signal at a frequency equal to an even multiple of a system clock frequency to provide additional clocking pulses in a system clock cycle to speed the operation of said method for multiplying; recoding a predetermined portion of said second number; generating a plurality of control signals from said recoded portion of said second number; controlling the selection of a plurality of multiples of said first number by said control signals; adding, in an adder means a group of said multiples of said first number under the control of said control signals at a clock rate controlled by said generated even multiple clock signal; accumulating successive products generated by said adding steps; spilling a low order portion of said accumulated products to a spill adder on each cycle of said multiply operation to generate a low order portion of a final result of said multiply; storing said low order portion of said final result in a low order result register; repeating said above steps on successive portions of said second number until all bits in said second number have been processed by the above steps; and storing a final accumulated product in a result register as a high order portion of said final result of said multiply of said first and second numbers.
Claim 7
Independent Claim 242 words
A method for multiplying first and second multibit numbers, each comprising one or more multibit digits, stored in first and second registers, comprising the steps of: generating a clock signal at a frequency equal to an even multiple of a system clock frequency to provide additional clocking pulses in a system clock cycle to speed the operation of said method for multiplying; recoding a predetermined portion of said second number; generating a plurality of control signals from said recoded portion of said second number; controlling the selection of a plurality of multiples of said first number by said control signals; adding, in an adder means a group of said multiples of said first number under the control of said control signals at a clock rate controlled by said generated even multiple clock signal; accumulating successive products generated by said adding steps; spilling a low order portion of said accumulated products to a spill adder on each cycle of said multiply operation to generate a low order portion of a final result of said multiply; storing said low order portion of said final result in a low order result register; repeating said above steps on successive portions of said second number until all bits in said second number have been processed by the above steps; and storing a final accumulated product in a result register as a high order portion of said final result of said multiply of said first and second numbers.
Claim 8
Dependent Claim 16 words
A method according to claim 5, wherein said multiple of said system clock frequency is two.
Claim 9
Dependent Claim 38 words
A method according to claim 5, further comprising the step of: inserting, under the control of said control signals, ones in predetermined positions in operands input to said adder means to obtain an output in twos complement form.
Claim 10
Dependent Claim 30 words
A method according to claim 5, further comprising the steps of: generating, under the control of said control signals, binary multiples of said first number to used as intermediate operands.
Claim 11
Dependent Claim 87 words
A method according to claim 5, wherein said adding step further comprises: first adding a group of multiples of said first number in a first carry save adder; second adding carry and sum outputs of said first carry save adder and shifted outputs of a second carry save adder in a second carry save adder to accumulate said successive products; and third adding carry and sum outputs from said second carry save adder in a full adder to generate a high order portion of said final result.
Claim 12
Dependent Claim 17 words
A method according to claim 5, wherein each said multibit digit is comprised of ten binary bits.
Claim 13
Dependent Claim 45 words
A method according to claim 5, further comprising the step of: checking, after said step of storing said final result, the accuracy of said final result by comparing a residue computed from said final result with a residue computed from said first and second numbers.

References Cited (Backward Citations)

US3227865A Cited
US4041292A Cited
US4153938A Cited
US4228520A Cited
US4546446A Cited
US4484301A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1991-09-06 1992-03-07 1992-09-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1995-09-06 1996-03-07 1996-09-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1999-09-06 2000-03-07 2000-09-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag