Memory Hierarchy
Why are L1 caches often virtually indexed and physically tagged (VIPT)?
- APhysical addresses are not needed, so the TLB can be omitted
- BHits are judged only by virtual addresses, so the cache can be flushed on every process switch
- CThe cache set can be read in parallel while the TLB translates the address
Show answer and explanation
Answer: C. The cache set can be read in parallel while the TLB translates the address
A VIPT cache selects the set with page-offset bits that need no translation, so reading the set can start at the same time as the TLB produces the physical address. The final comparison uses the physical tag, so different processes using the same virtual address are not confused. The TLB is required to obtain the physical tag and cannot be omitted. Needing to flush the cache on every process switch is a drawback of virtually tagged designs.
- A. The TLB is needed to compare physical tags.
- B. Flushing on every switch is a drawback of virtually tagged caches.
- C. Correct. Translation and set lookup proceed in parallel.