virtual cache
A cache which uses virtual address, i.e. it is between the processor and the memory management unit. A virtual cache cannot recognise external access to physical address, e.g. from DMA. The whole cache must be flushed when swapping between tasks which share same virtual address space.