US5859997A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for performing multiply-substrate operations on packed data
Assignee: Intel Corp
•
Filing: 1996-08-20
•
Granted: 1999-01-12
•
Expires: 2016-08-20
Abstract
Abstract A method and apparatus for including in a processor instructions for performing multiply-subtract operations on packed data. In one embodiment, a processor is coupled to a memory. The memory has stored therein a first packed data and a second packed data. The processor performs operations on data elements in said first packed data and said second packed data to generate a third packed data in response to receiving an instruction. At least one of the data elements in this third packed data storing the result of performing a multiply-subtract operation on data elements in the first and second packed data.
Inventors
- 👤 Alexander Peleg
- 👤 Millind Mittal
- 👤 Larry M. Mennemeier
- 👤 Benny Eitan
- 👤 Wolf Witt
- 👤 Carole Dulong
- 👤 Eiichi Kowashi
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 16:09
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/544; G06F7/5443; G06F9/00; G06F9/06; G06F9/30; G06F9/30003; G06F9/30007; G06F9/30036; G06F2207/00; G06F2207/38; G06F2207/3804; G06F2207/3808; G06F2207/3828
Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
143 words
A computer-implemented method responsive to the execution of a single instruction comprising the steps of: performing the following steps in response to executing said single instruction, multiplying together a first value and a second value to generate a first intermediate result, multiplying together a third value and a fourth value to generate a second intermediate result, multiplying together a fifth value and a sixth value to generate a third intermediate result, multiplying together a seventh value and an eighth value to generate a fourth intermediate result, subtracting together said first intermediate result and said second intermediate result to generate a first data element in a first packed data, performing an arithmetic operation on said third intermediate result and said fourth intermediate result to generate a second data element in said first packed data; storing said first packed data in a first storage area.
Claim 2
Dependent Claim
143 words
A computer-implemented method responsive to the execution of a single instruction comprising the steps of: performing the following steps in response to executing said single instruction, multiplying together a first value and a second value to generate a first intermediate result, multiplying together a third value and a fourth value to generate a second intermediate result, multiplying together a fifth value and a sixth value to generate a third intermediate result, multiplying together a seventh value and an eighth value to generate a fourth intermediate result, subtracting together said first intermediate result and said second intermediate result to generate a first data element in a first packed data, performing an arithmetic operation on said third intermediate result and said fourth intermediate result to generate a second data element in said first packed data; storing said first packed data in a first storage area.
Claim 3
Dependent Claim
15 words
The method of claim 1, wherein said arithmetic operation is one of addition and subtraction.
Claim 4
Dependent Claim
27 words
The method of claim 1, wherein execution of said single instruction is completed without arithmetically combining said first and second data elements of said first packed data.
Claim 5
Dependent Claim
31 words
The method of claim 1, wherein said step of storing said first packed data includes the step of storing said first packed data as an operand for use by another instruction.
Claim 6
Dependent Claim
32 words
The method of claim 1, wherein said first and second data elements of said first packed data each contain more bits than each of said first, second, third, fourth, and fifth values.
Claim 7
Dependent Claim
34 words
The method of claim 1, wherein said first and second data elements of said first packed data each contain twice as many bits as each of said first, second, third, fourth, and fifth values.
Claim 8
Independent Claim
128 words
A method for manipulating a first packed data and a second packed data, said first packed data including A 1 , A 2 , A 3 , and A 4 as data elements, said second packed data including B 1 , B 2 , B 3 , and B 4 as data elements, said method comprising the computer-implemented steps of: performing the following steps in response to executing a single multiply-subtract instruction, performing the operation (A 1 ×B 1 )-(A 2 ×B 2 ) to generate a first data element in a third packed data; performing the operation (A 3 ×B 3 )-(A 4 ×B 4 ) to generate a second data element in said third packed data; storing said third packed data in a first storage area.
Claim 9
Independent Claim
128 words
A method for manipulating a first packed data and a second packed data, said first packed data including A 1 , A 2 , A 3 , and A 4 as data elements, said second packed data including B 1 , B 2 , B 3 , and B 4 as data elements, said method comprising the computer-implemented steps of: performing the following steps in response to executing a single multiply-subtract instruction, performing the operation (A 1 ×B 1 )-(A 2 ×B 2 ) to generate a first data element in a third packed data; performing the operation (A 3 ×B 3 )-(A 4 ×B 4 ) to generate a second data element in said third packed data; storing said third packed data in a first storage area.
Claim 10
Dependent Claim
28 words
The method of claim 7, wherein execution of said single multiply-subtract instruction is completed without arithmetically combining said first and second data elements of said third packed data.
Claim 11
Dependent Claim
31 words
The method of claim 7, wherein said step of storing said third packed data includes the step of storing said third packed data as an operand for use by another instruction.
Claim 12
Dependent Claim
31 words
The method of claim 7, wherein the data elements of said third packed data each contain more bits than each of the data elements of said first and second packed data.
Claim 13
Dependent Claim
31 words
The method of claim 7, wherein the data elements of said third packed data each contain twice as many bits as the data elements of said first and second packed data.
Claim 14
Dependent Claim
28 words
The method of claim 7, wherein said step of storing said third packed data includes the step of storing said third packed data over said first packed data.
Claim 15
Dependent Claim
153 words
In a computer system having stored therein a first packed data and a second packed data each containing initial data elements, each of said initial data elements in said first packed data having a corresponding initial data element in said second packed data, a method for performing multiply subtract operations, said method comprising the steps of: performing the following steps in response to executing a single instruction, multiplying together said corresponding initial data elements in said first packed data and said second packed data to generate corresponding intermediate data elements, said intermediate data elements being divided into a number of sets; subtracting the intermediate result data elements in at least a first of said number of sets; storing the result of subtracting the first of said number of sets as a first of a plurality of result data elements; and storing said result data elements as a third packed data in a memory.
Claim 16
Dependent Claim
153 words
In a computer system having stored therein a first packed data and a second packed data each containing initial data elements, each of said initial data elements in said first packed data having a corresponding initial data element in said second packed data, a method for performing multiply subtract operations, said method comprising the steps of: performing the following steps in response to executing a single instruction, multiplying together said corresponding initial data elements in said first packed data and said second packed data to generate corresponding intermediate data elements, said intermediate data elements being divided into a number of sets; subtracting the intermediate result data elements in at least a first of said number of sets; storing the result of subtracting the first of said number of sets as a first of a plurality of result data elements; and storing said result data elements as a third packed data in a memory.
Claim 17
Dependent Claim
36 words
The method of claim 13, wherein a second of said plurality of result data elements represents either the subtraction or the sum of said intermediate result data elements in a second of said number of sets.
Claim 18
Dependent Claim
25 words
The method of claim 13, wherein execution of said single instruction is completed without arithmetically combining the result data elements of said third packed data.
Claim 19
Dependent Claim
36 words
The method of claim 13, wherein said step of storing said result data elements as said third packed data includes the step of storing said third packed data as an operand for use by another instruction.
Claim 20
Dependent Claim
31 words
The method of claim 13, wherein the data elements of said third packed data each contain more bits than each of the data elements of said first and second packed data.
Claim 21
Dependent Claim
31 words
The method of claim 13, wherein the data elements of said third packed data each contain twice as many bits as the data elements of said first and second packed data.
Claim 22
Dependent Claim
33 words
The method of claim 13, wherein said step of storing said result data elements as said third packed data includes the step of storing said third packed data over said first packed data.
References Cited (Backward Citations)
US3641736A
Cited
US3711692A
Cited
US3723715A
Cited
US4161784A
Cited
US4344151A
Cited
US4418383A
Cited
US4393468A
Cited
US4498177A
Cited
US4707800A
Cited
US4771379A
Cited
US4989168A
Cited
US5293558A
Cited
US5442799A
Cited
US5095457A
Cited
US5111422A
Cited
US5262976A
Cited
US5222037A
Cited
US5227994A
Cited
US5241492A
Cited
US5187679A
Cited
US5420815A
Cited
US5325320A
Cited
US5457805A
Cited
US5321644A
Cited
US5506865A
Cited
US5517438A
Cited
US5509129A
Cited
US5576983A
Cited
US5528529A
Cited
US5487022A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-01-11 | 2002-07-13 | 2003-01-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-01-11 | 2006-07-13 | 2007-01-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-01-11 | 2010-07-13 | 2011-01-12 | $7700.00 | Window Closed / Lapsed |