Uni-Directional Bus Profiling Circuit for Processor State Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing profiling methods either skew the performance of the target processor or require time-consuming modifications and memory sharing issues, making it difficult to accurately analyze performance bottlenecks and debug software.

Innovation Solution

A non-intrusive profiling approach using a uni-directional, point-to-point bus with a profile circuit arrangement and memory, allowing the target processor to execute instructions without shared memory, thereby capturing state data without impacting performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If profiling software executes on the target processor, then profiling data can be collected, but the performance of the target processor is skewed

Engineering Contradiction:
Improveprofiling data accuracyVSAvoidprocessor performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent introduces a co-processor as an intermediary device that collects profiling data from the target processor through a trace port via a unidirectional bus. This mediator approach allows profiling functionality to be separated from the target processor, enabling accurate data collection without impacting the original processor performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If profiling software executes on a co-processor, then target processor performance is preserved, but modifications to the target processor are required and memory sharing skews performance

Engineering Contradiction:
Improveprocessor performanceVSAvoidsystem modification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the profiling functionality completely from the target processor system by using a co-processor that connects via a trace port. The profiling software and its associated memory reside entirely on the co-processor, eliminating the need for target processor modifications and avoiding shared memory issues. This extraction approach preserves target processor performance while reducing system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If memory is shared between target processor and co-processor, then data can be accessed, but performance is skewed and analysis becomes difficult

Engineering Contradiction:
Improvedata accessibilityVSAvoidprocessor performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the memory resources by providing the co-processor with its own dedicated memory space. This segmentation eliminates shared memory between the target processor and co-processor, preventing performance skewing and simplifying data analysis. The co-processor can independently access its local memory without interfering with the target processor's memory operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7840781B1Circuit arrangement for profiling a programmable processor connected via a uni-directional bus
Publication Date: 2010.11.23 XILINX INC
  • US7840781B1 patent drawing
  • US7840781B1 patent drawing
  • US7840781B1 patent drawing

AI summary

Various approaches for profiling a target system are described. In one approach, a uni-directional, point-to-point bus has a single input port and a single output port. A target processor has a trace port coupled to the input port of the bus and is configured to execute a plurality of instructions one or more times. The target processor provides state data at the trace port and to the input port of the bus. A profile circuit arrangement is coupled to the output port of the first bus, and a memory is coupled to the profile circuit arrangement. The profile circuit arrangement is configured to read data from the output port of the first bus and write the data to the memory.