I was reading the Hennessy and Patterson book: "Computer architecture: a quantitative aproach" and I found this:
and this:
"Notice that for the four-way associative instruction cache, 13 bits are needed for the cache address: 7 bits to index the cache plus 6 bits of block offset for the 64-byte block, but the page size is 4 KB = 212, which means that 1 bit of the cache index must come from the virtual address. This use of 1 bit of virtual address means that the corresponding block could actually be in two different places in the cache, since the corresponding physical address could have either a 0 or 1 in this location. For instructions this does not pose a problem, since even if an instruction appeared in the cache in two different locations, the two versions must be the same."
But I don't understand it, I don't see any problem here beyond that odd pages will be mapped in the upper half of the cache sets. This is a VIPT cache so we will find the entire physical TAG in the, won't we? So... where is the problem?