|  | Definition: |  | 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. |