Tracing Hardware Function Call Counter Indirect Branch Inference
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information processing systems face significant data transfer overhead when tracing program flows, which necessitates high-speed storage and data transport infrastructure.
Innovation Solution
The implementation of tracing hardware that records executed instructions, generates packets based on these instructions, and uses a decoder with function call counters to infer indirect branch addresses, thereby reducing data transfer overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If tracing hardware records all executed instructions including indirect branch addresses, then program flow visibility is improved, but data transfer overhead increases
Solution Approach 1:
The patent extracts only the essential information needed for program flow tracing by using function call counters to track nested call depth, rather than transferring complete indirect branch addresses for every instruction. This selective extraction reduces data transfer overhead while maintaining visibility into program flow control changes.
Solution Approach 2:
Instead of transferring actual indirect branch addresses, the patent uses a simplified counter-based representation that copies only the necessary control flow information. The function call counter creates a compact representation of program flow state that can be reconstructed at the decoder without requiring high-bandwidth data transfer.
2Quantity of substance
If function call counters are used to infer indirect branch addresses, then data transfer overhead is reduced, but decoder complexity increases
Solution Approach 1:
The function call counter is incremented and decremented in advance during instruction execution to track nested function call depth. This preliminary action at the tracer prepares the counter state so that the decoder can infer indirect branch addresses without complex analysis, reducing decoder complexity while maintaining data transfer reduction.
3Measurement precision
If nested function calls are tracked using counters, then indirect branch address inference is improved, but counter management complexity increases
Solution Approach 1:
The function call counter uses feedback mechanisms where the tracer monitors function call instructions and updates the counter state accordingly. This feedback loop ensures accurate tracking of nested call depth, enabling precise indirect branch address inference while keeping counter management systematic and manageable through well-defined increment/decrement operations.
Data Source
AI summary
Aspects of the disclosure are directed to reduction of data transfer overhead. In accordance with one aspect, increment a function call counter for an executed function call; decrement the function call counter for an executed return from function call; infer the indirect branch address based on a function call counter value and when a cumulative count of received executed atoms indicates a return from function call has been executed; oversaturate the function call counter at a maximum counter value if the function call counter contains the maximum counter value and a subsequent function call is executed; and undersaturate the function call counter at a minimum counter value if the function call counter contains the minimum counter value and a subsequent return from function call is executed.


