Différence entre la mémoire du cache et la mémoire virtuelle

Différence entre la mémoire du cache et la mémoire virtuelle

Mémoire de cache vs mémoire virtuelle
 

La différence entre la mémoire du cache et la mémoire virtuelle existe dans le but pour lequel ces deux sont utilisés et dans l'existence physique. La mémoire du cache est un type de mémoire utilisé pour améliorer le temps d'accès de la mémoire principale. Il réside entre le CPU et la mémoire principale, et il peut y avoir plusieurs niveaux de caches tels que L1, L2 et L3. Le type de matériel utilisé pour la mémoire du cache est beaucoup plus coûteux que le RAM (mémoire d'accès aléatoire) utilisé pour la mémoire principale car la mémoire du cache est beaucoup plus rapide. Pour cette raison, la capacité de la mémoire du cache est très petite. La mémoire virtuelle est une technique de gestion de la mémoire utilisée pour utiliser efficacement la RAM (mémoire principale) tout en offrant un espace mémoire distinct pour chaque programme qui est encore plus grand que la capacité physique réelle RAM (mémoire principale). Ici, le disque dur est utilisé pour étendre la mémoire. Les éléments de la RAM physique sont transférés d'avant en arrière avec le disque dur.

Qu'est-ce que la mémoire du cache?

La mémoire du cache est un type de mémoire Cela se situe entre le CPU (unité centrale de traitement) et la RAM (mémoire d'accès aléatoire). Le but de la mémoire du cache est de réduire le temps d'accès à la mémoire du CPU à partir de la RAM. La mémoire du cache est beaucoup plus rapide que RAM. Donc, le temps d'accès sur le cache est beaucoup moins élevé que le temps d'accès sur RAM. Mais le coût de la mémoire utilisé pour la mémoire du cache est beaucoup plus élevé que le coût de la mémoire utilisé pour la RAM, et donc la capacité de la mémoire du cache est très petite. Le type de mémoire utilisé pour la mémoire de cache est appelé SRAM (mémoire d'accès aléatoire statique).

Chaque fois que le CPU veut accéder à la mémoire, il vérifie d'abord si ce dont il a besoin réside dans la mémoire du cache. Si oui, il pourrait y accéder avec la moindre latence. S'il ne réside pas dans le cache, le contenu demandé serait copié de la RAM vers le cache, puis seul le CPU y accédera depuis le cache. Ici, lors de la copie du contenu à partir du cache, non seulement le contenu de l'adresse mémoire demandée, mais aussi le contenu à proximité est copié pour cache. Ainsi, la prochaine fois, il y a une forte probabilité pour qu'un coup de cache se produise car la plupart des programmes informatiques accèdent aux données à proximité ou aux données pour la dernière fois la plupart du temps. Donc, en raison du cache, la latence de mémoire moyenne est réduite.

Dans CPU, il existe trois types de caches: Cache d'instructions Pour stocker les instructions du programme, Cache de données pour stocker des éléments de données et le Tampon de la translation aside Pour stocker les mappages de mémoire. Pour le cache de données, généralement, il existe des caches à plusieurs niveaux. C'est-à-dire qu'il y a plusieurs caches comme L1, L2 et L3. Le cache L1 est la mémoire de cache la plus rapide mais la plus petite qui est la plus proche du CPU. Le cache L2 est plus lent que L1, mais plus grand que L1 et réside après le cache L1. En raison de cette hiérarchie, un meilleur temps d'accès à la mémoire moyen peut être atteint à moins de coût.

Qu'est-ce que la mémoire virtuelle?

La mémoire virtuelle est un technique de gestion de la mémoire Utilisé dans les systèmes d'ordinateurs. Il n'y a pas de matériel appelé mémoire virtuelle, mais c'est un concept qui utilise RAM et le disque dur pour fournir un espace d'adressage virtuel pour les programmes. Le premier RAM est divisé en morceaux appelés pages et ils sont identifiés par des adresses de mémoire physique. Dans le disque dur, une partie spéciale est réservée où, dans Linux, elle s'appelle l'échange et, à Windows, il s'appelle un fichier de page. Lorsqu'un programme est démarré, il reçoit un espace d'adressage virtuel qui peut être encore plus grand que la mémoire physique réelle. L'espace mémoire virtuel est également divisé en morceaux appelés pages et chacune de cette page de mémoire virtuelle peut être mappée sur une page physique. Le tableau appelé Page Table Gardez une trace de cette cartographie. Lorsque la mémoire physique manque d'espace, ce qui est fait est, certaines pages physiques sont poussées à cette partie spéciale du disque dur. Lorsqu'une page poussée vers le disque dur est à nouveau nécessaire, elle est amenée à la mémoire physique en mettant une autre page sélectionnée dans la mémoire physique au disque dur.

Quelle est la différence entre la mémoire du cache et la mémoire virtuelle?

• La mémoire du cache est un type de mémoire utilisé pour améliorer le temps d'accès à la mémoire principale. Il s'agit d'un type de mémoire plus rapide qui réside entre CPU et RAM pour réduire la latence d'accès à la mémoire moyenne. La mémoire virtuelle est une méthode de gestion de la mémoire où c'est un concept qui permet aux programmes d'obtenir son propre espace mémoire virtuel, qui est encore plus grand que le véritable RAM physique disponible.

• La mémoire du cache est un type de mémoire matérielle qui existe réellement physiquement. D'un autre côté, il n'y a pas de matériel appelé mémoire virtuelle car c'est un concept qui utilise la RAM, le disque dur, l'unité de gestion de la mémoire et le logiciel pour fournir un type de mémoire virtuel.

• La gestion de la mémoire de cache est entièrement effectuée par matériel. La mémoire virtuelle est gérée par le système d'exploitation (logiciel).

• La mémoire du cache se situe entre la RAM et le processeur. Les transferts de données impliquent la RAM, la mémoire de cache et le processeur. La mémoire virtuelle, en revanche, implique le transfert de données entre la RAM et le disque dur.

• Les souvenirs de cache prennent de petites tailles telles que les kilobytes et les mégaoctets. La mémoire virtuelle, en revanche, implique d'énormes tailles qui prennent des gigaoctets.

• La mémoire virtuelle implique des structures de données telles que des tables de page qui stockent la cartographie entre la mémoire physique et la mémoire virtuelle. Mais ce type de structures de données n'est pas nécessaire pour la mémoire du cache.

Résumé:

Mémoire de cache vs mémoire virtuelle

La mémoire de cache est utilisée pour améliorer le temps d'accès à la mémoire principale tandis que la mémoire virtuelle est une méthode de gestion de la mémoire. La mémoire du cache est un matériel réel, mais il n'y a pas de matériel appelé mémoire virtuelle. RAM, disque dur et divers autres matériels avec le système d'exploitation produit le concept appelé mémoire virtuelle pour fournir des espaces de mémoire virtuelle grands et isolés à chaque programme. Le contenu de la mémoire de cache est géré par matériel tandis que le contenu de la mémoire virtuelle est géré par le système d'exploitation.

Images gracieuseté:

  1. Cache Memory Process par Hellisp (CC BY-SA 3.0)
  2. Mémoire virtuelle par Ehamberg (CC BY-SA 3.0)