Measuring data switching activity in a microprocessor
First Claim
1. A method, in a data processing system, for approximating data switching activity, the method comprising:
- identifying, by a data switching activity identification mechanism in the data processing system, a set of data storage devices and a set of bits in the set of data storage devices in the data processing system to be monitored for the data switching activity; and
during execution of software on the data processing system;
for each data storage device in the set of data storage devices;
capturing, by the data switching activity identification mechanism, a state of each bit in the set of bits at time t, wherein the state of each bit in the set of bits at time t is captured via a latch coupled to a device storing the bit;
capturing, by the data switching activity identification mechanism, a state of each bit in the set of bits at time t+1, wherein the state of each bit in the set of bits at time t+1 is captured by an XOR gate via a direct couple from the device storing the bit to an input of the XOR gate;
capturing, by the data switching activity identification mechanism, a count of all of the bits in the set of bits that have changed state from time t to time t+1, wherein the state for each bit that has changed from time t to time t+1 is captured via the XOR gate comparing the state of the bit at time t+1, via the direct couple from the device storing the bit to the input of the XOR gate, to the state of the bit at time t, via the latch that is coupled to the input of the XOR gate, wherein the state for each bit that has changed from time t to time t+1 is counted via a counter that is coupled to all of the outputs of the XOR gates for all of the bits in the set of bits, and wherein the count of all of the bits in the set of bits that have changed state from time t to time t+1 is captured by a count latch coupled to the counter; and
summing, by the data switching activity identification mechanism, the count of all of the bits in the set of bits that have changed state with any previously stored count of bits that have changed state for the data storage device to form a count of identified bits that have changed state, wherein the previously stored count of bits that have changed state is stored in an output latch and wherein the output latch is updated with count of identified bits that have changed state by an adder that sums the count of all the bits that have changed states with the previously stored count of bits that have changed state for the data storage device prior to updating the output latch;
summing, by the data switching activity identification mechanism, the count of the identified bits that have changed state for the data storage device along with other counts of the identified bits that have changed state for other data storage devices in the set of data storage devices to form an approximation of data switching activity; and
adjusting, by a power manager, a set of operational parameters associated with the data processing system using the approximation of data switching activity.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided for approximating data switching activity in a data processing system. A data switching activity identification mechanism in the data processing system receives an identification of a set of data storage devices and a set of bits in the set of data storage devices in the data processing system to be monitored for the data switching activity. The data switching activity identification mechanism sums a count of the identified bits that have changed state for the data storage device along with other counts of the identified bits that have changed state for other data storage devices in the set of data storage devices to form an approximation of data switching activity. A power manager in the data processing system then adjusts a set of operational parameters associated with the data processing system using the approximation of data switching activity.
-
Citations
20 Claims
-
1. A method, in a data processing system, for approximating data switching activity, the method comprising:
-
identifying, by a data switching activity identification mechanism in the data processing system, a set of data storage devices and a set of bits in the set of data storage devices in the data processing system to be monitored for the data switching activity; and during execution of software on the data processing system; for each data storage device in the set of data storage devices; capturing, by the data switching activity identification mechanism, a state of each bit in the set of bits at time t, wherein the state of each bit in the set of bits at time t is captured via a latch coupled to a device storing the bit; capturing, by the data switching activity identification mechanism, a state of each bit in the set of bits at time t+1, wherein the state of each bit in the set of bits at time t+1 is captured by an XOR gate via a direct couple from the device storing the bit to an input of the XOR gate; capturing, by the data switching activity identification mechanism, a count of all of the bits in the set of bits that have changed state from time t to time t+1, wherein the state for each bit that has changed from time t to time t+1 is captured via the XOR gate comparing the state of the bit at time t+1, via the direct couple from the device storing the bit to the input of the XOR gate, to the state of the bit at time t, via the latch that is coupled to the input of the XOR gate, wherein the state for each bit that has changed from time t to time t+1 is counted via a counter that is coupled to all of the outputs of the XOR gates for all of the bits in the set of bits, and wherein the count of all of the bits in the set of bits that have changed state from time t to time t+1 is captured by a count latch coupled to the counter; and summing, by the data switching activity identification mechanism, the count of all of the bits in the set of bits that have changed state with any previously stored count of bits that have changed state for the data storage device to form a count of identified bits that have changed state, wherein the previously stored count of bits that have changed state is stored in an output latch and wherein the output latch is updated with count of identified bits that have changed state by an adder that sums the count of all the bits that have changed states with the previously stored count of bits that have changed state for the data storage device prior to updating the output latch; summing, by the data switching activity identification mechanism, the count of the identified bits that have changed state for the data storage device along with other counts of the identified bits that have changed state for other data storage devices in the set of data storage devices to form an approximation of data switching activity; and adjusting, by a power manager, a set of operational parameters associated with the data processing system using the approximation of data switching activity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
identify a set of data storage devices and a set of bits in the set of data storage devices in the data processing system to be monitored for the data switching activity; and during execution of software on the data processing system; for each data storage device in the set of data storage devices; capture a state of each bit in the set of bits at time t, wherein the state of each bit in the set of bits at time t is captured via a latch coupled to a device storing the bit; capture a state of each bit in the set of bits at time t+1, wherein the state of each bit in the set of bits at time t+1 is captured by an XOR gate via a direct couple from the device storing the bit to an input of the XOR gate; capture a count of all of the bits in the set of bits that have changed state from time t to time t+1, wherein the state for each bit that has changed from time t to time t+1 is captured via the XOR gate comparing the state of the bit at time t+1, via the direct couple from the device storing the bit to the input of the XOR gate, to the state of the bit at time t, via the latch that is coupled to the input of the XOR gate, wherein the state for each bit that has changed from time t to time t+1 is counted via a counter that is coupled to all of the outputs of the XOR gates for all of the bits in the set of bits, and wherein the count of all of the bits in the set of bits that have changed state from time t to time t+1 is captured by a count latch coupled to the counter; and sum the count of all of the bits in the set of bits that have changed state with any previously stored count of bits that have changed state for the data storage device to form a count of identified bits that have changed state, wherein the previously stored count of bits that have changed state is stored in an output latch and wherein the output latch is updated with count of identified bits that have changed state by an adder that sums the count of all the bits that have changed states with the previously stored count of bits that have changed state for the data storage device prior to updating the output latch; sum the count of the identified bits that have changed state for the data storage device along with other counts of the identified bits that have changed state for other data storage devices in the set of data storage devices to form an approximation of data switching activity; and adjust a set of operational parameters associated with the data processing system using the approximation of data switching activity. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to; identify a set of data storage devices and a set of bits in the set of data storage devices in the data processing system to be monitored for the data switching activity; and during execution of software on the data processing system; for each data storage device in the set of data storage devices; capture a state of each bit in the set of bits at time t, wherein the state of each bit in the set of bits at time t is captured via a latch coupled to a device storing the bit; and capture a state of each bit in the set of bits at time t+1, wherein the state of each bit in the set of bits at time t+1 is captured by an XOR gate via a direct couple from the device storing the bit to an input of the XOR gate; capture a count of all of the bits in the set of bits that have changed state from time t to time t+1, wherein the state for each bit that has changed from time t to time t+1 is captured via the XOR gate comparing the state of the bit at time t+1, via the direct couple from the device storing the bit to the input of the XOR gate, to the state of the bit at time t, via the latch that is coupled to the input of the XOR gate, wherein the state for each bit that has changed from time t to time t+1 is counted via a counter that is coupled to all of the outputs of the XOR gates for all of the bits in the set of bits, and wherein the count of all of the bits in the set of bits that have changed state from time t to time t+1 is captured by a count latch coupled to the counter; and sum the count of all of the bits in the set of bits that have changed state with any previously stored count of bits that have changed state for the data storage device to form a count of identified bits that have changed state, wherein the previously stored count of bits that have changed state is stored in an output latch and wherein the output latch is updated with count of identified bits that have changed state by an adder that sums the count of all the bits that have changed states with the previously stored count of bits that have changed state for the data storage device prior to updating the output latch; sum the count of the identified bits that have changed state for the data storage device along with other counts of the identified bits that have changed state for other data storage devices in the set of data storage devices to form an approximation of data switching activity; and adjust a set of operational parameters associated with the data processing system using the approximation of data switching activity. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification