Overlay Execution Time Profiling via Identity Values
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


