US5796971A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for generating prefetch instruction with a field specifying type of information and location for it such as an instruction cache or data cache
Assignee: Sun Microsystems Inc
•
Filing: 1997-08-22
•
Granted: 1998-08-18
•
Expires: 2017-08-22
Abstract
Abstract Disclosed is a method and system for providing for the prefetching of data or instructions. A prefetch instruction which is in an instruction stream is processed by memory management unit (MMU) where prefetch cache control information is placed as part of the already existing prefetch instruction. Once processed by the MMU, the prefetch instruction thus contains binary fields allowing the operating system or runtime software to control cache prefetching by assigning values to the binary fields which provide the optimal cache set location and the optimal amount of data to be prefetched and thus reduces thrashing.
Inventors
- 👤 David R. Emberson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 19:15
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F9/3824; G06F9/383; G06F12/10; G06F12/1027; G06F2212/00; G06F2212/60; G06F2212/6028
Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
129 words
A method for use by a computer which has a main memory for maintaining stored information which is either data or instructions and a cache memory including a data cache and an instruction cache, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled instruction/data field to form an annexed prefetch instruction; receiving said annexed prefetch instruction including said dynamically adjustable unfilled instruction/data field; and filling said dynamically adjustable unfilled instruction/data field with a prefetch type value which indicates whether said stored information is instructions or data, such indicating whether to store said information in said instruction cache or in said data cache to generate an enhanced prefetch instruction.
Claim 2
Independent Claim
129 words
A method for use by a computer which has a main memory for maintaining stored information which is either data or instructions and a cache memory including a data cache and an instruction cache, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled instruction/data field to form an annexed prefetch instruction; receiving said annexed prefetch instruction including said dynamically adjustable unfilled instruction/data field; and filling said dynamically adjustable unfilled instruction/data field with a prefetch type value which indicates whether said stored information is instructions or data, such indicating whether to store said information in said instruction cache or in said data cache to generate an enhanced prefetch instruction.
Claim 3
Dependent Claim
57 words
A method as recited in claim 1, said method further comprising the steps of: adding a dynamically adjustable unfilled size field to further form said annexed prefetch instruction; filling said dynamically adjustable unfilled size field with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 4
Dependent Claim
77 words
A method as recited in claim 1 wherein said instruction cache includes at least two cache sets and wherein said data cache includes at least two cache sets, said method further comprising the steps of: adding a dynamically adjustable unfilled set field to further form said annexed prefetch instruction; filling said dynamically adjustable unfilled cache set field with a prefetch type value to indicate which of said cache sets to store information retrieved from said main memory.
Claim 5
Dependent Claim
31 words
A method as recited in claim 1 wherein said computer runs an operating system and wherein said operating system provides said prefetch type value which is inserted into said instruction/data field.
Claim 6
Dependent Claim
30 words
A method as recited in claim 1 wherein said computer runs runtime software and wherein said runtime software provides said prefetch type value which is inserted into said instruction/data field.
Claim 7
Independent Claim
97 words
A method for use by a computer which has a main memory for maintaining stored information and a cache memory, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled size field to form an annexed prefetch instruction; receiving said annexed prefetch instruction; filling said dynamically adjustable unfilled size filed with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache to generate an enhanced prefetch instruction.
Claim 8
Independent Claim
97 words
A method for use by a computer which has a main memory for maintaining stored information and a cache memory, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled size field to form an annexed prefetch instruction; receiving said annexed prefetch instruction; filling said dynamically adjustable unfilled size filed with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache to generate an enhanced prefetch instruction.
Claim 9
Dependent Claim
88 words
A method as recited in claim 6 wherein said cache memory includes an instruction cache and a data cache and wherein said initial prefetch instruction further includes an unfilled instruction/data field, said method further comprising the steps of: adding a dynamically adjustable unfilled instruction/data field to further form said annexed prefetch instruction; filling said dynamically adjustable unfilled instruction/data field with a prefetch type value which indicates whether said information is instructions or data, such indicating whether to store said information in said instruction cache or said data cache.
Claim 10
Dependent Claim
79 words
A method as recited in claim 6 wherein said instruction cache includes at least two cache sets and wherein said data cache includes at least two cache sets, said method further comprising the steps of: adding a dynamically adjustable unfilled cache set field to further form said annexed prefetch instruction: filling said dynamically adjustable unfilled cache set field with a prefetch type value which indicates which of said cache sets to store said information retrieved from said main memory.
Claim 11
Dependent Claim
31 words
A method as recited in claim 6 wherein said computer runs an operating system and wherein said operating system provides said prefetch type value which is inserted into said instruction/data field.
Claim 12
Dependent Claim
30 words
A method as recited in claim 6 wherein said computer runs runtime software and wherein said runtime software provides said prefetch type value which is inserted into said instruction/data field.
Claim 13
Independent Claim
112 words
A method for use by a computer which has a main memory for maintaining stored information and a cache memory including at least two cache sets, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled cache set field to form an annexed prefetch instruction; receiving an annexed prefetch instruction including an unfilled cache set field; and filling said unfilled cache set field with a prefetch type value to indicate which of said at least two cache sets to store information retrieved from said main memory to generate an enhanced prefetch instruction.
Claim 14
Independent Claim
112 words
A method for use by a computer which has a main memory for maintaining stored information and a cache memory including at least two cache sets, said method for enhancing an already existing prefetch instruction for use by a prefetch unit, comprising the steps of: receiving said already existing prefetch instruction; adding a dynamically adjustable unfilled cache set field to form an annexed prefetch instruction; receiving an annexed prefetch instruction including an unfilled cache set field; and filling said unfilled cache set field with a prefetch type value to indicate which of said at least two cache sets to store information retrieved from said main memory to generate an enhanced prefetch instruction.
Claim 15
Dependent Claim
58 words
A method as recited in claim 11 said method further comprising the steps of: adding a dynamically adjustable unfilled size field to further form said annexed prefetch instruction; and filling said dynamically adjustable unfilled size field with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 16
Dependent Claim
86 words
A method as recited in claim 11 wherein said information is either instructions or data and wherein said cache memory includes an instruction cache and a data cache said method further comprising the steps of: adding a dynamically adjustable unfilled instruction/data field to further form said annexed prefetch instruction; and filling said dynamically adjustable unfilled instruction/data field with a prefetch type value to indicate whether said information is instructions or data, such indicating whether to store said information in said instruction cache or said data cache.
Claim 17
Dependent Claim
32 words
A method as recited in claim 11 wherein said computer runs an operating system and wherein said operating system provides said prefetch type value which is inserted into said cache set field.
Claim 18
Dependent Claim
31 words
A method as recited in claim 11 wherein said computer runs runtime software and wherein said runtime software provides said prefetch type value which is inserted into said cache set field.
Claim 19
Independent Claim
115 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information which is either data or instructions and a cache memory including a data cache and an instruction cache, said method for generating an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether said stored information is instructions or data such indicating whether to store said information in said instruction cache or said data cache.
Claim 20
Independent Claim
115 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information which is either data or instructions and a cache memory including a data cache and an instruction cache, said method for generating an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether said stored information is instructions or data such indicating whether to store said information in said instruction cache or said data cache.
Claim 21
Dependent Claim
51 words
A method as recited in claim 16 further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable size field including a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 22
Dependent Claim
73 words
A method as recited in claim 16 wherein said instruction cache includes at least two cache sets and wherein said data cache includes at least two cache sets, said method further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable cache set field including a prefetch type value which indicates which of said cache sets to store information retrieved from said main memory.
Claim 23
Independent Claim
93 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information and a cache memory, said method for providing an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled size field which is subsequently filled with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 24
Independent Claim
93 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information and a cache memory, said method for providing an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled size field which is subsequently filled with a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 25
Dependent Claim
74 words
A method as recited in claim 19 wherein said cache memory includes an instruction cache and a data cache, said method further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable instruction/data field including a prefetch type value which indicates whether said information is instructions or data and thus to indicate whether to store said information in said instruction cache or said data cache.
Claim 26
Dependent Claim
74 words
A method as recited in claim 20 wherein said instruction cache includes at least two cache sets and wherein said data cache includes at least two cache sets, said method further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable cache set field including a prefetch type value which indicates which of said cache sets to store said information retrieved from said main memory.
Claim 27
Independent Claim
103 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information and a cache memory including at least two cache sets, said method for providing an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled cache set field which is subsequently filled with a prefetch type value which indicates which of said at least two dynamically adjustable cache sets to store information retrieved from said main memory.
Claim 28
Independent Claim
103 words
A method for use by a computer which has a memory management unit, a main memory for maintaining stored information and a cache memory including at least two cache sets, said method for providing an enhanced prefetch instruction, comprising the steps of: receiving an initial prefetch instruction; and said memory management unit enhancing said initial prefetch instruction to generate an enhanced prefetch instruction as output which includes a dynamically adjustable unfilled cache set field which is subsequently filled with a prefetch type value which indicates which of said at least two dynamically adjustable cache sets to store information retrieved from said main memory.
Claim 29
Dependent Claim
51 words
A method as recited in claim 22 further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable size field including a prefetch type value which indicates how much information to retrieve from said main memory and store in said cache memory.
Claim 30
Dependent Claim
83 words
A method as recited in claim 22 wherein said information is either instructions or data and wherein said cache memory includes an instruction cache and a data cache, said method further comprising the step of: said memory management unit further enhancing said initial prefetch instruction to include a dynamically adjustable instruction/data field including a prefetch type value which indicates whether said information is instructions or data and thus to indicate whether to store said information in said instruction cache or said data cache.
Claim 31
Dependent Claim
193 words
A computer system including a CPU, a main memory for maintaining stored information which is either data or instructions, a cache memory including a data cache and an instruction cache, wherein said CPU is configured to execute an instruction stream which includes a prefetch instruction configured to effect the prefetch of information stored in said main memory which will be required by said CPU, said system for providing an enhanced prefetch instruction, comprising: a memory management unit configured to receive said initial prefetch instruction and to generate as output an enhanced prefetch instruction which includes a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether the information required by said CPU which is stored in said main memory is instructions or data, and thus indicates whether to store said information in said instruction cache or said data cache; and a prefetch unit configured to execute said enhanced prefetch instruction so that said information is retrieved from said main memory and is stored in either said instruction cache or said data cache in accordance with said prefetch type value included in said dynamically adjustable instruction/data field.
Claim 32
Dependent Claim
193 words
A computer system including a CPU, a main memory for maintaining stored information which is either data or instructions, a cache memory including a data cache and an instruction cache, wherein said CPU is configured to execute an instruction stream which includes a prefetch instruction configured to effect the prefetch of information stored in said main memory which will be required by said CPU, said system for providing an enhanced prefetch instruction, comprising: a memory management unit configured to receive said initial prefetch instruction and to generate as output an enhanced prefetch instruction which includes a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether the information required by said CPU which is stored in said main memory is instructions or data, and thus indicates whether to store said information in said instruction cache or said data cache; and a prefetch unit configured to execute said enhanced prefetch instruction so that said information is retrieved from said main memory and is stored in either said instruction cache or said data cache in accordance with said prefetch type value included in said dynamically adjustable instruction/data field.
Claim 33
Dependent Claim
48 words
A system as recited in claim 25 wherein said enhanced prefetch instruction generated by said memory management unit further includes a dynamically adjustable size field including a prefetch type value configured to indicate how much information to retrieve from said main memory and store in said cache memory.
Claim 34
Dependent Claim
61 words
A system as recited in claim 25 wherein said instruction cache includes at least two instruction cache sets and wherein said enhanced prefetch instruction generated by said memory management unit further includes a dynamically adjustable instruction cache set field including a prefetch type value configured to indicate which of said instruction cache sets to store information retrieved from said main memory.
Claim 35
Dependent Claim
61 words
A system as recited in claim 25 wherein said data cache includes at least two data cache sets and wherein said enhanced prefetch instruction generated by said memory management unit further includes a dynamically adjustable data cache set field including a prefetch type value configured to indicate which of said data cache sets to store information retrieved from said main memory.
Claim 36
Dependent Claim
181 words
A prefetch enhancement device operable in conjunction with a computer having a CPU, a main memory for maintaining stored information which is either data or instructions, wherein said CPU is configured to execute an instruction stream which includes a prefetch instruction configured to effect the prefetch of information stored in said main memory which will be required by said CPU, said device comprising: a memory management unit configured to receive a prefetch instruction and to generate as output an enhanced prefetch instruction having a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether the information required by said CPU which is stored in said main memory is instructions or data, and thus indicates whether to store said information in said instruction cache or said data cache; and a prefetch unit configured to execute said enhanced prefetch instruction so that said information is retrieved from said main memory and is stored in either said instruction cache or said data cache in accordance with said prefetch type value included in said dynamically adjustable instruction/data field.
Claim 37
Dependent Claim
181 words
A prefetch enhancement device operable in conjunction with a computer having a CPU, a main memory for maintaining stored information which is either data or instructions, wherein said CPU is configured to execute an instruction stream which includes a prefetch instruction configured to effect the prefetch of information stored in said main memory which will be required by said CPU, said device comprising: a memory management unit configured to receive a prefetch instruction and to generate as output an enhanced prefetch instruction having a dynamically adjustable unfilled instruction/data field which is subsequently filled with a prefetch type value which indicates whether the information required by said CPU which is stored in said main memory is instructions or data, and thus indicates whether to store said information in said instruction cache or said data cache; and a prefetch unit configured to execute said enhanced prefetch instruction so that said information is retrieved from said main memory and is stored in either said instruction cache or said data cache in accordance with said prefetch type value included in said dynamically adjustable instruction/data field.
Claim 38
Dependent Claim
48 words
A device as recited in claim 29 wherein said enhanced instruction prefetch generated by said memory management unit further includes a dynamically adjustable size field including a prefetch type value configured to indicate how much information to retrieve from said main memory and store in said cache memory.
Claim 39
Dependent Claim
61 words
A device as recited in claim 29 wherein said instruction cache includes at least two instruction cache sets and wherein said enhanced prefetch instruction generated by said memory management unit further includes a dynamically adjustable instruction cache set field including a prefetch type value configured to indicate which of said instruction cache sets to store information retrieved from said main memory.
Claim 40
Dependent Claim
61 words
A device as recited in claim 29 wherein said data cache includes at least two data cache sets and wherein said enhanced prefetch instruction generated by said memory management unit further includes a dynamically adjustable data cache set field including a prefetch type value configured to indicate which of said data cache sets to store information retrieved from said main memory.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-08-17 | 2002-02-16 | 2002-08-18 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-08-17 | 2006-02-16 | 2006-08-18 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-08-17 | 2010-02-16 | 2010-08-18 | $7700.00 | Window Closed / Lapsed |