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

Apparatus for performing multiply-add operations on packed data

Assignee: Intel Corp
•
Filing: 1996-02-23
•
Granted: 2000-03-07
•
Expires: 2016-02-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor having a first and second storage having a first and second packed data, respectively. Each packed data includes a first, second, third, and fourth data element. A multiply-add circuit is coupled to the first and second storage areas. The multiply-add circuit includes a first, second, third, and fourth multiplier, wherein each of the multipliers receives a corresponding set of said data elements. The multiply-add circuit further includes a first adder coupled to the first and second multipliers, and second adder coupled to the third and fourth multipliers. A third storage area is coupled to the adders. The third storage area includes a first and second field for saving output of the first and second adders, respectively, as first and second data elements of a third packed data.

Inventors

  • 👤 Alexander D. Peleg
  • 👤 Millind Mittal
  • 👤 Larry M. Mennemeier
  • 👤 Benny Eitan
  • 👤 Carole Dulong
  • 👤 Eiichi Kowashi
  • 👤 Wolf Witt
  • 👤 Derrick Chu Lin
  • 👤 Ahmet Bindal

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 21:10
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/523; G06F7/53; G06F7/5324; G06F7/60; G06F15/00; G06F15/76; G06F15/78; G06F15/7807; G06F15/7817; G06F15/7839; G06F15/7842; G06F15/7857; G06F17/00; G06F17/10; G06F17/14; G06F17/147; G06F17/16; G06F7/4806; G06F7/4812; G06F7/499; G06F7/49905; G06F7/4991; G06F7/49921; G06F7/533; G06F7/5334; G06F7/5336; G06F7/5338; G06F7/544; G06F7/5443; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/3001; G06F9/30014; G06F9/30036; G06F9/30098; G06F9/30105; G06F9/30112; G06T; G06T1/00; G06T1/20; G06F2207/00; G06F2207/38; G06F2207/3804; G06F2207/3808; G06F2207/3828

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 225 words
A processor comprising: a first and second storage areas to have a first and second packed data, respectively, each packed data having a first, second, third, and fourth data element; a multiply-add circuit coupled to said first and second storage areas, said multiply-add circuit having a first, second, third, and fourth multiplier, each said multiplier to receive a corresponding set of said data elements; said multiply-add circuit including a first Carry Save Adder (CSA) coupled to said first and second multipliers, said first CSA to receive two partial products generated by said first multiplier and receive two partial products generated by said second multiplier, said first CSA to generate a first set of two partial products, and a second CSA coupled to said third and fourth multipliers, said second CSA to receive two partial products generated by said third multiplier and receive two partial products generated by said fourth multiplier, said second CSA to generate a second set of two partial products said multiply-add circuit further including a first adder coupled to said first CSA, and a second adder coupled to said second CSA; and a third storage area coupled to said adders, said third storage area having a first and second field for saving outputs of said first and second adders, respectively, as first and second unaccumulated data elements of a third packed data.
Claim 2
Dependent Claim 225 words
A processor comprising: a first and second storage areas to have a first and second packed data, respectively, each packed data having a first, second, third, and fourth data element; a multiply-add circuit coupled to said first and second storage areas, said multiply-add circuit having a first, second, third, and fourth multiplier, each said multiplier to receive a corresponding set of said data elements; said multiply-add circuit including a first Carry Save Adder (CSA) coupled to said first and second multipliers, said first CSA to receive two partial products generated by said first multiplier and receive two partial products generated by said second multiplier, said first CSA to generate a first set of two partial products, and a second CSA coupled to said third and fourth multipliers, said second CSA to receive two partial products generated by said third multiplier and receive two partial products generated by said fourth multiplier, said second CSA to generate a second set of two partial products said multiply-add circuit further including a first adder coupled to said first CSA, and a second adder coupled to said second CSA; and a third storage area coupled to said adders, said third storage area having a first and second field for saving outputs of said first and second adders, respectively, as first and second unaccumulated data elements of a third packed data.
Claim 3
Dependent Claim 19 words
The processor of claim 1, wherein each multiplier performs at least a 16-bit multiplication resulting in two partial products.
Claim 4
Dependent Claim 26 words
The processor of claim 2, wherein said multipliers each includes a means for selecting eight partial products and each said multiplier includes four levels of CSA's.
Claim 5
Dependent Claim 66 words
The processor of claim 3, wherein each of said four levels of CSA's included in each multiplier include a first level reducing said eight partial products to six partial products, a second level reducing said six partial products to four partial products, a third level reducing four partial products to three partial products, and a fourth level reducing said three partial products to two partial products.
Claim 6
Dependent Claim 59 words
The processor of claim 4, wherein said first adder is coupled to said first CSA and said first adder generates a summation of said two partial products generated by said first CSA; and said second adder is coupled to said second CSA and said second adder generates a summation of said two partial products generated by said second CSA.
Claim 7
Dependent Claim 22 words
The processor of claim 2, wherein each said multiplier implements a 2-bit Booth encoding to select a set of eight partial products.
Claim 8
Dependent Claim 22 words
The processor of claim 6, wherein each said multiplier implements a sign generate method to replace sign extending of said partial products.
Claim 9
Dependent Claim 31 words
The processor of claim 7, wherein each said multiplier relocates an extra bit generated by the sign generation method to a corresponding vacant bit position in a separate partial product row.
Claim 10
Dependent Claim 351 words
A processor comprising: a first storage area operable to have stored therein a first packed data containing at least an A1, an A2, an A3, and an A4 element; a second storage area operable to have stored therein a second packed data containing at least a B1, a B2, a B3, and a B4 element; a multiply circuit including a first multiplier coupled to said first storage area to receive said A1 and coupled to said second storage area to receive said B1; a second multiplier coupled to said first storage area to receive said A2 and coupled to said second storage are to receive said B2; a third multiplier coupled to said first storage area to receive said A3 and coupled to said second storage area to receive said B3; a fourth multiplier coupled to said first storage area to receive said A4 and coupled to said second storage area to receive said B4; said multiply-add circuit including a first Carry Save Adder (CSA) coupled to said first and second multipliers, said first CSA to receive two partial products generated by said first multiplier and receive two partial products generated by said second multiplier, said first CSA to generate a first set of two partial products, and a second (CSA) coupled to said third and fourth multipliers, said second CSA to receive two partial products generated by said third multiplier and receive two partial products generated by said fourth multiplier, said second CSA to generate a second set of two partial products a first adder coupled to said first CSA and said second CSA; a second adder coupled to said third multiplier and said fourth multiplier; and a third storage area coupled to said first adder and said second adder, said third storage area having at least a first field and a second field, said first field for saving an unaccumulated output of said first adder as a first unaccumulated data element of a third packed data, said second field for saving an unaccumulated output of said second adder as a second unaccumulated data element of said third packed data.
Claim 11
Dependent Claim 351 words
A processor comprising: a first storage area operable to have stored therein a first packed data containing at least an A1, an A2, an A3, and an A4 element; a second storage area operable to have stored therein a second packed data containing at least a B1, a B2, a B3, and a B4 element; a multiply circuit including a first multiplier coupled to said first storage area to receive said A1 and coupled to said second storage area to receive said B1; a second multiplier coupled to said first storage area to receive said A2 and coupled to said second storage are to receive said B2; a third multiplier coupled to said first storage area to receive said A3 and coupled to said second storage area to receive said B3; a fourth multiplier coupled to said first storage area to receive said A4 and coupled to said second storage area to receive said B4; said multiply-add circuit including a first Carry Save Adder (CSA) coupled to said first and second multipliers, said first CSA to receive two partial products generated by said first multiplier and receive two partial products generated by said second multiplier, said first CSA to generate a first set of two partial products, and a second (CSA) coupled to said third and fourth multipliers, said second CSA to receive two partial products generated by said third multiplier and receive two partial products generated by said fourth multiplier, said second CSA to generate a second set of two partial products a first adder coupled to said first CSA and said second CSA; a second adder coupled to said third multiplier and said fourth multiplier; and a third storage area coupled to said first adder and said second adder, said third storage area having at least a first field and a second field, said first field for saving an unaccumulated output of said first adder as a first unaccumulated data element of a third packed data, said second field for saving an unaccumulated output of said second adder as a second unaccumulated data element of said third packed data.
Claim 12
Dependent Claim 19 words
The processor of claim 9, wherein each multiplier performs at least a 16-bit multiplication resulting in 2 partial products.
Claim 13
Dependent Claim 26 words
The processor of claim 10, wherein said multipliers each includes a means for selecting eight partial products and each said multiplier includes four levels of CSA's.
Claim 14
Dependent Claim 66 words
The processor of claim 11, wherein each of said four levels of CSA's included in each multiplier include a first level reducing said eight partial products to six partial products, a second level reducing said six partial products to four partial products, a third level reducing four partial products to three partial products, and a fourth level reducing said three partial products to two partial products.
Claim 15
Dependent Claim 59 words
The processor of claim 12, wherein said first adder is coupled to said first CSA and said first adder generates a summation of said two partial products generated by said first CSA; and said second adder is coupled to said second CSA and said second adder generates a summation of said two partial products generated by said second CSA.
Claim 16
Dependent Claim 22 words
The processor of claim 10, wherein each said multiplier implementing a 2-bit Booth encoding to select a set of eight partial products.
Claim 17
Dependent Claim 22 words
The processor of claim 14, wherein each said multiplier implements a sign generate method to replace sign extending of said partial products.
Claim 18
Dependent Claim 31 words
The processor of claim 15, wherein each said multiplier relocates an extra bit generated by the sign generation method to a corresponding vacant bit position in a separate partial product row.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-03-07 2003-09-06 2004-03-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-03-07 2007-09-06 2008-03-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-03-07 2011-09-06 2012-03-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag