Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem
First Claim
1. A computer system comprising:
- a processor;
a memory system including a cache;
at least one bus coupled to the memory system and to the processor; and
an optimization logic that predicts a probability of an event in a memory subsystem wherein the optimization logic enables a tag array if the probability of the event reaches a first predetermined level, enables a data cache if the probability of the event reaches a second predetermined level and only enables the data cache if the event actually occurs if the probability of the event has not reached the second predetermined level.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for dynamically adjusting the power/performance characteristics of a memory subsystem. Since the memory subsystem access requirements are heavily dependent on the application being executed, static methods of enabling or disabling the individual memory system components (as are used in prior art) are less than optimal from a power consumption perspective. By dynamically tracking the behavior of the memory subsystem, the invention predicts the probability that the next event will have certain characteristics, such as whether it will result in a memory cycle that requires the attention of a cache memory, whether that memory cycle will result in a cache memory hit, and whether a DRAM page hit in main memory will occur if the requested data is not in one of the levels of cache memory. Based on these probabilities, the invention dynamically enables or disables components of the subsystem. By intelligently adjusting the state of these components, significant power savings are achieved without degradation in performance.
-
Citations
16 Claims
-
1. A computer system comprising:
-
a processor; a memory system including a cache; at least one bus coupled to the memory system and to the processor; and an optimization logic that predicts a probability of an event in a memory subsystem wherein the optimization logic enables a tag array if the probability of the event reaches a first predetermined level, enables a data cache if the probability of the event reaches a second predetermined level and only enables the data cache if the event actually occurs if the probability of the event has not reached the second predetermined level. - View Dependent Claims (2, 3)
-
-
4. A computer system comprising:
-
a processor; a memory system; at least one bus; means for tracking behavior of a memory subsystem; means for predicting the occurrence of an event in the memory subsystem based on the tracked behavior; and means for dynamically adjusting a mode of operation of the memory subsystem responsive to the predicting means wherein the means for dynamically adjusting enables a tag array if the probability of the event reaches a first predetermined level, enables a data cache if the probability of the event reaches a second predetermined level, and only enables the data cache if the event actually occurs if the probability of the event has not reached the second predetermined level.
-
-
5. A method of dynamically adjusting characteristics of a computer system having a processor coupled to a memory subsystem including a cache, comprising the steps of:
-
recording information of prior activity of the memory subsystem; predicting a probability of a cache hit on a next transaction with the cache; enabling a tag array if the probability of a cache hit reaches a predetermined level; enabling a data cache if the hit probability reaches a second predetermined level; and enabling the data cache only if a hit actually occurs if the hit probability has not reached the second predetermined level. - View Dependent Claims (6, 7, 8, 9)
-
-
10. In a computer system having a CPU coupled to a memory by a bus, an apparatus for optimizing characteristics of a memory subsystem comprising:
-
means for recording behavior of the subsystem; and means for dynamically enabling portions of the memory subsystem in response to the recorded behavior wherein a tag cache is enabled if the recorded behavior indicates a first probability of an event, a data cache is enabled if the recorded behavior indicates a second probability of the event and the data cache is only enabled if the event occurs if the recorded behavior does not indicate the second probability of the event. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification