Indexed Trace Messages for Debug Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing debugging technologies face challenges in efficiently communicating instruction flow history information between a data processor and an external debugger, particularly with indirect branch instructions, due to the need for large amounts of data that increase bandwidth requirements.

Innovation Solution

The implementation of indexed trace messages, where the destination address information is transmitted without valid IFFB flags, and instead includes an index identifying a specific flag location in the IFFB, allowing the external debugger to correlate the address information with the corresponding branch instruction, and the use of trace history messages to transmit full IFFB content when filled, reducing the amount of data needed for transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full IFFB flags are transmitted with each trace message to identify branch instructions, then the external debugger can accurately correlate destination addresses with branch instructions, but the bandwidth required for debug information transmission increases significantly

Engineering Contradiction:
Improvedebugging accuracyVSAvoiddata transmission volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential identifying information (index value) from the full IFFB flags and transmits it separately in trace history messages. The destination address messages contain compact references (indexes) that point to the actual flag information stored in the IFFB, thereby reducing the data transmission volume while maintaining debugging accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent pre-transmits the IFFB flag information in trace history messages before or independently of the destination address messages. This preliminary action allows the external debugger to have the reference information ready, so that when destination addresses are transmitted later, they can be quickly correlated with the pre-loaded flag data without requiring simultaneous transmission of all information.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If indexed trace messages are used to reduce data transmission, then bandwidth requirements are reduced, but the device complexity increases due to the need to manage IFFB flags and indexes

Engineering Contradiction:
Improvedata transmission volumeVSAvoiddebug module complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The debug module automatically generates and manages the IFFB flags and their corresponding indexes without requiring manual intervention. The system self-maintains the mapping between destination addresses and branch instruction identifiers, and automatically transmits this information in the appropriate message formats, reducing the operational complexity despite the increased structural complexity.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If trace history messages are used to transmit full IFFB content when filled, then bandwidth is reduced for individual trace messages, but the loss of time increases due to buffer management overhead

Engineering Contradiction:
Improvedata transmission volumeVSAvoidbuffer management time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements periodic transmission of IFFB content based on buffer fullness conditions. Instead of continuous transmission, the system transmits batched IFFB data periodically when the buffer reaches certain thresholds, and transmits destination address messages as events occur. This periodic batching reduces overall transmission volume while the event-driven nature minimizes waiting time for critical address information.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9626280B2Debug method and device for handling exceptions and interrupts
Publication Date: 2017.04.18 NEX-X SILICON LLC
  • US9626280B2 patent drawing
  • US9626280B2 patent drawing
  • US9626280B2 patent drawing

AI summary

A method and information processing system provide trace compression for trace messages. In response to a branch of a conditional branch instruction having not been taken or having been taken, a flag of a history buffer is set or cleared. A trace address message is generated in response to a conditional indirect branch instruction being taken, wherein the trace address message includes address information indicating the destination address of the taken branch, and an index value indicating a corresponding flag of the history buffer. In response to a return from interrupt or return from exception instruction, a predicted return address is compared to an actual return address. A trace address message is generated in response to the predicted and actual return addresses not matching. A trace address message is not generated in response to the predicted and actual return addresses matching.