OS & Hardware
What is the advantage of tagging each TLB entry with an ASID (address space identifier)?
- ANo TLB flush is needed on a process switch
- BThe virtual address range available to one process doubles
- CPage tables become unnecessary, and all translation is done by the TLB alone
Show answer and explanation
Answer: A. No TLB flush is needed on a process switch
Without ASIDs, the same virtual address maps to different physical addresses in different processes, so the TLB must be flushed on every process switch, leading to a run of TLB misses afterward. Tagging entries with an ASID identifies which process each translation belongs to, so entries can stay in the TLB and be reused when the original process returns. The virtual address range is unchanged, and page tables are still needed for translations that do not fit in the TLB.
- A. Correct. Per-process translations are distinguished, so no flush is needed on a switch.
- B. The virtual address range does not change.
- C. The TLB holds only some translations, so page tables are still needed.