Transaction Debug Control Mechanism for Processor Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedebugging precisionVSAvoidtransaction reliability
Core Design Contradiction:
Measurement precisionVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvereal-time debugging capabilityVSAvoidtransaction progress
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Loss of information

If probe effects are introduced during transaction execution, then debugging information is obtained, but transaction abortion risk increases

Engineering Contradiction:
Improvedebugging information availabilityVSAvoidtransaction completion reliability
Core Design Contradiction:
Loss of informationVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS9990269B2Apparatus and method for controlling debugging of program instructions including a transaction
Publication Date: 2018.06.05 ARM LTD
  • US9990269B2 patent drawing
  • US9990269B2 patent drawing
  • US9990269B2 patent drawing

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.