Intermediate Topic 30 of 51 Computer Architecture & Logic
TLB
Cache of recent virtual-to-physical address translations.
How it works
The translation lookaside buffer is a small, fast cache inside the memory management unit that stores recent virtual-to-physical page translations. A hit gives the physical address in a cycle or two, whereas a miss triggers a page-table walk by hardware or the operating system. TLBs are usually fully or highly set-associative and tagged with address-space identifiers so that they need not be flushed on context switches.
Step-by-step walkthrough
- The CPU needs a virtual to physical translation.
- On a TLB hit the mapping returns in a cycle.
- On a miss the page table is walked.
- The mapping returns and is cached in the TLB.
- Locality makes hits common, so translation is almost free.
Where it is used
Every memory access on a modern CPU consults the TLB, so its hit rate strongly influences performance. Huge pages reduce TLB pressure for databases and virtual machines.
Common pitfall
A TLB miss adds latency, and workloads that touch many pages thrash it. After the operating system changes a mapping, the stale entry must be invalidated, including on other cores through TLB shootdowns, which are costly. Context switches without address-space IDs flush the TLB and hurt performance.
Where it fits in the course
TLB is topic 30 of 51 in Computer Architecture & Logic, rated Intermediate. It follows Virtual Memory in Hardware. The next topic is Instruction Pipelining.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Computer Architecture & Logic quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Computer Architecture & Logic quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is TLB?
Where do people use TLB?
What is the most common mistake with TLB?
What should I learn before this topic?
How can I practice it?
Is TLB hard to learn?
How long does it take to learn TLB?
Which topics are related to TLB?
What should I study after TLB?
Related topics
- Virtual Memory in Hardware (Computer Architecture & Logic)
- Instruction Pipelining (Computer Architecture & Logic)
- Cache Replacement Policies (Computer Architecture & Logic)
- Pipeline Hazards (Computer Architecture & Logic)