L1 Icache Segmentation for Large Program Hit Rate

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Small L1 instruction caches are ineffective with large programs due to high rates of misses and low hit rates, as they are size-constrained and cannot accommodate effective instruction prefetching mechanisms.

Innovation Solution

Storing non-instruction information, such as prefetch correlation tables, in a section of the L1 cache to improve prefetching efficiency without increasing cache size, using a multi-way set-associative organization and filter tables to optimize prefetching and reduce unnecessary memory accesses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the L1 icache size is increased to improve hit rate with large programs, then the hit rate improves, but the chip area and power consumption increase

Engineering Contradiction:
ImproveL1 icache hit rateVSAvoidL1 icache area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The L1 icache is segmented into multiple ways (e.g., 8 ways), allowing selective activation. The patent activates only the necessary number of ways based on program characteristics, dividing the cache into functional segments that can be independently controlled to reduce area usage while maintaining hit rate.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts the number of active cache ways based on program behavior analysis. By monitoring program characteristics and adapting the active cache configuration in real-time, the system optimizes the balance between hit rate and area consumption without static over-provisioning.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the L1 icache size is increased to accommodate more instructions for large programs, then the effectiveness improves, but the power consumption increases

Engineering Contradiction:
ImproveL1 icache effectivenessVSAvoidL1 icache power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The L1 icache is divided into multiple independent ways that can be individually powered on or off. This segmentation allows the system to activate only the necessary portion of the cache based on program requirements, reducing power consumption while maintaining effectiveness for large programs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the operational parameters of the L1 icache by dynamically adjusting the number of active ways based on program characteristics. This parameter adjustment optimizes the balance between cache effectiveness and power consumption without requiring a fixed large cache configuration.

Inventive Principle:
Principle #35Parameter changes

3Area of stationary object

If a small L1 icache is used to save area and power, then area and power are reduced, but the hit rate with large programs deteriorates

Engineering Contradiction:
ImproveL1 icache areaVSAvoidL1 icache hit rate
Core Design Contradiction:
Area of stationary objectVSReliability

Solution Approach 1:

The patent implements dynamic configuration of the L1 icache, adjusting the number of active ways based on program characteristics. This dynamic approach allows a physically smaller cache to achieve the performance of a larger cache by optimizing resource allocation in real-time, improving hit rate without increasing area.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The L1 icache is designed to serve multiple program sizes and types effectively through multi-way organization and dynamic activation. The same cache structure can adapt its configuration to handle both small and large programs optimally, providing universal performance across different workload types without requiring multiple specialized caches.

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

Data Source

PatentUS20210081323A1Method of improving l1 icache performance with large programs
Publication Date: 2021.03.18 MARVELL ASIA PTE LTD
  • US20210081323A1 patent drawing
  • US20210081323A1 patent drawing
  • US20210081323A1 patent drawing

AI summary

The hit rate of a L1 icache when operating with large programs is substantially improved by reserving a section of the L1 icache for regular instructions and a section for non-instruction information. Instructions are prefetched for storage in the instruction section of the L1 icache based on information in the non-instruction section of the L1 icache.