System on Chip Bus Traffic Profiling via Interrupt Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Highly integrated system on a chip (SoC) devices face performance bottlenecks due to congested system buses, which are not efficiently monitored by traditional performance profiling tools that focus on CPU and memory subsystems, making it difficult to optimize SoC system bus performance.

Innovation Solution

A method and system for profiling system bus traffic in SoCs, involving a performance monitoring unit that captures processor events, generates interrupts based on thresholds, collects instruction information, and transfers data to a host for analysis, allowing for the creation of a performance profile by associating device elements with processor events and displaying actual system bus performance compared to a model profile.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional performance profiling tools are used, then CPU and memory subsystem performance can be monitored, but system bus performance cannot be effectively monitored

Engineering Contradiction:
Improvesystem bus performance monitoring capabilityVSAvoidprofiling tool applicability to SoC system bus
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces a performance monitoring unit as an intermediary component that specifically monitors system bus traffic. This unit captures processor events, generates interrupts based on thresholds, and transfers data to a host for analysis, enabling effective system bus performance monitoring that traditional tools cannot provide.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The monitoring system is segmented into distinct functional components: a performance monitoring unit for capturing events, an interrupt service routine for processing interrupts, an instruction analyzer for determining memory addresses, and a sample collector for gathering data. This segmentation allows each component to specialize in specific monitoring tasks, making the overall system adaptable to SoC bus monitoring.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the amount of information transferred between integrated device elements increases, then device functionality is enhanced, but system bus congestion increases and performance degrades

Engineering Contradiction:
Improveinformation transfer volume between device elementsVSAvoidsystem bus congestion
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system implements feedback by continuously monitoring system bus traffic through the performance monitoring unit, comparing actual traffic against model profiles, and identifying bottlenecks. This feedback loop enables dynamic analysis of bus congestion patterns and supports optimization efforts to maintain high information transfer rates while managing congestion.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The performance monitoring unit captures processor events and generates interrupts based on threshold conditions, monitoring only the necessary portion of bus traffic that indicates performance issues. This partial monitoring approach provides sufficient information to identify bottlenecks without requiring complete analysis of all bus transactions, thus avoiding additional congestion.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If a comprehensive system bus performance profiler is implemented, then system bus performance bottlenecks can be identified, but device complexity increases

Engineering Contradiction:
Improvesystem bus performance bottleneck identificationVSAvoidprofiling system structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The performance monitoring unit serves multiple functions: capturing processor events, generating interrupts based on thresholds, and transferring data to the host. This multi-functionality reduces the need for separate specialized components, thereby limiting the increase in device complexity while maintaining comprehensive monitoring capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Measurement precision

If performance monitoring is implemented on the system bus, then performance bottlenecks can be identified, but the system bus becomes less efficient due to monitoring overhead

Engineering Contradiction:
Improveperformance bottleneck detection accuracyVSAvoidsystem bus efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The monitoring system uses partial action by capturing only specific processor events that indicate performance issues and generating interrupts based on threshold conditions. This selective monitoring approach provides accurate bottleneck detection while minimizing the overhead on system bus efficiency, as not all bus transactions require monitoring intervention.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9619358B1Bus traffic profiling
Publication Date: 2017.04.11 MARVELL ASIA PTE LTD
  • US9619358B1 patent drawing
  • US9619358B1 patent drawing
  • US9619358B1 patent drawing

AI summary

Methods and systems for analyzing bus traffic in a target device, such as a system on-a-chip (SOC) comprises capturing a processor event and generating an interrupt based on a threshold associated with the processor event. Based on at least the interrupt, a instruction pointer associated with the processor event that generated the interrupt is identified. An instruction analyzer identifies a memory address of the instruction associated with the processor event that generated the interrupt. At least the processor event and a associated instruction information are collected by a sample collector and transferred to a host for performance profiling.