Microprocessor Non-Cacheable Load Prediction Mechanism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional out-of-order superscalar microprocessors face challenges in power consumption and design complexity, particularly with dynamic scheduling of instructions, which leads to increased power usage and complexity, especially when dealing with non-cacheable memory data access in AI and machine learning applications.

Innovation Solution

A microprocessor with a time counter for statically dispatching instructions, using a non-cacheable predictor to predict latency times and implement a static scheduling algorithm that schedules instructions based on preset execution times, reducing the need for speculative execution and replay, and employing a prefetch mechanism for non-cacheable loads to minimize latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic scheduling of instructions is used in out-of-order superscalar microprocessors, then instruction execution flexibility and throughput are improved, but power consumption and design complexity increase

Engineering Contradiction:
Improveinstruction execution throughputVSAvoiddesign complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the scheduling function into static scheduling for non-cacheable loads and dynamic scheduling for cacheable loads. This division allows the complex dynamic scheduling to be used only where necessary (cacheable memory), while simpler static scheduling handles non-cacheable memory access, reducing overall complexity while maintaining throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by predicting non-cacheable load instructions before execution and pre-calculating their latency. This allows the static scheduler to prepare execution slots in advance, avoiding the need for complex runtime decision-making and reducing power consumption associated with dynamic scheduling logic.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If speculative execution and replay operations are performed for cache misses, then instruction throughput is improved, but power consumption increases

Engineering Contradiction:
Improveinstruction throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent inverts the traditional approach by treating non-cacheable loads differently from cacheable loads. Instead of using speculative execution for all loads and replaying on miss, the patent uses static prediction and deterministic scheduling for non-cacheable loads, eliminating the need for speculative execution and associated power consumption.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent extracts non-cacheable load instructions from the general dynamic scheduling pipeline and handles them through a separate static scheduling mechanism. This extraction removes the power-consuming speculative execution and replay operations from the critical path for non-cacheable memory access.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If all load instructions assume L1 data cache hit latency, then simple latency estimation is achieved, but performance degrades when data is in non-cacheable memory

Engineering Contradiction:
Improvelatency estimation simplicityVSAvoidexecution performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by providing different latency estimates for different types of load instructions. Cacheable loads use the simple L1 cache hit latency assumption, while non-cacheable loads use a separate prediction mechanism that accounts for their longer external memory access time, optimizing performance for each case.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the latency parameter based on the load type. Instead of using a fixed L1 cache hit latency for all loads, the system dynamically adjusts the latency estimate based on whether the load is predicted to be non-cacheable, allowing accurate timing for both cacheable and non-cacheable memory access.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12141580B2Microprocessor with non-cacheable memory load prediction
Publication Date: 2024.11.12 SIMPLEX MICRO INC
  • US12141580B2 patent drawing
  • US12141580B2 patent drawing
  • US12141580B2 patent drawing

AI summary

A processor includes an instruction issue unit that receives a first instruction, and issues the first instruction with a write time, which for a load instruction corresponds to a data cache latency time or to a non-cacheable latency time of a non-cacheable predictor. The non-cacheable predictor includes a tag array and data array with a plurality of entries to predict non-cacheable latency times of non-cacheable load instructions. The non-cacheable predictor can be implemented as a direct map, an N-way associative cache, or a fully associative cache.