Trace Unit Selecting Output Modes by Function Execution Length

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional trace interfaces for debugging and performance analysis in computer processing systems require high bandwidth and suffer from inaccuracy due to external time stamping and on-chip FIFO buffers, necessitating a more efficient method for generating compact function trace data.

Innovation Solution

A system comprising a CPU and a trace unit that selects output modes based on function execution length and trace buffer fill levels to generate compact function trace data, reducing bandwidth requirements and improving timestamp accuracy by limiting or eliminating trace data generation for short functions and when the buffer is full.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional trace interfaces are used to generate function trace data, then complete trace information is captured, but bandwidth requirement increases and cost increases

Engineering Contradiction:
Improvetrace information completenessVSAvoidbandwidth requirement
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential trace information by identifying and filtering leaf functions based on execution length thresholds. Instead of capturing all function calls, it selectively extracts trace data only for leaf functions that exceed the threshold, thereby reducing bandwidth requirements while maintaining the necessary debugging and performance analysis information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different trace recording qualities to different functions based on their execution characteristics. Short leaf functions below the threshold receive no trace data (minimal quality), while longer leaf functions exceed the threshold and receive full trace data (high quality). This local differentiation optimizes bandwidth usage by allocating trace resources only where necessary.

Inventive Principle:
Principle #3Local quality

2Reliability

If trace data is generated for all functions, then complete performance analysis is possible, but data volume increases and processing overhead increases

Engineering Contradiction:
Improveperformance analysis accuracyVSAvoiddata volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the performance-critical trace data by filtering functions based on execution length. It identifies leaf functions that contribute significantly to performance (those exceeding the threshold) and extracts trace data only for these functions, reducing data volume while maintaining reliability for performance analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by recording trace data for only a subset of functions (those exceeding the execution length threshold) rather than all functions. This partial recording is sufficient for performance analysis since short functions typically contribute minimally to overall execution time, thus reducing data volume while maintaining analysis reliability.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If external time stamping is used, then trace timing information is obtained, but timestamp accuracy decreases

Engineering Contradiction:
Improvetimestamp accuracyVSAvoidtrace interface complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism by integrating a timestamp counter directly within the trace unit logic. This intermediary counter is synchronized with the system clock and provides high-resolution timestamps at the point of trace data generation, eliminating the need for external time stamping and thereby improving timestamp accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If on-chip FIFO buffer is used for trace messages, then trace data is buffered, but timestamp inaccuracy increases

Engineering Contradiction:
Improvetrace data bufferingVSAvoidtimestamp accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent performs preliminary action by capturing the timestamp at the exact moment the trace event occurs, before the data is placed in the FIFO buffer. The timestamp counter is updated synchronously with the trace event generation, ensuring that the timestamp reflects the precise event time rather than a later buffer access time, thus maintaining timestamp accuracy while still providing buffering capability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8868982B2Compact function trace based on execution length of leaf functions
Publication Date: 2014.10.21 INFINEON TECHNOLOGIES AG
  • US8868982B2 patent drawing
  • US8868982B2 patent drawing
  • US8868982B2 patent drawing

AI summary

In accordance with one aspect of the invention, a system for generating compact function trace data for leaf functions includes a central processing unit (CPU), configured to output program flow information needed for generating a program flow trace, and a trace unit, coupled to the CPU. The trace unit is configured to receive the program flow information from the CPU for generating compact function trace data. The trace unit further comprises a first output mode and a second output mode and is further configured to select either the first output mode or the second output mode for generating compact function trace data.