Maison > Opération et maintenance > exploitation et maintenance Linux > Pourquoi Linux a-t-il besoin de mmu

Pourquoi Linux a-t-il besoin de mmu

WBOY
Libérer: 2022-08-17 17:45:26
original
2701 Les gens l'ont consulté

Parce que mmu peut être utilisé pour prendre en charge la gestion de la mémoire virtuelle ; mmu est l'abréviation de "Memory Management Unit", qui est le circuit de contrôle utilisé pour gérer la mémoire virtuelle et la mémoire physique dans le processeur central, et est également responsable de la mémoire virtuelle. mappage d'adresses Fournit des mécanismes matériels pour accorder l'accès à la mémoire aux adresses physiques.

Pourquoi Linux a-t-il besoin de mmu

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

Pourquoi Linux a-t-il besoin de mmu

Parce que les systèmes d'exploitation modernes adoptent généralement un mécanisme de gestion de la mémoire virtuelle (Virtual Memory Management), qui nécessite la prise en charge de la MMU (Memory Management Unit) dans le processeur.

MMU (Memory Management Unit) : unité de gestion de la mémoire, qui est le circuit de contrôle utilisé dans l'unité centrale de traitement (CPU) pour gérer la mémoire virtuelle et la mémoire physique. Elle est également chargée de mapper les adresses virtuelles aux adresses physiques et de fournir des mécanismes matériels. pour la mémoire.

La fonction principale de l'unité de gestion de mémoire (MMU) est la conversion d'adresses virtuelles (adresses de mémoire virtuelle) en adresses physiques (adresses physiques). De plus, il peut également mettre en œuvre la protection de la mémoire, le contrôle du cache, l'arbitrage de bus et la commutation de banque.

Mécanisme de travail

Pourquoi Linux a-t-il besoin de mmu

CPU transmet l'adresse virtuelle demandée à la MMU, puis la MMU recherche d'abord la relation de traduction dans le cache TLB (Translation Lookaside Buffer), et si l'adresse physique correspondante est trouvé, il y accède directement ; s'il n'est pas trouvé, recherchez et calculez dans la table de traduction d'adresses (Translation Table).

Adresse virtuelle

L'unité de gestion de mémoire moderne partitionne l'espace d'adressage virtuel (la plage d'adresses utilisée par le processeur) en pages. La taille de la page est de 2 à la puissance n, généralement quelques Ko. L'adresse virtuelle est donc divisée en deux parties : le numéro de page virtuelle et le décalage.

Pourquoi Linux a-t-il besoin de mmu

Entrée de table de pages (entrée de table de pages)

L'entrée qui stocke le numéro de table de pages physique trouvé dans la table de pages à partir du numéro de page virtuel ci-dessus est l'entrée de table de pages (PTE). PTE occupe généralement 1 mot de longueur, qui contient non seulement le numéro de page physique, mais également le bit d'indicateur de réécriture (bit sale), le bit de contrôle d'accès (bit accédé), le type de processus qui permet la lecture et l'écriture (mode utilisateur/superviseur). , s'il peut être mis en cache et mappé (les deux derniers chiffres du PTE).

Mapping

Méthode de cartographie

Il existe deux méthodes de cartographie, le mappage de segments et le mappage de pages. Le mappage de segments utilise uniquement la table de pages de premier niveau et le mappage de pages utilise la table de pages de premier niveau et la table de pages de deuxième niveau.

Granularité de mappage

Il existe deux granularités de mappage pour le mappage de segments, une section de 1 M et une supersection de 16 M ; les granularités de mappage pour le mappage de pages incluent une petite page de 4 K, une grande page de 64 K et la petite page obsolète de 1 K.

Pourquoi Linux a-t-il besoin de mmu

Apprentissage recommandé : Tutoriel vidéo Linux

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal