|
Dans un cache en écriture directe, chaque opération d'écriture met simultanément à jour le cache et la mémoire principale. Cela contraste avec la mise en cache avec écriture différée, dans laquelle les écritures ne sont effectuées initialement que dans le cache, les mises à jour de la mémoire principale étant retardées jusqu'à ce que la ligne de cache soit expulsée.
Voici un aperçu des implications :
Avantages de l'écriture directe :
* Cohérence des données : La mémoire principale étant toujours à jour, il n’y a aucun problème de cohérence du cache. Plusieurs processeurs ou processus accédant aux mêmes données verront toujours la version la plus récente. Cela simplifie la gestion du cache et évite le recours à des protocoles complexes pour maintenir la cohérence.
* Simplicité : L'implémentation est généralement plus simple que la réécriture, car il n'y a pas besoin d'un "bit sale" pour suivre les lignes de cache modifiées ou d'un tampon de réécriture pour mettre en file d'attente les écritures en mémoire en attente.
Inconvénients de l'écriture directe :
* Glouton d'étranglement en matière de performances : L'écriture dans la mémoire est plus lente que l'écriture dans le cache. L'opération d'écriture doit attendre la fin de l'écriture dans la mémoire principale avant de continuer, ce qui réduit considérablement les performances d'écriture, en particulier pour les écritures fréquentes. Cela peut entraîner une réduction du débit global du système.
* Augmentation du trafic de bus : Chaque opération d'écriture génère du trafic sur le bus système, augmentant les conflits et ayant potentiellement un impact sur d'autres périphériques.
En résumé, la mise en cache en écriture donne la priorité à la cohérence et à la simplicité des données plutôt qu'aux performances. Il convient aux applications où la cohérence des données est primordiale et où les opérations d'écriture sont peu fréquentes, ou lorsque la surcharge de performances est acceptable. À l’inverse, la mise en cache de réécriture est préférable dans les applications critiques en termes de performances comportant de nombreuses opérations d’écriture.
|