Les caches L1, L2 et L3 des processeurs sont-ils tous constitués de SRAM ? Si c'est vrai, pourquoi L1 est plus rapide que L2 et L2 est plus rapide que L3 ? Je n'ai pas compris cette partie lorsque j'ai lu à leur sujet.
Réponse
Trop de publicités?En général ils sont tous implémentés avec SRAM.
(Les puces POWER et zArchitecture d'IBM utilisent de la mémoire DRAM pour le L3. On parle de DRAM embarquée car elle est mise en œuvre dans le même type de technologie de processus que la logique, ce qui permet d'intégrer une logique rapide dans la même puce que la DRAM. Pour POWER4, le L3 hors puce utilisait de la eDRAM ; POWER7 a le L3 sur la même puce que les cœurs de traitement).
Bien qu'ils utilisent la SRAM, ils n'utilisent pas tous la 同じ Conception de la SRAM. Les SRAM pour L2 et L3 sont optimisées pour taille (pour augmenter la capacité compte tenu de la taille limitée de la puce manufacturable ou pour réduire le coût d'une capacité donnée), tandis que la SRAM pour L1 est plus susceptible d'être optimisée pour la vitesse.
Plus important encore, le temps d'accès est lié à la taille physique du stockage. Avec une disposition bidimensionnelle, on peut s'attendre à ce que la latence d'accès physique soit de à peu près proportionnelle à la racine carrée de la capacité. (L'architecture de cache non uniforme exploite ce phénomène pour fournir un sous-ensemble de cache à une latence plus faible. Les tranches L3 des processeurs Intel récents ont un effet similaire ; un hit dans la tranche locale a une latence significativement plus faible). Cet effet peut rendre un cache DRAM plus rapide qu'un cache SRAM à des capacités élevées, car la DRAM est physiquement plus petite.
Un autre facteur est que la plupart des caches L2 et L3 utilisent un accès série aux balises et aux données alors que la plupart des caches L1 accèdent aux balises et aux données en parallèle. Il s'agit d'une optimisation de l'énergie (les taux d'échec L2 sont plus élevés que les taux d'échec L1, l'accès aux données est donc plus susceptible d'être une perte de travail ; l'accès aux données L2 nécessite généralement plus d'énergie - en fonction de la capacité - et les caches L2 ont généralement une associativité plus élevée, ce qui signifie que davantage d'entrées de données doivent être lues de manière spéculative). Il est évident que le fait de devoir attendre la correspondance de l'étiquette avant d'accéder aux données augmentera le temps nécessaire à la récupération des données. (En outre, l'accès à la mémoire L2 ne commence généralement qu'après la confirmation d'un manque de données dans la mémoire L1, de sorte que la latence de la détection des manques de données dans la mémoire L1 est ajoutée au temps de récupération des données. total latence d'accès de L2).
En outre, le cache L2 est physiquement plus éloigné du moteur d'exécution. Placer le cache de données L1 à proximité du moteur d'exécution (pour que le cas courant de L1 hit soit rapide) signifie généralement que L2 doit être placé plus loin.