Généralement, si vous avez un tampon d'écriture, il passe à travers le tampon d'écriture (ligne de cache entière). Ensuite, le tampon d'écriture à un certain point termine les écritures à ram. Je n'ai pas entendu parler d'un cache qui garde une trace par élément dans une ligne dont les parties sont sales ou pas, c'est pourquoi vous avez une ligne de cache. Donc, pour les cas que j'ai entendu parler de toute la ligne sort. Un autre point est qu'il n'est pas rare pour la mémoire lente sur le verso d'un cache DDR par exemple, est accessible via une largeur fixe, 32 bits à la fois 64 bits à la fois 128 bits à la fois, ou chaque partie est à cette largeur et il y a plusieurs parties. Ce genre de chose, donc pour éviter une lecture-modification-écriture que vous voulez écrire dans des tailles de largeur de RAM complètes. Les lignes de cache sont des multiples de cela, bien sûr, et l'opportunité de ne pas écrire est là. Aussi, s'il y a ecc sur ce bélier, alors vous devez écrire une ligne ecc entière à la fois pour éviter une écriture en lecture-modification.
Vous auriez besoin d'un bit sale par élément inscriptible dans la ligne de cache, ce qui multiplierait le stockage de bit sale, ce qui pourrait ou non avoir un impact réel sur la taille ou le coût, etc. Cela peut être moins cher de faire une transaction multi-mot plutôt que deux transactions distinctes, donc ce schéma pourrait créer un hit de performance plutôt que boost (même problème dans le tampon d'écriture, au lieu d'une transaction avec une adresse de début et une longueur, maintenant plusieurs transactions).
Il semble juste que beaucoup de travail pour quelque chose qui peut ou ne peut pas entraîner un gain. Si vous en trouvez un qui le fait, veuillez le poster ici.