Et bien pour moi, un processeur ne sait pas que le cache existe, il croit s'adresser directement a la ram du PC. Mais en faite, il s'adresse en premier au cache et si la donnée n'est pas dans le cache, c'est la donnée de la ram qui est transmise.
Comme a chaque adresse RAM il doit exister une adresse dans le cache et que le cache est bcp plus petit que la ram, l'adresse est pour moi forcement virtuel.
Par exemple (bidon), si la ram est composé d'adresse allant de 1 a 100, si le cache est 10 fois plus petit, il aura des adresses allant de 1 a 10.
Comment faire si le processeur demande l'adresse 27 ? et bien on fait 27 modulo 10 = 7 et on va voire a l'adresse 7 du cache. On compare le tag et si c'est le meme, on sait que la donnée dans le cache est bonne, pas besoins d'aller dans la ram.
Ca c'est le principe de la correspondance directe, avec la méthode K-way set associative mapping, le principe est différent mais il reste le meme pb, le cache est plus petit que la ram, donc il faut bien pouvoir trouver une correspondance entre chaque adresse RAM et adresse du Cache.