Processor Debug State via Forced Halt and Scoreboard Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processors often fail to enter a debug state when encountering hung transactions, preventing users from viewing internal states and troubleshooting the cause of the hang, as they continue to wait for completion of outstanding transactions without receiving appropriate acknowledgments.

Innovation Solution

Incorporating forced halt functionality, which allows the processor to abort pending transactions and enter a debug state via a dedicated I/O pin or register, and enhanced scoreboard logic to log processor states for each instruction, enabling users to view and analyze the circumstances of hung transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor waits for completion of all pending transactions before entering debug state, then transaction completion reliability is improved, but debug accessibility deteriorates when transactions are hung

Engineering Contradiction:
Improvetransaction completion reliabilityVSAvoiddebug accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary action by logging the machine state and program counter at the time of instruction dispatch before the transaction completes. This allows the processor to enter debug state immediately without waiting for transaction completion, while still preserving the necessary diagnostic information about the hung transaction's state when it was dispatched.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention introduces an intermediary mechanism (the scoreboard logic with machine state logging) that mediates between the need for transaction completion reliability and the need for immediate debug accessibility. The logged machine state acts as a proxy that allows debugging without requiring the actual transaction to be complete.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the processor continues waiting for hung transactions, then transaction processing completeness is improved, but troubleshooting capability deteriorates

Engineering Contradiction:
Improvetransaction processing completenessVSAvoidtroubleshooting capability
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary action by capturing and logging the machine state and program counter at dispatch time before the hung transaction completes. This preliminary logging enables troubleshooting capability to be maintained even though the transaction processing remains incomplete, as the logged state provides the necessary diagnostic information.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a copy of the machine state and program counter information at the time of dispatch. This copy is preserved in the scoreboard logic and remains available for troubleshooting even though the original transaction is hung and incomplete, allowing analysis without requiring transaction completion.

Inventive Principle:
Principle #26Copying

3Ease of operation

If the processor enters debug state immediately upon external debug event, then debug accessibility is improved, but transaction state information availability deteriorates

Engineering Contradiction:
Improvedebug accessibilityVSAvoidtransaction state information availability
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system performs preliminary action by logging the machine state and program counter at the time of instruction dispatch before entering debug state. This allows the processor to enter debug state immediately upon external debug event while still preserving transaction state information in the logged machine state and program counter records.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The logged machine state and program counter act as intermediary information that bridges the gap between immediate debug accessibility and transaction state information availability. These intermediaries preserve the necessary diagnostic information about the transaction state without requiring the transaction to be complete or the processor to wait for its completion.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9424165B2Debugging processor hang situations using an external pin
Publication Date: 2016.08.23 MACOM CONNECTIVITY SOLUTIONS LLC
  • US9424165B2 patent drawing
  • US9424165B2 patent drawing
  • US9424165B2 patent drawing

AI summary

Various aspects provide forced halt functionality for a processor to facilitate troubleshooting of processor hang situations. In the event that the processor initiates a transaction that does not receive a completion acknowledgement, a forced halt sequence can be initiated, which causes the processor to abort all pending transactions and transition to a debug state so that the internal state of the processor can be viewed. In addition, the processor can maintain a record of the processor state at the time that the hung transaction was dispatched, which can be viewed during debug mode to facilitate determining a cause of the hung transaction.