Exact design decisions are probably not published, but overall the benefits for VIPT are:
- Virtual indexing means that you can start reading a set from the cache before (or in parallel) finding a translation in the TLB. This means that the search will generally be much faster than the physically indexed cache, where you can only search the cache after you have the translation.
- Physical tagging avoids aliasing - as in the cases when one virtual address is mapped to several physical ones (for example, different flows overlapping in the virtual addr ragne), or several virtual addresses are mapped to the same physical line (for example, between communication flows ) Both cases can lead to a loss of consistency in the actually tagged cache and require complex detection mechanisms.
Leeor source
share