Multi-Core Processor Synchronization for Debug State Dumping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging dual-core processors is challenging due to uncoordinated tracer stops and restarts, leading to non-correlated state checkpoints and difficulty in reproducing core interaction-related bugs.
Innovation Solution
A dual-core processor design where one core interrupts the other to synchronize state dumping and restarting, ensuring both cores dump their states and resume execution simultaneously through an inter-core communication bus.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If each core independently performs tracer stops and restarts, then the debugging process can be simplified and parallelized, but the state checkpoints generated by different cores do not correlate in time and core interaction bugs cannot be reproduced
Solution Approach 1:
The patent merges the independent tracer operations of multiple cores by introducing a synchronization mechanism. The tracer on each core waits for a global sync signal before dumping state, and all cores resume execution simultaneously upon receiving the same resume signal. This combining approach ensures that state checkpoints from different cores correspond to the same logical point in time, enabling reliable reproduction of core interaction bugs while maintaining parallel debugging capability.
2Reliability
If tracer dumps processor state at regular intervals, then debugging coverage is improved, but the memory footprint increases and the process is less efficient
Solution Approach 1:
The patent implements preliminary action by having the tracer save state checkpoints at specific synchronization points rather than continuously. The system prepares checkpoint data in advance and only writes to memory when a sync event occurs, reducing unnecessary memory writes and lowering memory footprint while maintaining adequate debugging coverage at critical moments in the execution timeline.
3Productivity
If cores execute independently without coordination, then execution speed is maintained, but bugs related to core interactions cannot be detected
Solution Approach 1:
The patent introduces feedback mechanisms where each core's tracer sends signals to a synchronization controller, which in turn sends resume signals back to all cores. This feedback loop enables coordinated resumption of execution across all cores, ensuring that they restart from the same program counter values and maintain synchronized state for accurate bug detection in core interactions, while preserving high execution speed through efficient synchronization.
Data Source
AI summary
A multi-core microprocessor includes first and second processing cores and a bus coupling the first and second processing cores. The bus conveys messages between the first and second processing cores. The cores are configured such that: the first core stops executing user instructions and interrupts the second core via the bus, in response to detecting a predetermined event; the second core stops executing user instructions, in response to being interrupted by the first core; each core outputs its state after it stops executing user instructions; and each core waits to begin fetching and executing user instructions until it receives a notification from the other core via the bus that the other core is ready to begin fetching and executing user instructions. In one embodiment, the predetermined event comprises detecting that the first core has retired a predetermined number of instructions. In one embodiment, microcode waits for the notification.


