Overlay Execution Time Profiling via Identity Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging software programs that utilize overlays is challenging due to the difficulty in identifying which overlay procedures consume excessive processor time, as they execute from the same address range, making it hard to determine their individual execution time contributions.

Innovation Solution

A method and system that track and display the execution time proportion of each overlay program by using a target state register to insert identity values into trace data, allowing the debug-trace program to differentiate and identify which overlays have executed, and display the execution time proportion on a processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If overlays are used to store code and data in slower memory and link them to run at a common address range in faster memory, then memory cost is reduced and system performance is improved, but the ability to identify and measure individual overlay execution time is lost

Engineering Contradiction:
Improvememory costVSAvoidexecution time measurement
Core Design Contradiction:
Loss of energyVSMeasurement precision

Solution Approach 1:

The patent segments the execution time measurement by introducing overlay-specific identifier values that are inserted into trace data. Each overlay program is assigned a unique identifier that allows the profiling tool to segment and measure execution time for each individual overlay, even though they execute from the same address range. This segmentation enables precise measurement of each overlay's contribution to overall execution time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses an intermediary mechanism (the overlay identifier value inserted into trace data) to bridge the gap between the overlay execution and the profiling tool. The identifier acts as a mediator that carries information about which overlay is currently executing, allowing the profiling tool to attribute execution time to the correct overlay without requiring separate memory locations for each overlay.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If multiple overlay procedures execute from the same address range in faster memory, then access speed is improved, but the difficulty of detecting and measuring individual overlay execution increases

Engineering Contradiction:
Improvememory access speedVSAvoidoverlay execution detection
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary action by inserting the overlay identifier value into the trace data before or during the execution of each overlay program. This pre-insertion of identifying information ensures that when the profiling tool analyzes the trace data, it can immediately associate each execution event with the correct overlay, eliminating the need for complex post-hoc analysis to determine which overlay was executing at any given time.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If trace-based profiling assumes each procedure operates at a unique address, then procedure identification is simplified, but the accuracy of profiling for overlay programs deteriorates

Engineering Contradiction:
Improveprocedure identificationVSAvoidprocedure execution time
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent changes the parameter used for procedure identification from memory address to overlay identifier value. Instead of relying on the unique address assumption, the system inserts and tracks overlay-specific identifier values in the trace data. This parameter change allows multiple overlays to share the same address range while still enabling accurate identification and measurement of each overlay's execution time through its unique identifier.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7607047B2Method and system of identifying overlays
Publication Date: 2009.10.20 TEXAS INSTRUMENTS INC
  • US7607047B2 patent drawing
  • US7607047B2 patent drawing
  • US7607047B2 patent drawing

AI summary

A method and system of identifying overlays. At least some of the illustrative embodiments are methods comprising executing a traced program on a target system (the traced program comprising a plurality of overlay programs), obtaining values indicative of which of the plurality of overlays of the traced program has executed on the target system, and displaying on a display device an indication of a proportion of an execution time on the processor of the target system dedicated to each of the plurality of overlay programs.