Maison Problème commun Qu'est-ce que le cache ?

Qu'est-ce que le cache ?

Nov 25, 2022 am 11:48 AM
存储器 cache

le cache est appelé mémoire cache, qui est une mémoire à grande vitesse et de petite capacité entre l'unité centrale et la mémoire principale. Elle est généralement composée de SRAM à grande vitesse, ce type de mémoire locale est orienté vers le CPU, et il est introduit pour réduire ou éliminer la connexion entre le processeur et la mémoire principale. L'impact des différences de vitesse entre les mémoires sur les performances du système. La capacité du cache est petite mais rapide, la vitesse de la mémoire est faible mais la capacité est grande. En optimisant l'algorithme de planification, les performances du système seront grandement améliorées.

Qu'est-ce que le cache ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.

Qu'est-ce que le cache ?

Mémoire cache : La mémoire cache d'un ordinateur est une mémoire petite mais à grande vitesse située entre le CPU et la mémoire principale DRAM (Dynamic Random Access Memory), généralement composée de SRAM (Static Random Access Memory). Mémoire vive).

Quest-ce que le cache ?

Comme le montre la figure 3.28, le cache est une mémoire de petite capacité entre le CPU et la mémoire principale M2, mais la vitesse d'accès est plus rapide que la mémoire principale et la capacité est beaucoup plus petite que la mémoire principale. Le cache peut fournir des instructions et des données au processeur à grande vitesse, accélérant ainsi l'exécution du programme. D'un point de vue fonctionnel, il s'agit d'une mémoire tampon de la mémoire principale, composée de SRAM à grande vitesse. Dans la recherche d'une vitesse élevée, toutes les fonctions, y compris la gestion, sont implémentées dans le matériel et sont donc transparentes pour les programmeurs.

Actuellement, avec les progrès de l'intégration des dispositifs semi-conducteurs, les caches et les processeurs de petite capacité peuvent être intégrés dans la même puce, et leur vitesse de fonctionnement est proche de la vitesse du processeur, formant ainsi un système de cache à deux niveaux ou plus. .

Fonction du cache

La fonction du cache est d'augmenter le taux d'entrée et de sortie des données du processeur. La capacité du cache est petite mais rapide, la vitesse de la mémoire est faible mais la capacité est grande. En optimisant l'algorithme de planification, les performances du système seront grandement améliorées, comme si la capacité du système de stockage était équivalente à la mémoire et que la vitesse d'accès était similaire à celle-ci. la Cache.

La vitesse du CPU est bien supérieure à celle de la mémoire. Lorsque le CPU accède directement aux données de la mémoire, il doit attendre un certain temps, tandis que le cache peut enregistrer une partie des données du CPU. vient d'être utilisée ou recyclée, si le CPU a besoin de réutiliser cette partie des données. Elle peut être appelée directement depuis le Cache, ce qui évite les accès répétés aux données, réduit le temps d'attente du CPU, et améliore ainsi l'efficacité du système. . Le cache est divisé en L1Cache (cache de niveau un) et L2Cache (le cache de niveau deux est principalement intégré au CPU, tandis que L2Cache est intégré sur la carte mère ou le CPU).

Principes de base du cache

En plus de la SRAM, le cache dispose également d'une logique de contrôle. Si le cache est à l'extérieur de la puce CPU, sa logique de contrôle est généralement combinée avec la logique de contrôle de la mémoire principale, appelée contrôleur de mémoire principale/chace ; si le cache est à l'intérieur du CPU, le CPU fournit sa logique de contrôle ; C L'échange de données entre le CPU et le cache est basé sur des mots, tandis que l'échange de données entre le cache et la mémoire principale est basé sur des blocs. Un bloc est composé de plusieurs mots et a une longueur fixe. Lorsque le CPU lit un mot en mémoire, il envoie l'adresse mémoire du mot au cache et à la mémoire principale. A ce moment, la logique de contrôle du cache détermine si le mot est actuellement dans le cache en fonction de l'adresse : si c'est le cas, le cache arrive et le mot est immédiatement transféré au CPU, sinon, le cache est manquant (manqué), et ; le cycle de lecture de la mémoire principale est utilisé pour lire le mot dans la mémoire principale. La lecture est envoyée au CPU. En même temps, l'intégralité du bloc de données contenant ce mot est lue dans la mémoire principale et envoyée au cache.

Quest-ce que le cache ?La figure 3.29 montre le diagramme schématique du cache. Supposons que le temps de lecture du cache soit de 50 ns et que le temps de lecture de la mémoire principale soit de 250 ns. Le système de stockage est modulaire, et chaque module 8K de la mémoire principale est associé à un cache d'une capacité de 16 mots. Le cache est divisé en 4 lignes, chaque ligne comporte 4 mots (W). L'adresse attribuée au cache est stockée dans une mémoire associative CAM, qui est une mémoire adressable par le contenu. Lorsque le CPU exécute une instruction d'accès à la mémoire, il envoie l'adresse du mot auquel accéder au CAM si W n'est pas dans le cache, W est transféré de la mémoire principale vers le CPU ; Dans le même temps, une ligne de données composée de quatre mots consécutifs contenant W est envoyée au cache, remplaçant la ligne de données d'origine dans le cache. Ici, l'algorithme de remplacement est implémenté par des circuits logiques matériels qui gèrent toujours l'utilisation du cache.

Taux de réussite du cacheDu point de vue du processeur, le but de l'ajout de cache est de rendre le temps de lecture moyen de la mémoire principale aussi proche que possible du temps de lecture du cache en termes de performances. Afin d'atteindre cet objectif, la part de tous les accès mémoire qui est satisfaite par le cache pour répondre aux besoins du processeur doit représenter une proportion élevée, c'est-à-dire que le taux de réussite du cache doit être proche de 1. Atteindre cet objectif est possible grâce à la localité d’accès au programme.

Lors de l'exécution d'un programme, soit Nc représente le nombre total d'accès effectués par le cache, Nₘ représente le nombre total d'accès effectués par la mémoire principale, et h est défini comme le taux de réussite, alors h=Nc/( Nc+Nₘ)

Si tc représente le temps d'accès au cache lorsqu'un hit se produit, tₘ représente le temps d'accès à la mémoire principale lorsqu'un échec se produit, 1-h représente le taux d'échec (taux manquant), puis le temps d'accès moyen tₐ du cache/ le système de mémoire principale est

tₐ=htc+(1−h)tₘ
Copier après la connexion

L'objectif que nous poursuivons est de rendre le temps d'accès moyen tₐ du système cache/mémoire principale aussi proche que possible de tc avec un faible coût matériel. Supposons que r = tₘ/tc représente le rapport du temps d'accès entre la mémoire principale et le cache, et e représente l'efficacité de l'accès, alors

e=tc/ta=tc/(htc+(1−h)tm)=1/(h+(1−h)r)=1/(r+(1−r)h)
Copier après la connexion

On peut voir à partir de cette formule que pour améliorer l'efficacité de l'accès, plus le taux de réussite h est proche à 1, mieux c'est. La valeur r appropriée est comprise entre 5 et 10 et ne doit pas être trop élevée.

Le taux de réussite h est lié au comportement du programme, à la capacité du cache, à la méthode d'organisation et à la taille des blocs.

Problèmes qui doivent être résolus dans la conception de la structure du cache

Il ressort du principe de fonctionnement de base du cache que la conception du cache doit suivre deux principes : Premièrement, nous espérons que le taux de réussite du cache est aussi élevé que possible, qui devrait en fait être proche de 1 ; La seconde est d'espérer que le cache soit transparent pour le CPU, c'est-à-dire qu'il y ait ou non un cache, le CPU accède à la mémoire de la même manière et le logiciel peut y accéder. le cache sans ajouter d'instructions. Les problèmes de taux de réussite et de transparence sont résolus du point de vue de l'accès à la mémoire du CPU, la mémoire aura la capacité de la mémoire principale et une vitesse proche du cache. À cette fin, un certain circuit matériel doit être ajouté pour compléter la fonction de contrôle, c'est-à-dire le contrôleur de cache.

Lors de la conception de la structure du cache, plusieurs problèmes doivent être résolus : ① Comment stocker le contenu de la mémoire principale lorsqu'il est transféré dans le cache ? ② Comment retrouver les informations dans le cache lors de l'accès à la mémoire ? les informations existantes dans le cache lorsque l'espace du cache est insuffisant Contenu ? ④ Comment réécrire le contenu du cache lorsqu'une opération d'écriture est requise

Parmi elles, les deux premières questions sont liées les unes aux autres, c'est-à-dire comment localiser le ? informations sur la mémoire principale dans le cache et comment convertir l'adresse de la mémoire principale en adresse de cache. Par rapport à la capacité de la mémoire principale, la capacité du cache est très petite. Le contenu qu'il enregistre n'est qu'un sous-ensemble du contenu de la mémoire principale, et l'échange de données entre le cache et la mémoire principale s'effectue en unités de bloc. Afin de placer le bloc de mémoire principale dans le cache, une méthode doit être utilisée pour localiser l'adresse de la mémoire principale dans le cache, appelée mappage d'adresses. La signification physique du mot « mappage » est de déterminer la relation correspondante entre les emplacements et de la mettre en œuvre avec du matériel. De cette façon, lorsque le CPU accède à la mémoire, l'adresse mémoire d'un mot qu'il donne sera automatiquement convertie en adresse de cache, c'est-à-dire la conversion d'adresse de cache.

Le problème du remplacement du cache consiste principalement à sélectionner et à exécuter l'algorithme de remplacement pour remplacer le contenu du cache lorsque le cache manque. La dernière question concerne la stratégie d'opération d'écriture du cache, qui se concentre sur le maintien de la cohérence entre la mémoire principale et le cache lors des mises à jour.

Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle mémoire a la vitesse d'accès la plus rapide ? Quelle mémoire a la vitesse d'accès la plus rapide ? Jul 26, 2022 am 10:54 AM

La mémoire à accès le plus rapide est la « mémoire interne » ; la mémoire de l'ordinateur adopte une structure hiérarchique, classée par ordre de vitesse, comprenant la mémoire interne, la mémoire cache, la mémoire principale de l'ordinateur et les disques de grande capacité. La mémoire est généralement divisée en. Mémoire RAM à accès aléatoire et mémoire ROM en lecture seule.

Après avoir rejoint l'entreprise, j'ai compris ce qu'est Cache Après avoir rejoint l'entreprise, j'ai compris ce qu'est Cache Jul 31, 2023 pm 04:03 PM

La chose est en fait comme ça. À ce moment-là, mon chef m'a confié une tâche de surveillance des performances du matériel. Pendant le processus d'utilisation de perf, j'ai entré la liste des commandes perf et j'ai vu les informations suivantes : Ma tâche est d'activer ces événements de cache. être compté normalement. Mais le fait est que je n'ai aucune idée de ce que signifient ces ratés et ces charges.

Le CPU peut-il accéder directement aux données de la mémoire interne ? Le CPU peut-il accéder directement aux données de la mémoire interne ? Nov 25, 2022 pm 02:02 PM

Accessible directement. La mémoire interne, également appelée mémoire, constitue le pont entre la mémoire externe et le processeur. Tous les programmes de l'ordinateur s'exécutent en mémoire. La fonction de la mémoire est de stocker temporairement les données de calcul dans le CPU et les données échangées avec des mémoires externes telles que des disques durs. Tant que l'ordinateur est en marche, le système d'exploitation transférera les données qui doivent être calculées de la mémoire au CPU pour le calcul. Une fois le calcul terminé, le CPU transmettra les résultats. Le fonctionnement de la mémoire détermine également les résultats. fonctionnement stable de l'ordinateur.

Quelle est la base pour laquelle les ordinateurs disposent de fortes capacités de mémoire ? Quelle est la base pour laquelle les ordinateurs disposent de fortes capacités de mémoire ? Jul 09, 2021 pm 03:59 PM

La base pour qu’un ordinateur ait une forte capacité de mémoire est un périphérique de stockage doté d’une capacité suffisante. La mémoire peut être divisée en mémoire interne et mémoire externe. Elles permettent aux ordinateurs de disposer de fonctions de mémoire puissantes et peuvent stocker de grandes quantités d'informations. Ces informations comprennent non seulement divers types d'informations, mais également des programmes permettant de traiter ces données.

Quel est le système de mémoire dans un système informatique ? Quel est le système de mémoire dans un système informatique ? Jul 22, 2022 pm 02:23 PM

Le système de mémoire fait référence à un système dans un ordinateur composé de divers périphériques de stockage qui stockent des programmes et des données, des composants de contrôle, ainsi que des périphériques (matériel) et des algorithmes (logiciels) qui gèrent la planification des informations. Le système de stockage offre la possibilité d'écrire et de lire des informations (programmes et données) nécessaires au travail informatique et réalise la fonction de mémoire d'informations de l'ordinateur. La structure hiérarchique du système de stockage peut être divisée en cinq niveaux : groupe de registres, cache cache, mémoire principale, mémoire virtuelle et mémoire externe.

Quel pays a inventé la clé USB ? Quel pays a inventé la clé USB ? Oct 09, 2022 pm 02:26 PM

La clé USB a été inventée en Chine et Netac est l'inventeur mondial de la clé USB. En juillet 2002, la « méthode et dispositif de stockage externe Fast Lightning pour les systèmes de traitement de données » de Netac a été officiellement autorisé par l'Office national de la propriété intellectuelle. Ce brevet a comblé le vide de 20 ans dans les brevets d'invention dans le domaine du stockage informatique en Chine ; Le 7 décembre 2019, Netac a reçu le brevet d'invention de base pour les disques flash officiellement autorisé par l'Office national des brevets des États-Unis.

Pourquoi l'utilisation du cache augmente-t-elle la vitesse de l'ordinateur ? Pourquoi l'utilisation du cache augmente-t-elle la vitesse de l'ordinateur ? Dec 09, 2020 am 11:28 AM

L'utilisation du cache peut augmenter la vitesse de l'ordinateur car le cache réduit le temps d'attente du processeur. Le cache est une mémoire petite mais rapide située entre le processeur et la mémoire principale DRAM. La fonction du cache est d'augmenter le taux d'entrée et de sortie des données du processeur ; le cache a une petite capacité mais une vitesse rapide, tandis que la vitesse de la mémoire est faible mais a une grande capacité. En optimisant l'algorithme de planification, les performances du système seront améliorées. grandement amélioré.

Qu'est-ce que le cache ? Qu'est-ce que le cache ? Nov 25, 2022 am 11:48 AM

Le cache est appelé mémoire cache. Il s'agit d'une mémoire haute vitesse de petite capacité entre l'unité centrale et la mémoire principale. Elle est généralement composée de SRAM haute vitesse. Ce type de mémoire locale est orienté vers le CPU. pour réduire ou éliminer l'écart entre le processeur et la mémoire. L'impact de la différence de vitesse entre eux sur les performances du système. La capacité du cache est petite mais rapide, la vitesse de la mémoire est faible mais la capacité est grande. En optimisant l'algorithme de planification, les performances du système seront grandement améliorées.