Why is Intel using a physical tagged virtual index rather than VIVT or PIPT?

I'm not sure, but if I remember that the correct intel uses the VIPT cache, I would like to know the reason for this choice, why it is better than VIVT or PIPT, what advantages it acquires and, maybe, what disadvantages. Thank.

+4
source share
1 answer

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.
+2
source

Source: https://habr.com/ru/post/1532921/


All Articles