Trace Generating Circuitry Pending Exception Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tracing techniques in data processing apparatuses struggle to accurately diagnose the original cause of exceptions, especially in cascades of exceptions, as they typically record the state at the time of handling rather than when the exception was initially raised, making it difficult to trace the sequence of events leading to the fault.

Innovation Solution

Incorporating trace generating circuitry that detects pending exceptions and includes an indication of these in trace data packets, allowing developers to review the operating state at the time of exception occurrence, reducing the need for continuous scanning and optimizing trace protocol bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If trace data packets are generated only when exceptions are taken for handling, then trace protocol bandwidth is optimized, but the ability to diagnose the original cause of exceptions is degraded

Engineering Contradiction:
Improvetrace protocol bandwidthVSAvoidexception diagnostic information
Core Design Contradiction:
Loss of energyVSLoss of information

Solution Approach 1:

The patent applies preliminary action by capturing and recording the exception state at the moment the exception is raised, before the exception is selected for handling. The trace generating circuitry detects pending exceptions and records their state in advance, so that when the exception is eventually handled, the original state information is already preserved in the trace data packet. This resolves the contradiction by ensuring diagnostic information is captured early without requiring continuous bandwidth usage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a pending exception indicator - that bridges the gap between exception raising and exception handling. This indicator is inserted into trace data packets to convey information about pending exceptions without requiring continuous trace bandwidth. The intermediary allows the system to maintain optimized bandwidth usage while still preserving essential diagnostic information about the original exception state.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If continuous scanning for pending exceptions is performed, then complete exception information is captured, but processing overhead increases

Engineering Contradiction:
Improveexception information completenessVSAvoidprocessing throughput
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent applies periodic action by checking for pending exceptions only at specific intervals - namely, at the moment when an exception is selected for handling. Rather than continuously scanning for pending exceptions, the trace generating circuitry performs the check periodically when exception handling events occur. This resolves the contradiction by maintaining information completeness at critical moments while avoiding the processing overhead of continuous scanning.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies self-service by having the exception handling mechanism itself trigger the pending exception check. When an exception is selected for handling, the system automatically checks for pending exceptions and records them. This eliminates the need for a separate continuous scanning process, as the exception handling routine serves dual purposes: handling the current exception and capturing information about pending exceptions, thereby maintaining productivity while ensuring information completeness.

Inventive Principle:
Principle #25Self-service

3Device complexity

If trace data records the state at exception handling time, then trace generation is simple, but diagnosing the original cause of exceptions becomes difficult

Engineering Contradiction:
Improvetrace generation complexityVSAvoidexception cause identification accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies preliminary action by capturing the exception state at the moment of exception raising, before any handling occurs. The trace generating circuitry records the program counter, exception type, and other relevant state information immediately when an exception is raised, preserving the original context. This resolves the contradiction by ensuring high measurement precision for exception cause identification while keeping the trace generation process relatively simple through automated capture at the critical moment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary field in the trace data packet that carries information about the exception state at raising time. This intermediary structure allows the trace system to maintain simplicity in generation while providing precise diagnostic information. The added field acts as a bridge between the simple trace generation mechanism and the need for accurate exception cause identification, resolving the contradiction without significantly increasing overall system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9606850B2Apparatus and method for tracing exceptions
Publication Date: 2017.03.28 ARM LTD
  • US9606850B2 patent drawing
  • US9606850B2 patent drawing
  • US9606850B2 patent drawing

AI summary

A data processing apparatus comprises processing circuitry for executing a stream of instructions, and exception handling circuitry for selecting, from one or more exceptions, an exception to be handled by the processing circuitry. The unselected exceptions are referred to as pending exceptions. The data processing apparatus further comprises trace generating circuitry that generates trace data packets in dependence on activity of the processing circuitry. The trace generating circuitry detects pending exceptions and, if an exception is detected to be pending, includes an indication of the pending exception in at least one trace data packet. By tracking when a particular exception is pended, rather than when it is selected for handling by the processing circuitry, it is possible to more precisely determine when the exception occurred, as opposed to when it is finally handled.