Prediction Unit Fetch Block Descriptor Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The lengthy instruction fetch process in processors is due to sequential access to memory structures, leading to high latency and power consumption, particularly exacerbated by long instruction fetch pipelines and misprediction penalties.

Innovation Solution

A prediction unit comprising a single-cycle predictor (SCP) and a fetch block prediction unit (FBPU) that generates fetch block descriptors to enable parallel access to the instruction cache, reducing the instruction fetch pipeline stages and improving prediction accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If sequential access to memory structures is used for instruction fetch, then the process is simple to implement, but the instruction fetch pipeline becomes lengthy with high latency

Engineering Contradiction:
Improveinstruction fetch processVSAvoidinstruction fetch latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing address translation in advance during the instruction fetch process. The translation lookaside buffer (TLB) translates virtual addresses to physical addresses before the actual instruction cache access, allowing the subsequent cache access to proceed more quickly without waiting for translation completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The instruction fetch process is segmented into distinct stages: address translation via TLB, set selection using set index, way determination through tag comparison, and data readout. This segmentation allows each stage to be optimized independently and enables better pipeline management to reduce overall latency.

Inventive Principle:
Principle #1Segmentation

2Speed

If a long instruction fetch pipeline is implemented, then high processor clock frequency can be achieved, but misprediction latency increases causing execution unit idle time

Engineering Contradiction:
Improveprocessor clock frequencyVSAvoidmisprediction latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

Branch prediction mechanisms perform preliminary determination of control flow before instructions are fully executed. The processor predicts branch targets and flushes the pipeline in advance when mispredictions occur, reducing the effective latency impact on execution units.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The pipeline incorporates feedback mechanisms where branch prediction results are validated against actual execution outcomes. When mispredictions are detected, the system flushes the pipeline and retires incorrect instructions, allowing the execution units to be reassigned to correct instructions without waiting for the entire long pipeline to complete.

Inventive Principle:
Principle #23Feedback

3Reliability

If set associative instruction cache is used, then hit rate improves by reducing aliasing conflicts, but the instruction fetch process becomes more complex with multiple memory structures

Engineering Contradiction:
Improveinstruction cache hit rateVSAvoidinstruction cache structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The set-associative cache is segmented into multiple ways within each set, allowing parallel tag comparisons across different ways. This segmentation enables the cache to handle aliasing conflicts more effectively while maintaining manageable complexity through structured organization of tag and data memory structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The instruction cache reads out complete blocks of instructions from the selected set regardless of the exact way hit, which may be more than strictly necessary. This partial/excessive action ensures that all potentially needed instructions are available and simplifies the readout process while maintaining high hit rates through the set-associative structure.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12020032B2Prediction unit that provides a fetch block descriptor each clock cycle
Publication Date: 2024.06.25 VENTANA MICRO SYSTEMS INC
  • US12020032B2 patent drawing
  • US12020032B2 patent drawing
  • US12020032B2 patent drawing

AI summary

A prediction unit includes a single-cycle predictor (SCP) configured to provide a series of outputs associated with a respective series of fetch blocks on a first respective series of clock cycles and a fetch block prediction unit (FBPU) configured to use the series of SCP outputs to provide, on a second respective series of clock cycles, a respective series of fetch block descriptors that describe the respective series of fetch blocks. The fetch block descriptors are useable by an instruction fetch unit to fetch the series of fetch blocks from an instruction cache. The second respective series of clock cycles follows the first respective series of clock cycles in a pipelined fashion by a latency of the FBPU.