Skip to main content

Qu'est-ce qu'un bus de cache?

Un bus de cache est un bus à grande vitesse dédié qu'un processeur informatique utilise pour communiquer avec sa mémoire de cache.Également connu sous le nom de bus arrière, il fonctionne à une vitesse beaucoup plus grande que le bus système.Un bus de cache relie directement un noyau de processeur à son cache;Il fonctionne indépendamment du bus de processeur, transférant des données sur un chemin plus large et moins restreint.Un bus de cache est utilisé dans la plupart des processeurs modernes pour diminuer le temps nécessaire pour lire ou modifier les données fréquemment accessibles.

Dans les années 1980, la mémoire de cache était généralement située sur la carte mère, pas sur la puce de processeur elle-même.Le cache a été accessible sur le bus du processeur, tout comme la mémoire système ordinaire.La quantité de mémoire de cache était souvent assez petite et n'offre que comme amélioration des performances du système en option.

À mesure que la vitesse et l'efficacité du processeur augmentaient au début des années 1990, le bus de processeur est devenu un goulot d'étranglement;La mémoire de cache rapide nécessitait un moyen d'interagir avec le processeur sans attendre la fin de la mémoire système et des opérations d'entrée / sortie plus lente.Au milieu des années 1990, la plupart des nouveaux processeurs ont adopté une architecture à double bus pour résoudre ce problème.Un bus de cache à grande vitesse a été créé pour accéder directement au cache.Ce bus n'est utilisé pour rien d'autre et mdash; tous les autres transferts de données utilisent le bus de processeur le plus lent, également connu sous le nom de bus avant.Le processeur peut utiliser les deux bus simultanément, ce qui entraîne des performances sensiblement meilleures.

Les premières conceptions à double bus ont fréquemment utilisé la mémoire de cache située sur la carte mère;De grandes quantités de cache sur puce n'étaient pas encore rentables en raison de problèmes de rendement de production.Les conceptions ultérieures ont souvent incorporé un mélange de cache interne et externe à mesure que le rendement s'est amélioré.Les processeurs modernes utilisent généralement une grande quantité de cache interne;Beaucoup incluent 8 mégaoctets (MB) ou plus, par rapport aux conceptions plus anciennes qui n'avaient souvent que 8 kilobytes (KB).Dans les conceptions modernes où le cache entier est sur puce, le bus de cache peut être assez court avec un chemin de données très large, 512 bits dans certains processeurs.Le bus fonctionne généralement à la même vitesse que le processeur lui-même.Le résultat final est que le contenu du cache peut être lu ou modifié très rapidement.

Chaque noyau d'un processeur multi-core peut avoir son propre cache ou partager un grand cache commun.Dans les deux cas, un bus de cache relie chaque noyau à la mémoire de cache appropriée.Lorsque chaque noyau de processeur a son propre cache séparé, des problèmes de cohérence peuvent survenir.Par exemple, lorsqu'un cœur met à jour les données dans son cache, d'autres copies de ces données dans d'autres caches deviennent obsolètes ou périmées.Une façon dont ce type de problème peut être résolu consiste à utiliser un type spécial de bus de cache, parfois appelé bus intercore.Ce bus relie tous les caches ensemble afin que chacun puisse surveiller ce que les autres font mdash; si l'on met à jour un morceau de données partagées, les autres peuvent immédiatement refléter le nouveau contenu.