impossible de comprendre la politique d’écriture dans la mémoire cache

AbKDs

impossible de comprendre la politique d’écriture dans la mémoire cache


J’étudie les politiques d’écriture dans la mémoire cache (pour la première fois). Je suis en mesure de comprendre la «réécriture» mais je ne peux pas comprendre la «réécriture» et les problèmes qui y sont associés. S’il vous plaît, quelqu’un peut-il m’expliquer clairement le concept de «réécriture».

Réponses


 Logique errante

Dans un cache d’ écriture directe, chaque opération de stockage du processeur écrit simultanément les nouvelles données dans la ligne de cache et dans le stockage de sauvegarde (le cache plus grand suivant ou la mémoire principale).

Dans un cache en écriture différée, une opération de stockage du processeur modifie uniquement la ligne de cache, de sorte que la ligne de cache contient les données les plus récentes tandis que les données du stockage de sauvegarde sont périmées . L’écriture dans le magasin de sauvegarde se produit uniquement lorsque la ligne de cache en question est remplacée car elle est nécessaire pour une autre ligne à une adresse différente.

Les images sur la page wikipedia sur la mise en cache sont correctes.

Dans un cache d’écriture directe, chaque ligne est dans un seul des deux états: valide ou invalide . Ainsi, lorsque vous devez récupérer une ligne qui n’est pas dans le cache, vous jetez simplement une ligne pour lui faire de la place.

Dans un cache en écriture différée, chaque ligne peut être dans l’un des trois états: valide, invalide ou sale . Lorsqu’une erreur de lecture se produit et que vous devez jeter une ligne pour faire de la place à la nouvelle ligne, la ligne que vous devez jeter peut être sale. Si la ligne que vous devez jeter est sale, vous devez l’écrire dans le magasin de sauvegarde avant de pouvoir introduire la nouvelle ligne. Cela signifie qu’au moment où vous traitez une lecture manquée, vous devrez peut-être effectuer deux opérations avec le magasin de sauvegarde au lieu d’une.

Si les mêmes lignes de cache sont écrites plusieurs fois, les caches de réécriture peuvent réduire considérablement le nombre de fois que vous devez envoyer des écritures au magasin de sauvegarde. Vous continuez simplement à apporter des modifications à la ligne de cache sale jusqu’à ce que la ligne doive être remplacée, puis réécrivez uniquement les dernières valeurs écrites à chaque emplacement de la ligne.

Paul A. Clayton

+1 Vous pouvez également mentionner le « besoin » d’ECC dans un cache d’écriture différée (un cache d’écriture directe peut utiliser la détection d’erreurs et récupérer à partir du magasin de sauvegarde); ECC est un peu moins attrayant avec des écritures plus petites (« nécessitant » que les magasins soient des RMW). L’écriture différée ou l’écriture différée présente également des problèmes de cohérence (et des exigences de sondage pour le DMA).

Phil Frost

En outre, les caches de réécriture peuvent être une grande victoire lorsque le magasin de sauvegarde n’est pas un périphérique à accès purement aléatoire (comme un disque dur) car le cache permet de réorganiser les écritures pour qu’elles soient plus séquentielles, en évitant de rechercher fois.

AbKDs

@Wandering Logic, merci beaucoup! qui a vraiment aidé

 

#de, #la, caché, comprendre, d’écriture, dans, impossible, mémoire, politique

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *