Non-intrusive Hardware Profiling via Event Register Notifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuit devices often lack native profiling capabilities, making it difficult to trace the execution engine operations, particularly for DMA engines, which limits visibility into their performance and debugging.

Innovation Solution

Implementing a notification mechanism that writes values to an event register associated with the execution engine's instruction queue, generating timestamps and metadata at the beginning and end of each operation to create a timeline of operations, enabling nonintrusive hardware profiling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If hardware modules are manufactured without profiling capabilities, then manufacturing cost and simplicity are improved, but visibility into device operations and debugging capability deteriorate

Engineering Contradiction:
Improvemanufacturing simplicityVSAvoidvisibility into device operations
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent introduces an intermediary notification mechanism that sits between the execution engine and the profiling system. This mechanism generates notifications about execution engine operations without requiring intrusive profiling hardware, thereby maintaining manufacturing simplicity while providing operational visibility through software-based event capture and timeline reconstruction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If dedicated profiling logic is embedded in hardware modules, then profiling capability and operational visibility are improved, but device complexity increases

Engineering Contradiction:
Improveprofiling capabilityVSAvoidhardware complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts the profiling functionality from the hardware execution engine and relocates it to a separate notification mechanism and timeline reconstruction system. This separation allows the execution engine to remain simple while profiling capabilities are implemented through external notification generation and software-based timeline analysis, reducing overall device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If intrusive profiling methods are used, then measurement precision and debugging information are improved, but device performance and operation stability deteriorate

Engineering Contradiction:
Improveoperation timing accuracyVSAvoiddevice operation stability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The execution engine serves itself by generating notifications about its own operations through the notification mechanism. This self-service approach allows the system to collect precise timing information and operational data without external intrusion, maintaining both measurement precision and operational stability since the execution engine continues to operate autonomously.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11119787B1Non-intrusive hardware profiling
Publication Date: 2021.09.14 AMAZON TECH INC
  • US11119787B1 patent drawing
  • US11119787B1 patent drawing
  • US11119787B1 patent drawing

AI summary

Systems and methods for non-intrusive hardware profiling are provided. In some cases integrated circuit devices can be manufactured without native support for performance measurement and/or debugging capabilities, thereby limiting visibility into the integrated circuit device. Understanding the timing of operations can help to determine whether the hardware of the device is operating correctly and, when the device is not operating correctly, provide information that can be used to debug the device. In order to measure execution time of various tasks performed by the integrated circuit device, program instructions may be inserted to generate notifications that provide tracing information, including timestamps, for operations executed by the integrated circuit device.