Trace Generation Circuitry for Predicated Vector Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face inefficiencies in generating trace streams for predicated vector memory access instructions, as they require complex formatting of trace elements to account for varying data values and predication, leading to increased trace bandwidth usage and analysis complexity.

Innovation Solution

The implementation of an apparatus with trace generation circuitry that produces a data trace stream with fixed-sized address trace elements and separate predicate trace elements to identify omitted lanes, independent of data value size, allowing for efficient tracing of predicated vector memory access instructions by maintaining a consistent format for address trace elements and capturing predicate information separately.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If variable-sized trace elements are used to match data value sizes, then trace information accuracy is improved, but trace bandwidth usage increases and analysis complexity increases

Engineering Contradiction:
Improvetrace information accuracyVSAvoidtrace bandwidth usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the trace information into two distinct parts: fixed-sized address trace elements that provide consistent formatting, and separate predicate trace elements that capture the variable predication information. This segmentation allows the address portion to maintain a uniform size for efficient bandwidth usage, while the predicate portion separately carries the variable lane omission information, thus resolving the contradiction between accuracy and bandwidth efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces predicate trace elements as an intermediary mechanism that bridges the gap between fixed-sized address trace elements and variable data value sizes. These predicate elements serve as a mediator that carries the necessary information about which lanes were omitted, allowing the main address trace elements to remain fixed-sized while still providing complete trace information when combined with the predicate elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If variable-sized trace elements are used to match data value sizes, then trace information accuracy is improved, but analysis complexity increases

Engineering Contradiction:
Improvetrace information accuracyVSAvoidanalysis complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

By segmenting trace information into fixed-sized address elements and separate predicate elements, the patent simplifies the analysis process. The fixed-sized address elements provide a consistent structure that is easier to parse and analyze, while the predicate elements separately encode the variable lane information in a standardized format, reducing the overall analysis complexity compared to handling variable-sized composite trace elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies homogeneity by making all address trace elements the same fixed size, regardless of the underlying data value size. This uniform structure simplifies analysis by eliminating the need to handle variable-sized elements, while the predicate trace elements provide a consistent mechanism for representing lane omission information across different data sizes.

Inventive Principle:
Principle #33Homogeneity

3Quantity of substance

If fixed-sized address trace elements are used, then trace bandwidth usage is reduced and analysis is simplified, but trace information must be formatted differently for different data sizes

Engineering Contradiction:
Improvetrace bandwidth usageVSAvoidformatting flexibility
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent uses predicate trace elements as an intermediary that adapts to different data value sizes while keeping the address trace elements fixed-sized. These predicate elements carry the necessary adaptation information about lane omissions in a standardized way, allowing the system to handle various data sizes efficiently without requiring different address trace element formats.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10642710B2Apparatus and method for generating and processing a trace stream indicative of execution of predicated vector memory access instructions by processing circuitry
Publication Date: 2020.05.05 ARM LTD
  • US10642710B2 patent drawing
  • US10642710B2 patent drawing
  • US10642710B2 patent drawing

AI summary

An apparatus and method are provided for generating and processing a trace stream indicative of execution of predicated vector memory access instructions by processing circuitry. An apparatus has an input interface to receive execution information from the processing circuitry indicative of operations performed by that processing circuitry when executing a sequence of instructions. The sequence includes at least one predicated vector memory access instruction executed to perform a memory transfer operation in order to transfer data values of a vector between a vector register and addresses accessed in memory. The vector comprises a plurality of lanes, where the number of lanes is dependent on the size of the data values represented within the vector, and predicate information referenced when executing the predicated vector memory access instruction is used to determine which lanes are subjected to the memory transfer operation. The apparatus has trace generation circuitry to generate from the execution information a data trace stream comprising a plurality of trace elements. For each predicated vector memory access instruction executed, the trace generation circuitry is arranged to issue within the data trace stream a number of address trace elements, each address trace element providing an address indication for an address accessed in memory, and each address trace element being associated with a fixed sized data block irrespective of the size of the data values accessed when executing the memory access instruction. The trace generation circuitry further issues within the data trace stream, for each predicated vector memory access instruction executed, at least one predicate trace element to identify any lanes of the vector that have been omitted from the memory transfer operation. It has been found that such an approach provides a particularly bandwidth efficient mechanism for tracing predicated vector memory access instructions.