Quest-ce que le cache L0 ?

Les processeurs sont des bêtes incroyablement complexes. Il existe de nombreuses pièces interconnectées qui doivent toutes fonctionner à l'unisson pour atteindre les niveaux de performance que nous voyons. L'une des principales caractéristiques d'un processeur est le cache. Ce n'est pas une fonctionnalité flashy. Il ne fait pas de publicité aussi bien que le nombre de cœurs ou la fréquence de pointe. Cependant, il est essentiel à la performance.

Pourquoi cache ?

Les processeurs modernes sont incroyablement rapides. Ils effectuent plus de cinq milliards d'opérations chaque seconde. Il est difficile de garder le processeur alimenté en données lorsqu'il fonctionne aussi rapidement. La RAM a une capacité suffisante pour alimenter le CPU en données. Il peut même transférer des données toutes les secondes, grâce à des bandes passantes très élevées. Ce n'est pas le problème, cependant. Le problème c'est la latence.

La RAM peut réagir très rapidement. Le problème, c'est que "très vite" c'est long quand on fait cinq milliards de choses chaque seconde. Même la RAM la plus rapide a une latence supérieure à 60 nanosecondes. Encore une fois, 60 nanosecondes sonnent comme pas de temps du tout. Le problème est que si le processeur fonctionnait à 1 GHz, il faudrait 1 ns pour terminer un cycle. Avec des processeurs haut de gamme atteignant 5,7 GHz, cela représente un cycle toutes les 175 picosecondes. À quoi ressemblent ces 60 nanosecondes de latence maintenant ? C'est 342 cycles de latence.

Ce type de latence serait un tueur pour toutes les performances du processeur. Pour contourner cela, un cache est utilisé. Le cache est placé sur la puce CPU elle-même. Il est également beaucoup plus petit que la RAM et utilise une structure différente, SRAM plutôt que DRAM. Cela le rend beaucoup plus rapide à répondre que la RAM principale du système. Le cache est généralement hiérarchisé, avec L1, L2 et L3 utilisés pour désigner les niveaux qui s'éloignent de plus en plus des cœurs de processeur. Les niveaux inférieurs sont plus rapides mais plus petits. L1 peut avoir une latence de quatre ou cinq cycles d'horloge, bien meilleure que 342.

Mais certains processeurs mentionnent un L0 ?

La terminologie pour L1, L2 et L3 est assez standard. La vague compréhension de ce qu'ils signifient et font est relativement courante, même parmi les fournisseurs de processeurs. C'est parce qu'ils sont régis par la physique des matériaux et de l'électricité ; peu de choses peuvent changer. Vous pouvez avoir un cache rapide ou un gros cache, pas les deux. Il doit être plus grand si vous partagez un cache entre plusieurs cœurs. À cette fin, L1 et L2 ont tendance à être spécifiques au cœur. Le plus grand cache L3 a tendance à être partagé entre certains ou tous les cœurs du processeur ou du chiplet.

Comme vous pouvez probablement le deviner, L0 est lié à la mise en cache mais a été inséré dans le schéma de nommage après coup. Cela n'aide pas à comprendre ce que cela signifie, cependant. Vous pouvez probablement deviner certaines choses, cependant. Ça va être limité à un cœur, ça va être minuscule, et ça va être rapide. L'autre nom qu'il porte peut aider un peu; c'est le cache micro-op.

Au lieu de mettre en cache les données de la mémoire ou les instructions complètes, L0 met en cache les micro-opérations. Comme nous l'avons récemment décrit , un micro-op est une caractéristique des processeurs modernes. Les instructions dans x86 et d'autres ISA sont volumineuses, complexes et difficiles à intégrer efficacement dans un pipeline. Vous pouvez les canaliser beaucoup plus efficacement si vous les décomposez en micro-opérations constituantes. Dans certains cas, vous pouvez même regrouper plusieurs micro-opérations, même à partir d'instructions différentes, en une seule micro-opération, ce qui permet à la fois d'améliorer les performances et de réduire la puissance.

Architecture CPU avec cache micro-op

Pour exécuter une instruction, un CPU moderne la décode. Cela implique de diviser l'instruction en ses micro-opérations constitutives et de déterminer les emplacements de mémoire qui doivent être référencés. De nombreux logiciels utilisent régulièrement des fonctionnalités similaires et peuvent souvent réutiliser le même code dans une boucle ou à partir d'une fonction appelée. Cela signifie que les instructions exactes peuvent être appelées encore et encore. Cela signifie alors que les mêmes micro-opérations sont appelées encore et encore. Et si les mêmes micro-opérations sont nécessaires à plusieurs reprises, elles peuvent être mises en cache. La mise en cache des micro-opérations peut réduire la charge sur les décodeurs d'instructions, en réduisant la consommation d'énergie ou en aidant à remplir le pipeline plus rapidement.

Le cache doit rester petit, mais lorsqu'il est géré avec soin, il est accessible avec une latence de cycle unique, voire aucune. Cela peut être suffisant pour éviter d'avoir à prendre en charge la latence de 4 cycles vers le cache L1 et ne s'accompagne d'aucune pénalité d'absence de cache.

Conclusion

Le cache L0 est un autre nom pour le cache micro-op. Cela peut faire partie des processeurs modernes qui utilisent des micro-opérations. Il contient généralement quelques milliers d'entrées et ses capacités sont indiquées en nombre d'entrées plutôt qu'en octets. L0 est accessible plus rapidement que L1, généralement avec une latence de 1 ou 0 cycle. La mise en cache des micro-opérations réduit la charge sur les décodeurs d'instructions, en particulier dans le code qui fait bon usage des boucles ou des fonctions.



Leave a Comment

Que faire si les Powerbeats Pro ne se chargent pas dans le boîtier

Que faire si les Powerbeats Pro ne se chargent pas dans le boîtier

Si vos Powerbeats Pro ne se chargent pas, utilisez une autre source d

Les bases de l'impression 3D : Une liste de contrôle de maintenance indispensable

Les bases de l'impression 3D : Une liste de contrôle de maintenance indispensable

Maintenir votre équipement en bon état est essentiel. Voici quelques conseils utiles pour garder votre imprimante 3D en parfait état.

Canon Pixma MG5220 : Scanner sans encre

Canon Pixma MG5220 : Scanner sans encre

Comment activer la numérisation sur la Canon Pixma MG5220 lorsque vous n'avez plus d'encre.

5 Raisons Pour Lesquelles Votre Ordinateur Portable Surchauffe

5 Raisons Pour Lesquelles Votre Ordinateur Portable Surchauffe

Découvrez quelques raisons possibles pour lesquelles votre ordinateur portable surchauffe, ainsi que des conseils et astuces pour éviter ce problème et garder votre appareil au frais.

Comment résoudre le code d'erreur GeForce Now 0xC272008F

Comment résoudre le code d'erreur GeForce Now 0xC272008F

Vous vous installez pour une soirée de jeu, et cela va être grand – vous venez de récupérer "Star Wars Outlaws" sur le service de streaming GeForce Now. Découvrez la seule solution connue qui vous montre comment résoudre le code d

Principes de l'impression 3D : Conseils d'entretien pour votre imprimante 3D

Principes de l'impression 3D : Conseils d'entretien pour votre imprimante 3D

L

Comment Trouver l'Adresse IP d'une Imprimante

Comment Trouver l'Adresse IP d'une Imprimante

Vous avez du mal à trouver l

Comment utiliser les AirPods avec les téléphones Samsung

Comment utiliser les AirPods avec les téléphones Samsung

Si vous hésitez à acheter des AirPods pour votre téléphone Samsung, ce guide vous aidera certainement. La question la plus évidente est de savoir si les deux sont compatibles, et la réponse est : oui !

Fix Always on Display ne fonctionne pas sur Galaxy Watch

Fix Always on Display ne fonctionne pas sur Galaxy Watch

Pour résoudre les problèmes de Always on Display sur Samsung Galaxy Watch, désactivez le mode d

La mémoire du Chromebook peut-elle être mise à niveau ?

La mémoire du Chromebook peut-elle être mise à niveau ?

Découvrez si la mémoire du Chromebook peut être mise à niveau et comment optimiser ses performances avec la gestion de la RAM.