Register Cache Prefetch Timing Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As data processing systems become more complex, the increased size and complexity of the register file lead to significant access times, which can impose timing limitations on processor performance, and existing solutions like register caches struggle to minimize cache misses effectively.

Innovation Solution

An apparatus and method that incorporates execution circuitry, a register file, a register cache, prefetch circuitry, timing indication storage, and cache usage control circuitry to optimize prefetch operations by aligning the availability of source operands in the register cache with their usage time, reducing unnecessary prefetching and cache misses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the register file size is increased to handle complex data processing, then the processor's ability to parallelise instruction execution is improved, but the access time to the register file increases significantly

Engineering Contradiction:
Improveinstruction execution throughputVSAvoidregister file access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The register file access system is segmented into two parts: a register cache for frequently accessed registers and a full register file for all registers. This segmentation allows fast access to common operands while maintaining the ability to access all registers when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by prefetching operand data from the register file into the register cache before it is actually needed for execution. This is controlled by timing information that predicts when operands will be required, allowing the cache to be pre-loaded with the right data at the right time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If a register cache is used to reduce access time, then the timing constraint is alleviated, but cache misses occur reducing the effectiveness of the solution

Engineering Contradiction:
Improveregister access timeVSAvoidcache hit rate
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system uses feedback from timing information about when operands are needed to control prefetch operations. This feedback mechanism allows the system to adapt prefetch timing to actual execution needs, improving cache hit rates by ensuring the right data is available in the cache when required.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

By performing preliminary prefetch operations based on predicted timing requirements, the system ensures that operands are loaded into the cache just in time for use, minimizing cache misses while avoiding premature loading that would waste cache space.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If prefetch operations are performed early to ensure data availability, then operand availability is improved, but cache space is wasted and cache misses increase

Engineering Contradiction:
Improveoperand availabilityVSAvoidcache space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The prefetch timing is made dynamic rather than static. The system adjusts prefetch timing based on actual execution timing requirements, loading data into the cache at the optimal moment - early enough to be available but not so early that it displaces other needed operands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the timing parameter of prefetch operations based on predicted operand usage time. By adjusting when prefetch occurs relative to when the operand is needed, the system optimizes both availability and cache space utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10789169B2Apparatus and method for controlling use of a register cache
Publication Date: 2020.09.29 ARM LTD
  • US10789169B2 patent drawing
  • US10789169B2 patent drawing
  • US10789169B2 patent drawing

AI summary

An apparatus and method are provided for controlling use of a register cache. The apparatus has execution circuitry for executing instructions to process data values, and a register file comprising a plurality of registers in which to store the data values for access by the execution circuitry. A register cache is also provided that has a plurality of entries and is arranged to cache a subset of the data values for access by the execution circuitry. Each entry is arranged to cache a data value and an indication of the register associated with that cached data value. Prefetch circuitry then performs prefetch operations to prefetch data values from the register file into the register cache. Timing indication storage is used to store, for each data value to be generated as a result of instructions being executed within the execution circuitry, a register identifier for that data value, and timing information indicating when that data value will be generated by the execution circuitry. Cache usage control circuitry is then responsive to receipt of a plurality of register identifiers associated with source data values for a pending instruction yet to be executed by the execution circuitry, to generate, with reference to the timing information in the timing indication storage, a timing control signal to control timing of at least one prefetch operation performed by the prefetch circuitry. Such an approach can lead to significant improvements in the efficiency of utilisation of the register cache.