The cache needs to know what memory areas have shadow copies in the cache. The address of the memory range contained in a cache line is called the tag of that cache line. A cache can put virtual addresses in the tag memory, so virtual addresses can be looked up directly in the cache without using the TLB (speed advantage on cache hit), or the cache could use physical addresses. Using physical addressing in the cache has the advantage that you don't need to flush the cache when the mapping between virtual and physical addresses changes (which happens on every task switch in many common operating systems).
This is a good one.