Debugger Metadata Access Without Per-Operation Interrogation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging a program on processing circuitry is inefficient due to the need for the debugger to interrogate the processing circuitry after each metadata access operation to determine the number of metadata items accessed, impacting performance.

Innovation Solution

A method for the debugger to issue commands that cause multiple metadata access operations without interrogating the processing circuitry between each instance, using constraining information to ensure all specified metadata items are accessed efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the debugger interrogates the processing circuitry after each metadata access operation to determine the number of metadata items accessed, then the debugger can accurately track progress, but debugging performance is significantly impacted

Engineering Contradiction:
Improveaccuracy of tracking metadata access progressVSAvoiddebugging performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

An intermediary component (counter or status register) is introduced between the processing circuitry and the debugger. This intermediary automatically tracks the number of metadata items accessed during each metadata access operation and makes this information available to the debugger without requiring direct interrogation of the processing circuitry. The intermediary handles the counting function, allowing the debugger to obtain accurate progress information through simple register reads rather than complex interrogation sequences.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the debugger issues multiple metadata access operations without interrogation, then debugging performance improves, but there is risk of accessing metadata items outside the specified range

Engineering Contradiction:
Improvedebugging performanceVSAvoidaccuracy of accessing specified number of metadata items
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A feedback mechanism is implemented where the processing circuitry automatically updates a counter or status register after each metadata access operation, indicating how many metadata items were accessed. The debugger reads this feedback information to determine progress and decides whether to issue further metadata access operations. This feedback loop ensures that the debugger can issue multiple operations efficiently while maintaining accurate knowledge of how many metadata items have been accessed, preventing both under-accessing and over-accessing of the specified range.

Inventive Principle:
Principle #23Feedback

3Device complexity

If the debugger issues a single metadata access operation, then the operation is simple to execute, but multiple iterations are required to access the total number of metadata items

Engineering Contradiction:
Improvesimplicity of metadata access operationVSAvoidtime to access all metadata items
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The debugger performs preliminary calculation to determine the total number of metadata access operations needed based on the specified range. Instead of issuing one metadata access operation at a time with interrogation in between, the debugger pre-calculates and issues multiple metadata access operations in sequence, using the automatically updated counter feedback to know when to stop. This preliminary planning allows the system to maintain the simplicity of individual metadata access operations while significantly reducing the total time required to access all metadata items in the specified range.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3759605B1A method of accessing metadata when debugging a program to be executed on processing circuitry
Publication Date: 2025.08.13 ARM LTD
  • EP3759605B1 patent drawingFigure 1
  • EP3759605B1 patent drawingFigure 2
  • EP3759605B1 patent drawingFigure 3

AI summary

A technique is provided for accessing metadata when debugging a program to be executed on processing circuitry. The processing circuitry operates on data formed of data granules having associated metadata items. A method of operating a debugger is provided that comprises controlling the performance of metadata access operations when the debugger decides to access a specified number of metadata items. In particular, the specified number is such that the metadata access operation needs to be performed by the processing circuitry multiple times in order to access the specified number of metadata items. Upon deciding to access a specified number of metadata items, the debugger issues at least one command to cause the processing circuitry to perform a plurality of instances of the metadata access operation in order to access at least a subset of the specified number of metadata items. The number of metadata items accessed by each instance of the metadata access operation is non-deterministic by the debugger from the metadata access operation. However, the at least one command is such that the plurality of instances of the metadata access operation are performed by the processing circuitry without the debugger interrogating the processing circuitry between each instance of the metadata access operation to determine progress in the number of metadata items accessed. Such an approach can significantly improve the efficiency of performing such accesses to metadata items under debugger control.