Les caches sont petits en raison d'une combinaison de facteurs liés au coût, à la vitesse et aux limitations technologiques :
* Coût : Une mémoire plus rapide coûte nettement plus cher par bit qu’une mémoire plus lente. Construire un grand cache à haute vitesse serait d’un coût prohibitif. Le rapport coût-bénéfice diminue fortement à mesure que la taille du cache augmente.
* Vitesse : Les temps d’accès au cache doivent être extrêmement rapides pour être efficaces. Des caches plus petits permettent des conceptions plus simples et plus rapides. Des caches plus grands introduisent des circuits plus complexes et des temps d'accès plus longs, annulant ainsi les avantages d'une plus grande capacité. L’avantage de la vitesse est étroitement lié à la taille.
* Consommation électrique : La mémoire haute vitesse consomme plus d'énergie. Un cache plus grand et plus rapide consommerait beaucoup plus d’énergie, ce qui entraînerait une génération de chaleur accrue et une durée de vie réduite de la batterie (ce qui est particulièrement crucial pour les appareils mobiles).
* Limites technologiques : La fabrication de caches extrêmement volumineux et à haute vitesse est un défi technologique et coûteux. Alors que la technologie continue de s'améliorer, il existe des limites pratiques à la densité et à la rapidité avec lesquelles nous pouvons emballer des transistors pour les cellules mémoire.
* Principe de localité : Les caches reposent sur le principe de localité – l’idée selon laquelle les données et instructions récemment consultées sont susceptibles d’être à nouveau consultées bientôt. Un cache relativement petit peut exploiter efficacement ce principe pour un pourcentage important d’accès mémoire. Augmenter la taille du cache au-delà d'un certain point entraîne des rendements décroissants en termes d'amélioration des performances, car la probabilité de trouver les données nécessaires dans un cache plus grand n'augmente pas proportionnellement.
Essentiellement, la taille optimale du cache est un compromis entre le coût, la vitesse, la consommation d’énergie et l’efficacité. Un cache petit et rapide offre une amélioration significative des performances à un coût raisonnable, alors qu'un cache plus grand n'offrirait que des gains de performances marginaux tout en augmentant considérablement son coût et sa consommation d'énergie. C'est pourquoi plusieurs niveaux de caches (L1, L2, L3) sont utilisés ; chaque niveau offre un compromis vitesse/taille différent.
|