Instruction Cache Prefetch Kill and Revival Without Repeated Tag Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in managing cache hierarchies, particularly in determining the presence of data in multiple levels of caches, leading to unnecessary access and power consumption.

Innovation Solution

A memory controller subsystem speculatively determines hit or miss conditions in the first memory cache, translates virtual addresses to physical addresses, and manages cache status transitions without additional access to TAGRAM or address translation logic, optimizing prefetch operations by promoting cache line accesses and reviving speculative operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the memory controller subsystem performs speculative determination of hit or miss conditions and speculative address translation, then cache access efficiency is improved, but the complexity of the memory controller subsystem increases

Engineering Contradiction:
Improvecache access efficiencyVSAvoidmemory controller subsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller subsystem performs speculative determination of hit or miss conditions and speculative translation of virtual addresses to physical addresses before actual cache access is required. This preliminary action allows the system to prepare cache status information in advance, so that when a cache access is actually needed, the information is already available, improving access efficiency without requiring additional complex components

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller subsystem manages its own internal state by configuring status to valid state based on speculative results, and can autonomously reconfigure status to invalid state or back to valid state without external intervention or additional access to TAGRAM or address translation logic. This self-service capability reduces the need for additional control components

Inventive Principle:
Principle #25Self-service

2Loss of energy

If the memory controller subsystem reconfigures status to invalid state and back to valid state without additional access to TAGRAM or address translation logic, then power consumption is reduced, but the reliability of address validation may be compromised

Engineering Contradiction:
Improvepower consumptionVSAvoidaddress validation reliability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The memory controller subsystem performs speculative address translation and validates addresses in advance, configuring status to valid state before actual use. When instructions are no longer needed, it reconfigures status to invalid state without needing to re-access TAGRAM or address translation logic. This preliminary validation ensures reliability while avoiding repeated power-consuming accesses

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory controller subsystem can discard the valid state configuration when instructions are no longer needed (reconfiguring to invalid state), and recover the valid state configuration when instructions are needed again (reconfiguring back to valid state). This discarding and recovering of state information eliminates the need for repeated validation operations, reducing power consumption while maintaining reliability through state persistence

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12561255B2Prefetch kill and revival in an instruction cache
Publication Date: 2026.02.24 TEXAS INSTRUMENTS INC
  • US12561255B2 patent drawing
  • US12561255B2 patent drawing
  • US12561255B2 patent drawing

AI summary

A system comprises a processor including a CPU core, first and second memory caches, and a memory controller subsystem. The memory controller subsystem speculatively determines a hit or miss condition of a virtual address in the first memory cache and speculatively translates the virtual address to a physical address. Associated with the hit or miss condition and the physical address, the memory controller subsystem configures a status to a valid state. Responsive to receipt of a first indication from the CPU core that no program instructions associated with the virtual address are needed, the memory controller subsystem reconfigures the status to an invalid state and, responsive to receipt of a second indication from the CPU core that a program instruction associated with the virtual address is needed, the memory controller subsystem reconfigures the status back to a valid state.