Transaction Debug Control Mechanism for Processor Circuitry
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Debugging transactions in data processing systems can be problematic due to the probe effect introduced by inspecting the processor state during execution, which may cause transactions to abort, especially when using single stepping mechanisms.
Innovation Solution
Implementing a control mechanism that allows the processing circuitry to operate in a 'step over transaction mode' where debug events are suppressed until the transaction completes, and using syndrome information to determine exit points and resume execution from the first instruction of the transaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If single stepping mechanism is used to debug transactions, then debugging precision is improved, but transaction reliability deteriorates due to probe effects causing abortions
Solution Approach 1:
The patent segments the transaction execution into two distinct phases: a no-debug phase where the transaction executes without probe effects, and a debug phase where debugging occurs after the transaction has completed. This segmentation allows the system to achieve both high debugging precision and transaction reliability by preventing probe effects during critical transaction execution.
Solution Approach 2:
The patent applies preliminary action by completing the transaction execution before initiating any debugging activities. The system executes the transaction to completion first, then initiates debug events. This ensures that no probe effects are introduced during transaction execution, maintaining both reliability and debugging capability.
2Ease of operation
If debug events are initiated during transaction execution, then real-time debugging capability is improved, but transaction progress is hindered due to probe effects
Solution Approach 1:
The patent uses preliminary action by executing the transaction to completion before initiating any debug events. This ensures that the transaction makes forward progress without interruptions, while still allowing real-time debugging capability through the subsequent debug phase where the system can analyze the completed transaction state.
Solution Approach 2:
The patent applies the skipping principle by rapidly executing the transaction through its critical path without stopping for debug events during execution. The system skips the transaction execution phase to complete it quickly, then initiates debugging after completion, thus maintaining both productivity and debugging capability.
3Loss of information
If probe effects are introduced during transaction execution, then debugging information is obtained, but transaction abortion risk increases
Solution Approach 1:
The patent applies preliminary action by completing the transaction execution before obtaining any debugging information. The system executes the transaction to completion first, ensuring reliable transaction completion, and then obtains debugging information through debug events initiated after execution. This eliminates the risk of probe effects causing abortions while maintaining information availability.
Solution Approach 2:
The patent converts the harmful effect of probe effects into a beneficial approach by using the completion of transaction execution as a trigger for debug events. Instead of introducing probes during execution, the system uses the natural completion point to initiate debugging, transforming the execution completion signal into a beneficial debugging opportunity without harm.
Data Source
AI summary
An apparatus and method are provided for controlling debugging of program instructions executed on processing circuitry, where the program instructions include a transaction comprising a number of program instructions that execute to generate updates to state data, with the processing circuitry then committing the updates if the transaction completes without a conflict. In addition to the processing circuitry, the apparatus has control storage for storing stepping control data used to control operation of the processing circuitry. The processing circuitry is responsive to the stepping control data having a first value to operate in a single stepping mode, where the processing circuitry initiates a debug event following execution of each instruction. However, if the stepping control data has a second value, the processing circuitry instead is arranged to operate in a step over transaction mode, where the processing circuitry is arranged, when executing the number of program instructions within the transaction, to suppress initiation of the debug event until the transaction has completed. By enabling the processing circuitry to operate in the step over transaction mode, this can avoid probe effects being introduced by debug activity during the execution of the program instructions of a transaction.


