Integrated Diagram: TLB and Cache Operations for a Logical/Virtual Address

Integrated Diagram: TLB and Cache Operations for a Logical/Virtual Address

Verified Sources
Sep 12, 2026

A modern processor typically performs address translation (virtual \rightarrow physical) via a keywordTLB/keyword, and then performs a cache lookup (using the resulting address) in one or more **keywordcaches/keyword.

The most integrated “mental model” is: TLB lookup gates the cache lookup, because many cache designs are indexed/tagged with the physical address after translation.

Below is a unified diagram for a single logical/virtual address generated by the processor, showing both the TLB path and cache path, including the main miss/retry flows. (The exact internal policy—e.g., whether the cache lookup is partially speculative—is implementation dependent.)

Key points captured by the diagram:

  • keywordTLB hit/keyword: Translation exists; cache lookup can proceed using PA.
  • keywordTLB miss/keyword: A **keywordpage-table walk/keyword runs (often involving additional memory reads), then the TLB is updated and the request is retried.
  • Cache miss flow: After PA is known, lookup continues through lower cache levels and/or memory until the block/line is fetched and filled.

Integrated VA → PA → Cache Flow (Single Request)

Addressing

1. VA generated

CPU produces a virtual address (VA) and identifies whether it’s instruction (ITLB) or data (DTLB)."

Translation

2. TLB lookup

TLB lookup uses the VA page number; outcome is HIT (PA ready) or MISS (page walk needed)."

Physical address

3. PA formed

PA = translated physical page base + original page offset."

Caching

4. Cache lookup

Cache hierarchy lookup proceeds using PA (often for indexing/tagging)."

Refill + retry

5. Fill on miss

On TLB miss, translation inserted and operation retried; on cache miss, lines are fetched and filled."

End-to-end sequence for one logical/virtual address

  1. 1
    Step 1

    CPU forms VA and routes it to ITLB (instruction fetch) or DTLB (load/store).

  2. 2
    Step 2

    Search TLB for VA page number; check valid/permission bits as part of translation.

  3. 3
    Step 3

    Compute PA by combining translated physical page base with the VA page offset.

  4. 4
    Step 4

    Perform L1 cache lookup (and possibly proceed to L2/memory on miss) using PA.

  5. 5
    Step 5

    On miss, query the next cache level; if still missing, fetch the line from memory and fill.

  6. 6
    Step 6

    Run page-table walk to resolve VA→PA, insert translation into TLB, then restart the cache lookup with PA.

Pro Tip: Think of TLB as a gate to PA-based caching

Even when pipelines overlap work, most cache tag checks logically depend on having a trustworthy PA, so translation is treated as the gating step for correct caching.

Warning: Exact timing/speculation differs by microarchitecture

Some designs may speculatively start cache accesses (or use tricks like VIPT), but the core correctness still requires translation and permission checks for final PA usage.

To further ground the diagram, here’s a compact “decision table” aligning the two subsystems:

keywordPA/keyword becomes the common “currency” for caching in many designs, while keywordVA/keyword is what the TLB consumes.

Where time is spent on typical misses (conceptual)

Conceptual relative latency components (illustrative, not universal).

Common modeling questions

Virtual Memory & TLB - Address Translation and Caching (conceptual walkthrough)

Knowledge Check

Question 1 of 4
Q1Single choice

In the integrated flow, what primarily gates cache lookup correctness on many architectures?

Explore Related Topics