Trace Data Synchronization Using Global Clock Timestamps
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In systems with multiple functional units, synchronizing trace data from different blocks running at varying clock frequencies is challenging, especially when clock frequencies change dynamically, and some blocks may be unaware of their own clock frequency, making it difficult to time-correlate trace streams effectively.
Innovation Solution
Each functional unit generates a trace stream with synchronization information, including timestamps relative to a global clock and local clock saturation values, and a 'resume-from-halt' field to account for frequency changes, allowing for time-correlation during post-processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If timestamps are added to trace streams for synchronization, then time-correlation accuracy is improved, but data size and processing complexity increase
Solution Approach 1:
The timestamp is segmented into two components: a global timestamp for coarse time synchronization and a local timestamp for fine-grained time correlation within each functional unit. This segmentation allows accurate time-correlation while reducing the complexity of processing, as each component can be handled independently during post-processing.
Solution Approach 2:
A global clock signal acts as an intermediary between the local clocks of different functional units. The global clock provides a common reference for synchronization, enabling time-correlation of trace streams from multiple functional units without requiring direct coordination between each unit's local clock.
2Measurement precision
If local clock saturation values are included in trace entries, then frequency change accuracy is improved, but trace data size increases
Solution Approach 1:
Instead of recording the complete clock frequency or continuous timing information, only the local clock saturation value (a partial representation) is included in trace entries. This partial action provides sufficient information to detect and correlate frequency changes while minimizing the increase in trace data size.
3Reliability
If resume-from-halt fields are added to track frequency changes, then synchronization reliability is improved, but device complexity increases
Solution Approach 1:
Each functional unit autonomously generates and manages its own resume-from-halt counter and synchronization state without external intervention. The functional units self-synchronize by comparing their local timestamps with the global clock, eliminating the need for complex centralized coordination mechanisms.
Data Source
AI summary
An apparatus, processor, and method for synchronizing trace data. A processor includes multiple cores, and each core operates at a different local clock frequency. A global clock is distributed to each core, and a timestamp is generated using the global clock and the local clock. The timestamp and a local clock saturation value are included in each trace entry, and the local clock saturation value is equal to the ratio between the local clock and the global clock. The trace entries from separate cores are time-correlated in a post-processing phase based on the timestamp and local clock saturation values.


