TLB Controller Parallel Reload and Instruction Refetch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processors with paged virtual memory, translation lookaside buffers (TLBs) often experience misses, leading to pipeline stalls and inefficiencies due to the need to flush and refetch instructions, resulting in multiple misses and increased latency.

Innovation Solution

A processor with a multistage pipeline and a TLB controller that initiates a TLB reload and refetches instructions in parallel, allowing the refetched instruction to be re-inserted at an initial pipeline stage above the TLB access point, avoiding immediate pipeline stalls and ensuring a subsequent TLB hit.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the pipeline is stalled at the point where TLB miss occurs, then the address translation information can be obtained, but the instruction and all stages above the TLB access point must wait, resulting in considerable inefficiency

Engineering Contradiction:
Improveaddress translation correctnessVSAvoidpipeline throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The TLB controller initiates a TLB reload operation in advance when a TLB miss is detected, before the pipeline stall is fully executed. This preliminary action allows the address translation information to be fetched and prepared while the instruction is being held, reducing the overall waiting time and improving pipeline throughput without compromising translation correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The TLB controller acts as an intermediary between the TLB miss condition and the pipeline stall. It manages the TLB reload operation and coordinates with the instruction fetch unit, allowing the instruction to be held without a complete pipeline halt. The controller mediates between the need for correct address translation and the need to maintain pipeline flow, enabling more efficient resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the instruction is flushed without stalling the pipeline, then the pipeline can continue executing, but multiple misses may occur for the same instruction requiring multiple flushes

Engineering Contradiction:
Improvepipeline throughputVSAvoidaddress translation consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The TLB controller initiates a TLB reload operation in advance when a TLB miss is detected, before the instruction is flushed. This preliminary action ensures that the address translation information is ready before the instruction is re-fetched, preventing multiple misses and ensuring translation consistency while maintaining pipeline throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from the TLB miss condition to trigger a coordinated TLB reload and instruction hold operation. The TLB controller monitors TLB status and provides feedback to manage the reload timing, ensuring that the translation information is available when the instruction is re-attempted, thereby preventing repeated misses and ensuring reliability.

Inventive Principle:
Principle #23Feedback

3Reliability

If the instruction is held at a pipeline stage above the TLB access point until TLB reload is complete, then the refetched instruction will hit in the TLB upon next access, but the pipeline cannot proceed immediately

Engineering Contradiction:
ImproveTLB hit guaranteeVSAvoidpipeline delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The TLB controller initiates the TLB reload operation in advance, before the instruction reaches the point where it would normally be blocked. This preliminary action ensures that when the instruction is held and re-attempted, the translation information is already in the TLB, guaranteeing a hit while minimizing the holding time and pipeline delay.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7721067B2Translation lookaside buffer manipulation
Publication Date: 2010.05.18 QUALCOMM INC
  • US7721067B2 patent drawing
  • US7721067B2 patent drawing
  • US7721067B2 patent drawing

AI summary

A processor having a multistage pipeline includes a TLB and a TLB controller. In response to a TLB miss signal, the TLB controller initiates a TLB reload, requesting address translation information from either a memory or a higher-level TLB, and placing that information into the TLB. The processor flushes the instruction having the missing virtual address, and refetches the instruction, resulting in re-insertion of the instruction at an initial stage of the pipeline above the TLB access point. The initiation of the TLB reload, and the flush/refetch of the instruction, are performed substantially in parallel, and without immediately stalling the pipeline. The refetched instruction is held at a point in the pipeline above the TLB access point until the TLB reload is complete, so that the refetched instruction generates a “hit” in the TLB upon its next access.