Load-Store Unit Dual Tag Arrays and Arbitration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In modern processors, parallel execution of load-store unit operations can lead to cache tag conflicts, causing incorrect execution results due to multiple pipelines accessing the same cache tags, which existing technologies struggle to handle effectively.

Innovation Solution

Implementing a dual pipeline load-store unit with dual tag arrays, where each pipeline performs non-overlapping subsets of operations and control circuitry ensures synchronization and arbitration to allow only one pipeline to write to a tag array per cycle, preventing conflicts and enabling parallel execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple pipelines access the same cache tag array in parallel, then processor throughput is improved, but tag write conflicts occur causing incorrect execution results

Engineering Contradiction:
Improveprocessor throughputVSAvoidexecution accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the single tag array into multiple separate tag arrays, with each pipeline having its own dedicated tag array. This segmentation eliminates write conflicts between pipelines while maintaining parallel access capability, resolving the contradiction between throughput and execution accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an arbitration mechanism as an intermediary that manages access to shared resources between multiple pipelines. The arbitration logic mediates tag array access conflicts and coordinates pipeline operations to prevent incorrect execution while maintaining parallel processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If dual tag arrays are implemented for parallel pipelines, then write conflicts are prevented, but hardware area and power consumption increase

Engineering Contradiction:
Improvetag write conflict preventionVSAvoidtag array hardware area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent merges the functionality of multiple tag arrays into a single unified tag array structure that supports parallel access through arbitration. This combining approach maintains conflict-free operation while reducing the total hardware area compared to fully separate tag arrays for each pipeline.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic arbitration that activates only when conflicts are detected, allowing the system to operate efficiently with reduced overhead. The arbitration mechanism dynamically manages access based on actual pipeline needs rather than requiring dedicated arrays for all pipelines simultaneously.

Inventive Principle:
Principle #15Dynamics

3Productivity

If speculative execution is used to overcome control dependencies, then instruction throughput increases, but misprediction recovery requires replays that reduce performance

Engineering Contradiction:
Improveinstruction throughputVSAvoidmisprediction recovery time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the execution pipeline into multiple independent pipelines with separate tag arrays, allowing speculative execution to proceed in parallel without interfering with other pipeline operations. This reduces the impact of misprediction replays on overall throughput by isolating replay operations to specific pipeline segments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11983538B2Load-store unit dual tags and replays
Publication Date: 2024.05.14 CADENCE DESIGN SYST INC
  • US11983538B2 patent drawing
  • US11983538B2 patent drawing
  • US11983538B2 patent drawing

AI summary

Techniques are disclosed relating to a processor load-store unit. In some embodiments, the load-store unit is configured to execute load/store instructions in parallel using first and second pipelines and first and second tag memory arrays. In tag write conflict situations, the load-store unit may arbitrate between the first and second pipelines to ensure the first and second tag memory array contents remain identical. In some embodiments, a data cache tag replay scheme is utilized. In some embodiments, executing load/store instructions in parallel with fills, probes, and store-updates, using separate but identical tag memory arrays, may advantageously improve performance.