PREFETCHER WITH LOW-LEVEL SOFTWARE CONFIGURABILITY
An embodiment of an integrated circuit may comprise a prefetcher, a model specific register that is accessible at runtime to store information associated with the prefetcher, and circuitry communicatively coupled to the model specific register and prefetcher to adjust a runtime operation of the prefetcher based on the information associated with the prefetcher stored in the model specific register. Other embodiments are disclosed and claimed.
1 . An integrated circuit, comprising:
a prefetcher;
a model specific register that is accessible at runtime to store information associated with the prefetcher; and
circuitry communicatively coupled to the model specific register and prefetcher to adjust a runtime operation of the prefetcher based on the information associated with the prefetcher stored in the model specific register.
2 . The integrated circuit of claim 1 , wherein the circuitry is further to:
limit access of the model specific register to software with a most trusted privilege level.
3 . The integrated circuit of claim 1 , wherein the circuitry is further to:
adjust how the prefetcher is trained at runtime based on the information associated with the prefetcher stored in the model specific register.
4 . The integrated circuit of claim 1 , wherein the circuitry is further to:
adjust a throttle of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
5 . The integrated circuit of claim 1 , wherein the circuitry is further to:
adjust a filter of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
6 . The integrated circuit of claim 1 , wherein the circuitry is further to:
adjust a threshold of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
7 . The integrated circuit of claim 6 , wherein the circuitry is further to:
adjust an internal queue threshold of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
8 . A method, comprising:
storing information associated with a prefetcher in a model specific register that is accessible at runtime; and
adjusting a runtime operation of the prefetcher based on the information associated with the prefetcher stored in the model specific register.
9 . The method of claim 8 , further comprising:
limiting access of the model specific register to software with a most trusted privilege level.
10 . The method of claim 8 , further comprising:
adjusting a training of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
11 . The method of claim 8 , further comprising:
adjusting a throttle of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
12 . The method of claim 8 , further comprising:
adjusting a filter of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
13 . The method of claim 8 , further comprising:
adjusting a threshold of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
14 . The method of claim 13 , further comprising:
adjusting an internal queue threshold of the prefetcher at runtime based on the information associated with the prefetcher stored in the model specific register.
15 . An apparatus, comprising:
a processor;
a memory subsystem coupled to the processor;
two or more prefetchers coupled to the memory subsystem;
two or more model specific registers to respectively store information associated with the two or more prefetchers; and
circuitry communicatively coupled to the two or more model specific registers and the two or more prefetchers to adjust an operation of the two or more prefetchers based on the information stored in the two or more model specific registers.
16 . The apparatus of claim 15 , wherein the circuitry is further to:
limit access of the two or more model specific registers to software with a most trusted privilege level.
17 . The apparatus of claim 15 , wherein the circuitry is further to:
adjust how one or more prefetchers of the two or more prefetchers is trained at runtime based on information associated with the one or more prefetchers stored in the two or more model specific registers.
18 . The apparatus of claim 15 , wherein the circuitry is further to:
adjust a throttle of one or more prefetchers of the two or more prefetchers at runtime based on information associated with the one or more prefetchers stored in the two or more model specific registers.
19 . The apparatus of claim 15 , wherein the circuitry is further to:
adjust a filter of one or more prefetchers of the two or more prefetchers at runtime based on information associated with the one or more prefetchers stored in the two or more model specific registers.
20 . The apparatus of claim 15 , wherein the circuitry is further to:
adjust a threshold of one or more prefetchers of the two or more prefetchers at runtime based on information associated with the one or more prefetchers stored in the two or more model specific registers.
21 . The apparatus of claim 20 , wherein the circuitry is further to:
adjust an internal queue threshold of one or more prefetchers of the two or more prefetchers at runtime based on information associated with the one or more prefetchers stored in the two or more model specific registers.