Trace Logic Branch Packet Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging processes for software applications are inefficient in transferring branch information from target hardware to host computers, leading to unsynchronized and incomplete data streams during debugging and testing.

Innovation Solution

A system and method that utilize a trace logic to generate branch packets with branch bits, where invalid bits are flushed with a common bit inverse of a valid bit, ensuring efficient transfer and synchronization of branch information by inserting branch packets into data streams before sync points, and adjusting sync points with branch packet bits for accurate decoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If branch information is transferred from target hardware to host computer during debugging, then debugging capability is enabled, but data streams become unsynchronized and incomplete

Engineering Contradiction:
Improvedata stream synchronizationVSAvoiddebugging efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by inserting branch packets into data streams before sync points are reached. The trace logic monitors the data stream and proactively inserts branch packets containing branch information ahead of time, allowing the host computer to pre-process this information and maintain synchronization without waiting for sync points to occur naturally.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a trace logic component that acts as a mediator between the target hardware and host computer. This trace logic captures branch information, packages it into branch packets, and inserts these packets into the data stream at appropriate locations, facilitating reliable information transfer while maintaining stream synchronization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If branch packets are inserted into data streams before sync points, then data completeness is improved, but data stream complexity increases

Engineering Contradiction:
Improvebranch information completenessVSAvoiddata stream structure
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies local quality by making branch packets self-describing with embedded metadata that identifies their position and validity. Each branch packet contains information about its location in the instruction stream and validity flags, allowing the host computer to process only relevant packets without increasing overall system complexity. This localized information encoding maintains data completeness while managing stream complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments branch information into discrete branch packets that are independently processable units. Each packet contains specific branch information and validity markers, allowing the host computer to handle complete packets atomically. This segmentation prevents information loss while keeping individual packet structures manageable and the overall data stream organized.

Inventive Principle:
Principle #1Segmentation

3Reliability

If invalid branch bits are flushed with common bits, then data integrity is maintained, but information transfer efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidinformation transfer time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses parameter changes by encoding invalid branch bits with a specific common bit value (typically all 1s or all 0s) that distinguishes them from valid branch information. This parameter encoding allows the host computer to quickly identify and discard invalid bits using simple comparison operations, maintaining data integrity while minimizing processing time compared to more complex validation methods.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7574586B2Efficient transfer of branch information
Publication Date: 2009.08.11 TEXAS INSTRUMENTS INC
  • US7574586B2 patent drawing
  • US7574586B2 patent drawing
  • US7574586B2 patent drawing

AI summary

A system comprising a processor adapted to execute software code comprising branch instructions and a trace logic coupled to the processor and adapted to generate a branch packet comprising branch bits. At least some of the branch bits are associated with branch instructions executed by the processor. The trace logic flushes invalid branch bits in the branch packet with a common bit, the common bit an inverse of a valid branch bit. The trace logic outputs the branch packet with an indicator comprising the valid branch bit.