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

Table des matières:

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

Vidéo: Différence entre la mémoire cache et la mémoire virtuelle

Vidéo: Différence entre la mémoire cache et la mémoire virtuelle
Vidéo: Ethique, Morale et Déontologie, quelles différences ? 2024, Novembre
Anonim

Mémoire cache vs mémoire virtuelle

La différence entre la mémoire 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 cache est un type de mémoire utilisé pour améliorer le temps d'accès à 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 cache est beaucoup plus coûteux que la RAM (Random Access Memory) utilisée pour la mémoire principale car la mémoire cache est beaucoup plus rapide. Pour cette raison, la capacité de la mémoire 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 fournissant un espace mémoire séparé pour chaque programme qui est encore plus grand que la capacité réelle de la RAM physique (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 dans les deux sens avec le disque dur.

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

La mémoire cache est un type de mémoire qui se situe entre le CPU (Central Processing Unit) et la RAM (Random Access memory). Le but de la mémoire cache est de réduire le temps d'accès mémoire du CPU à la RAM. La mémoire cache est beaucoup plus rapide que la RAM. Ainsi, le temps d'accès sur le cache est bien inférieur au temps d'accès sur la RAM. Mais le coût de la mémoire utilisée pour la mémoire cache est beaucoup plus élevé que le coût de la mémoire utilisée pour la RAM, et par conséquent, la capacité de la mémoire cache est très petite. Le type de mémoire utilisé pour la mémoire cache est appelé SRAM (Static Random Access Memory).

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 cache. Si oui, il serait en mesure d'y accéder avec le moins de latence. S'il ne réside pas dans le cache, le contenu demandé sera copié de la RAM vers le cache et seul le CPU y accédera depuis le cache. Ici, lors de la copie de contenu à partir du cache, non seulement le contenu de l'adresse mémoire demandée mais également le contenu à proximité est copié dans le cache. Ainsi, la prochaine fois, il y a une forte probabilité qu'un accès au cache se produise, car la plupart des programmes informatiques accèdent aux données à proximité ou aux dernières données consultées la plupart du temps. Ainsi, grâce au cache, la latence moyenne de la mémoire est réduite.

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

Dans CPU, il existe trois types de caches: le cache d'instructions pour stocker les instructions du programme, le cache de données pour stocker les éléments de données et le tampon de recherche de traduction pour stocker les mappages de mémoire. Pour le cache de données, il existe généralement des caches à plusieurs niveaux. Autrement dit, il existe plusieurs caches comme L1, L2 et L3. Le cache L1 est la mémoire cache la plus rapide mais la plus petite la plus proche du processeur. Le cache L2 est plus lent que L1, mais plus grand que L1 et réside après le cache L1. Grâce à cette hiérarchie, un meilleur temps moyen d'accès à la mémoire peut être obtenu à moindre coût.

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

La mémoire virtuelle est une technique de gestion de la mémoire utilisée dans les systèmes informatiques. Il n'y a pas de matériel appelé mémoire virtuelle, mais c'est un concept qui utilise la RAM et le disque dur pour fournir un espace d'adressage virtuel aux programmes. La première RAM est divisée 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ù, sous Linux, on l'appelle le swap et, sous Windows, on l'appelle un fichier d'échange. 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 de mémoire virtuelle est également divisé en blocs appelés pages et chacune de ces pages de mémoire virtuelle peut être mappée sur une page physique. La table appelée table des pages garde une trace de ce mappage. Lorsque la mémoire physique manque d'espace, certaines pages physiques sont poussées vers cette partie spéciale du disque dur. Lorsqu'une page poussée sur le disque dur est à nouveau nécessaire, elle est amenée à la mémoire physique en plaçant une autre page sélectionnée de la mémoire physique sur le disque dur.

Mémoire cache vs mémoire virtuelle
Mémoire cache vs mémoire virtuelle
Mémoire cache vs mémoire virtuelle
Mémoire cache vs mémoire virtuelle

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

• La mémoire 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 le CPU et la RAM pour réduire la latence moyenne d'accès à la mémoire. La mémoire virtuelle est une méthode de gestion de la mémoire où il s'agit d'un concept qui permet aux programmes d'obtenir leur propre espace de mémoire virtuelle, qui est encore plus grand que la vraie RAM physique disponible.

• La mémoire cache est un type de mémoire matérielle qui existe réellement physiquement. D'autre part, il n'y a pas de matériel appelé mémoire virtuelle car il s'agit d'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 virtuelle.

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

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

• Les mémoires cache prennent de petites tailles telles que des kilo-octets et des méga-octets. La mémoire virtuelle, en revanche, implique des tailles énormes qui prennent des gigaoctets.

• La mémoire virtuelle implique des structures de données telles que des tables de pages qui stockent le mappage 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 cache.

Résumé:

Mémoire cache vs mémoire virtuelle

La mémoire 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 cache est un matériel réel, mais il n'y a pas de matériel appelé mémoire virtuelle. La RAM, le disque dur et divers autres matériels associés au système d'exploitation produisent le concept appelé mémoire virtuelle pour fournir des espaces de mémoire virtuelle importants et isolés à chaque programme. Le contenu de la mémoire cache est géré par le matériel tandis que le contenu de la mémoire virtuelle est géré par le système d'exploitation.

Conseillé: