Cache Line Information Display for Linker Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional program control methods fail to effectively identify and optimize cache conflicts between functions or variables sharing the same cache line, leading to difficulties in reducing cache misses in C language programs.

Innovation Solution

A program control device and method that generates and displays cache line information with symbolic and memory address information, merging it with cache performance data to facilitate the identification and rearrangement of functions causing cache conflicts, thereby optimizing linker options to reduce cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional program control methods are used to display cache performance information, then cache hit rate and cache miss rate can be displayed, but cache conflicts between functions or variables sharing the same cache line cannot be effectively identified

Engineering Contradiction:
Improvecache conflict informationVSAvoidprogram control method
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments cache information into two distinct components: cache performance information (hit rate, miss rate) and cache line information (symbolic names, memory addresses, cache line numbers). This segmentation allows the system to display both aggregate performance metrics and detailed cache line assignments, enabling identification of cache conflicts while maintaining a manageable display structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces cache line information as an intermediary that connects cache performance information with program structure information. By displaying cache line numbers and symbolic names together, the system creates a bridge between performance metrics and the underlying code structure, allowing users to identify which functions or variables are causing cache conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the cache capacity is increased to store more data, then cache hit rate improves, but the small capacity constraint of high-speed cache memory cannot be overcome

Engineering Contradiction:
Improvecache hit rateVSAvoidcache capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent enables preliminary identification of cache conflicts through detailed cache line information display. By showing which functions or variables share the same cache line before program execution, developers can proactively rearrange code or data layout to avoid conflicts, thereby improving cache hit rate without increasing physical cache capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the approach from modifying physical cache parameters (capacity, size) to modifying program structure parameters (function arrangement, variable placement, linker options). By displaying cache line information with symbolic names, the system enables software-level optimizations that improve cache efficiency without hardware changes.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If program control methods are simplified to reduce complexity, then ease of operation improves, but the ability to identify and optimize cache conflicts is lost

Engineering Contradiction:
Improveprogram control operationVSAvoidcache conflict identification precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent merges cache performance information with cache line information in a unified display. By combining hit/miss rates with cache line numbers and symbolic names in the same interface, the system provides both high-level performance overview and detailed conflict identification without requiring separate tools or complex operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a multi-functional display system that simultaneously serves as a performance monitor (showing hit/miss rates) and a conflict analyzer (showing cache line assignments with symbolic names). This universal tool eliminates the need for separate analysis methods while maintaining ease of operation through a single integrated interface.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7861235B2Program control device and program control method
Publication Date: 2010.12.28 INFINEON TECHNOLOGIES AMERICAS CORP
  • US7861235B2 patent drawing
  • US7861235B2 patent drawing
  • US7861235B2 patent drawing

AI summary

Disclosed is a program control device for managing cache information and generating an optimum linker option to thereby improve use efficiency of a cache memory. A cache line information generating section is formed which, when a target program is loaded into a main memory, generates cache line information. Therefore, the cache line information having memory address information and symbolic information in a function of the target program in a cache line can be displayed with cache performance information. Accordingly, functions causing a cache conflict can be easily specified and rearranged by a linker option so as not to share the same cache line. As a result, the cache misses can be reduced.