2016-12-26 1 views

Répondre

1

La CPU lit/écrit des données dans le cache lorsqu'une instruction accédant à la mémoire est exécutée.
Donc, c'est un service à la demande, les données sont déplacées sur demande.
Il essaie ensuite de conserver les données dans le cache as long as possible jusqu'à ce qu'il n'y ait plus d'espace et qu'un replacement policy soit utilisé pour expulser une ligne en faveur de nouvelles données.
L'unité minimale de données transférée est appelée line et elle est généralement supérieure à la taille du registre (pour améliorer la localité).

Certains CPU ont un prefetcher qui, lors de la reconnaissance de modèles d'accès mémoire spécifiques, essaient de déplacer automatiquement les données dans le cache avant il est réellement demandé par le programme.

Certaines architectures ont des instructions qui exécutent comme les indications pour que la CPU préextrait les données d'une adresse spécifique. Cela permet au logiciel d'avoir un contrôle minimal sur les circuits de prélecture, cependant, si le logiciel veut juste déplacer des données dans le cache, il doit seulement lire les données (le CPU le cache, si la mise en cache est activée dans cette région).