Macro-Op Cache Fusion for Sequential Multi-Fetch Instruction Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional microprocessor cache systems face inefficiencies in micro-op caching due to fragmentation, power consumption, and misprediction penalties, particularly in high-performance superscalar designs, leading to increased latency and power consumption.

Innovation Solution

Implementing a macro-op cache with single-fetch and multi-fetch block entries, where single-fetch blocks are optimized by a fusion engine and multi-fetch blocks are built from consistent sequences or loop-unrolled macro-ops, reducing fragmentation and improving hit rates while minimizing power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache size is increased to improve hit rate, then the hit rate improves, but the device complexity and power consumption increase

Engineering Contradiction:
Improvecache hit rateVSAvoidcache structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the cache into multiple ways (e.g., 4-way set associative) where each way contains a subset of the cache tags and data. This segmentation allows parallel access to multiple cache lines simultaneously, improving hit rate without requiring a single monolithic cache structure that would increase complexity proportionally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces set associativity as an additional dimension to the cache structure, organizing cache lines into sets where each set contains multiple ways. This dimensional organization allows the cache to achieve higher hit rates through better utilization of spatial and temporal locality without linearly increasing the complexity of tag comparison and access logic.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If the cache line size is increased to improve hit rate, then the hit rate improves, but the loss of time due to evicting less frequently used instructions increases

Engineering Contradiction:
Improvecache hit rateVSAvoideviction penalty
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements different cache line sizes for different ways within the same set, allowing each way to be optimized for specific access patterns. This local quality approach enables the cache to maintain higher hit rates for frequently accessed instructions while minimizing eviction penalties by preserving less frequently used instructions in ways with larger line sizes.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent employs dynamic cache line size adjustment where the effective cache line size can vary based on the access pattern and workload characteristics. This dynamics allows the cache to adaptively optimize between hit rate and eviction penalty by adjusting which instructions are retained and for how long.

Inventive Principle:
Principle #15Dynamics

3Productivity

If sequential multi-fetch block macro-op cache entries are extended to improve productivity, then the productivity improves, but the device complexity increases

Engineering Contradiction:
Improveinstruction fetch throughputVSAvoidcache entry structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple sequential fetch blocks into a single multi-fetch block macro-op cache entry, allowing the processor to fetch and cache multiple blocks of instructions in one operation. This merging increases productivity by reducing the number of cache access operations required while managing complexity through unified entry management and sequential access patterns.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12493469B1Microprocessor that extends sequential multi-fetch block macro-op cache entries
Publication Date: 2025.12.09 VENTANA MICRO SYSTEMS INC
  • US12493469B1 patent drawing
  • US12493469B1 patent drawing
  • US12493469B1 patent drawing

AI summary

A microprocessor includes a prediction unit (PRU) that predicts a sequence of fetch blocks (FBlks) in a program instruction stream and a macro-op (MOP) cache (MOC) that comprises MOC entries (MEs). An ME is either a single-FBlk ME (SF-ME) that holds MOPs associated with a single FBlk or a multi-FBlk ME (ME-ME) that holds MOPs associated with multiple FBlks. The PRU instructs a fusion engine to build a first MF-ME using the MOPs of a first set of two or more MEs when training fields of the first set of MEs indicate the first set appear as a first consistent sequence and instructs the fusion engine to build a second MF-ME using the MOPs of the first MF-ME and a third ME when the training fields of the first MF-ME indicate the first MF-ME and the third ME appear as a second consistent sequence within the program instruction stream.