Debug Circuitry TLB Trace Message Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging processes in data processing systems face challenges in translating virtual addresses to physical addresses in real-time, especially when dynamic memory mapping occurs, which hinders effective debugging and trace message generation.

Innovation Solution

The system generates address translation trace messages in response to modifications or invalidations in the address translation logic, such as through TLB updates, and provides these messages to an external debugger, along with program correlation messages for accurate branch history and sequence count information, while compressing fields to improve efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtual addresses are used for tracing, then program listings can be directly traced using compile and link information, but external debuggers cannot translate addresses to physical locations in real-time when mappings change dynamically

Engineering Contradiction:
Improvetracing capabilityVSAvoidaddress translation accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system pre-fetches and stores address translation information (virtual-to-physical mappings) in a buffer before it is needed for debugging. When a page walk is initiated, the translations are already available, eliminating the need for real-time translation during the actual debugging operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary buffer is introduced between the address translation logic and the external debugger. This buffer captures and holds translation information, allowing the debugger to retrieve pre-translated addresses without needing to perform real-time translation operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If real-time address translation is performed during debugging, then current memory mappings are accurately reflected, but debugging operations are delayed when page walks are required

Engineering Contradiction:
Improveaddress mapping accuracyVSAvoiddebugging speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

Address translations are performed and stored in advance in a buffer, so when debugging operations need to access memory mappings, the translations are already available immediately without requiring delayed page walk operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system prepares and buffers address translation information beforehand to cushion against potential translation delays. This pre-computed translation data acts as a buffer that prevents debugging operations from being stalled when mappings need to be accessed.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Loss of information

If complete address translation information is provided to external debuggers, then accurate program flow monitoring is achieved, but bandwidth requirements and message sizes increase

Engineering Contradiction:
Improvedebug information completenessVSAvoidmessage size
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

Only the essential and changed address translation information is extracted and sent to the external debugger, rather than transmitting complete memory mapping data. This selective extraction reduces message size while maintaining the completeness of debug-relevant information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system sends partial address translation information - specifically only the changes and relevant mappings needed for debugging - rather than transmitting excessive complete mapping data. This partial action approach maintains debug information completeness for necessary operations while reducing overall message volume.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7992052B2Program correlation message generation for debug
Publication Date: 2011.08.02 MOSAID TECH
  • US7992052B2 patent drawing
  • US7992052B2 patent drawing
  • US7992052B2 patent drawing

AI summary

A data processing system and method includes a data processor and memory that are coupled to debug circuitry that generates debug messages including address translation trace messages. A memory management unit (MMU) includes a translation lookaside buffer (TLB) for implementing address translation to translate addresses between virtual and physical forms. The debug circuitry includes message generation circuitry coupled to the MMU for receiving notice when TLB entries are modified and generating both an address translation trace message and a corresponding program correlation message containing at least one of branch history information and instruction count information. The branch history information is a history of direct branch instructions that are executed and whether, when executed, the direct branch instructions were taken. The instruction count information is a count of one or more data processing instructions executed up to a point in time when a new TLB entry is established in the TLB.