Program Counter Trigger Filter for Speculative Output Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing apparatuses with sequential stages, power is wasted when a processing unit generates output values that are not required by downstream stages, leading to a trade-off between reducing power waste and minimizing false misses.
Innovation Solution
A filter circuit with storage circuitry performs lookups based on a chosen number of bits of the program counter value, asserting a trigger signal to speculatively generate output values, and resolution circuitry determines their use, updating a trigger sensitivity metric to adjust the number of bits for lookups, thereby optimizing power usage and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the processing unit generates output values in advance for downstream processing stages, then the productivity of the data processing apparatus is improved, but the use of energy increases due to wasted power when output values are not required
Solution Approach 1:
The filter circuit performs preliminary action by speculatively generating output values in advance based on program counter values and lookup table matches, before downstream stages actually need them. This allows the processing unit to be triggered early to produce values that may be needed, improving pipeline utilization and productivity while the validation mechanism prevents wasteful energy consumption by only committing to generation when likely needed.
Solution Approach 2:
The system implements feedback through the validation mechanism where downstream processing stages provide information back to the filter circuit about whether speculatively generated output values were actually needed. This feedback loop allows the system to learn from past predictions and adjust future speculative generation behavior, optimizing the balance between productivity improvement and energy waste prevention.
2Measurement precision
If the filter circuit uses a larger number of bits for lookup operations, then the measurement precision of program counter value matching is improved, but the device complexity increases
Solution Approach 1:
The filter circuit applies partial action by using only a chosen number of bits from the program counter value for lookup operations, rather than all available bits. This partial use of bits provides sufficient matching accuracy to distinguish relevant program counter values while avoiding the excessive complexity that would result from using the complete bit width, thus resolving the contradiction between precision and complexity.
Data Source
AI summary
There is provided a data processing apparatus and method. The data processing apparatus comprises a filter circuit comprising storage circuitry to store program counter values and to assert a trigger signal in response to a lookup operation using a current program counter value hitting in the storage circuitry. The processing apparatus comprises a processing unit to generate an output in response to the trigger signal. The processing apparatus is provided with resolution circuitry, associated with a downstream processing stage, to determine whether the output is of use, and in that event to assert a false miss indication in the absence of the processing unit having been triggered to produce the output. The filter circuit is configured to maintain a trigger sensitivity metric in dependence on the false miss indication, and the chosen number of bits employed when performing the lookup operation is dependent on the trigger sensitivity metric.


