Processor Core Cache Recovery After Cold Start

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During a processor reset, data in cache memories and branch prediction tables is lost, leading to performance hindrance as these resources take time to refill with valid data, especially after power-on resets or reduced power mode recoveries.

Innovation Solution

A control circuit is configured to pre-fetch and store instruction data and allocate branch prediction entries at increased rates after a reset, adjusting based on available storage and allocation success, to quickly repopulate cache memories and branch prediction tables.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the processor enters a reduced power mode to save energy, then power consumption is reduced, but data in cache memories and branch prediction tables is lost requiring time-consuming refilling

Engineering Contradiction:
Improvepower consumptionVSAvoidtime to refill cache and branch prediction tables
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies preliminary action by detecting when cache memory or branch prediction table resources are becoming depleted and initiating pre-fetch operations to load additional data before the resources are completely exhausted. This proactive approach ensures that refilling begins earlier, reducing the performance penalty after power mode transitions.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the processor refills cache memories and branch prediction tables at normal rates after reset, then resource utilization is maintained, but processor performance is hindered during the refill period

Engineering Contradiction:
Improveresource utilizationVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamics by dynamically adjusting the pre-fetch rate based on the detected resource level. When cache or branch prediction table resources are low, the system increases the pre-fetch rate to rapidly replenish resources. This adaptive approach balances resource utilization with processor performance by optimizing the refill speed according to current system conditions.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If pre-fetch operations are continuously performed at high rates, then cache and branch prediction tables are refilled quickly, but unnecessary pre-fetch operations consume additional energy and bandwidth

Engineering Contradiction:
Improverefill timeVSAvoidenergy for pre-fetch operations
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent applies feedback by continuously monitoring the resource levels in cache memories and branch prediction tables, using this information to dynamically adjust the pre-fetch rate. When resources are充足的, the pre-fetch rate is reduced or suspended; when resources are depleted, the rate is increased. This feedback-driven approach ensures pre-fetch operations are performed at appropriate rates, avoiding unnecessary energy consumption while maintaining effective refill timing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10007616B1Methods for core recovery after a cold start
Publication Date: 2018.06.26 APPLE INC
  • US10007616B1 patent drawing
  • US10007616B1 patent drawing
  • US10007616B1 patent drawing

AI summary

In an embodiment, an apparatus includes a cache memory and a control circuit. The control circuit may be configured to pre-fetch and store a first quantity of instruction data in response to a determination that a first pre-fetch operation request is received after a reset and prior to a first end condition. The first end condition may depend on an amount of unused storage in the cache memory. The control circuit may be further configured to pre-fetch and store a second quantity of instruction data in response to a determination that a second pre-fetch operation request is received after the first end condition. The second quantity may be less than the first quantity.