le différence clée entre adresse logique et adresse physique est que La CPU génère une adresse logique pendant l'exécution du programme alors que l'adresse physique est un emplacement dans l'unité de mémoire.
En termes simples, le CPU génère l'adresse logique ou l'adresse virtuelle. Du point de vue d’un programme en cours d’exécution, un élément semble se trouver à l’adresse fournie par l’adresse logique. L'unité de mémoire observe l'adresse physique. De plus, il permet d’accéder à une cellule particulière de la mémoire principale par le bus de données..
1. Vue d'ensemble et différence clé
2. Quelle est l'adresse logique
3. Quelle est l'adresse physique
4. Comparaison côte à côte - Adresse logique et adresse physique sous forme de tableau
5. Résumé
La CPU génère une adresse logique. Du point de vue d’un programme en cours d’exécution, un élément semble se trouver à l’adresse fournie par l’adresse logique. Les programmes d'application en cours d'exécution sur l'ordinateur ne voient pas les adresses physiques. Ils travaillent toujours en utilisant les adresses logiques. L'espace d'adressage logique est l'ensemble des adresses logiques générées par un programme. Il est nécessaire de mapper les adresses logiques aux adresses physiques avant de les utiliser. L'unité de gestion de la mémoire (MMU) du périphérique matériel gère ce processus de mappage.
MMU suit plusieurs schémas de mappage. Dans le schéma de mappage le plus simple, la valeur du registre de relocalisation est ajoutée à chaque adresse logique produite par les programmes d'application avant de les envoyer à la mémoire. Il existe également d'autres méthodes complexes pour générer le mappage. La liaison d'adresses (c'est-à-dire l'allocation d'instructions et de données dans des adresses de mémoire) peut avoir lieu à trois moments différents.
Figure 01: Adresse logique et physique
Premièrement, cela peut se produire au moment de la compilation si les emplacements de mémoire réels sont connus à l’avance, ce qui générerait le code absolu au moment de la compilation. Cela peut également se produire au moment du chargement si les emplacements de mémoire ne sont pas connus à l’avance. Pour cela, le code ré-localisable doit être généré au moment de la compilation. De plus, la liaison d'adresse peut avoir lieu au moment de l'exécution. Cela nécessite un support matériel pour le mappage d'adresses. Lors de la liaison des adresses de compilation et de chargement, les adresses logique et physique sont identiques. Mais cette procédure est différente lorsque la liaison d'adresse a lieu en temps d'exécution.
L'unité de mémoire observe l'adresse physique ou l'adresse réelle. Il permet au bus de données d'accéder à une cellule de mémoire particulière dans la mémoire principale. MMU mappe l'adresse logique à l'adresse physique. Par exemple, en utilisant le schéma de mappage le plus simple, qui ajoute le registre de relocalisation (en supposant que la valeur dans le registre est y), une adresse logique allant de 0 à x mapperait une adresse physique allant de y à x + y.
En outre, cela s'appelle également l'espace d'adressage physique de ce programme. Toutes les adresses logiques doivent être mappées en adresses physiques avant de pouvoir être utilisées.
Adresse logique vs adresse physique | |
Adresse logique est l'adresse à laquelle un élément semble résider du point de vue d'un programme d'application en cours d'exécution. | L'adresse physique est une adresse mémoire représentée sous la forme d'un nombre binaire sur les circuits du bus d'adresses afin de permettre au bus de données d'accéder à une particulier cellule de stockage de la mémoire principale ou registre de périphériques d’E / S mappés en mémoire. |
Visibilité | |
L'utilisateur peut voir l'adresse logique d'un programme. | L'utilisateur ne peut pas voir l'adresse physique du programme. |
Méthode de génération | |
La CPU génère l'adresse logique. | MMU calcule l'adresse physique. |
Accessibilité | |
L'utilisateur peut utiliser l'adresse logique pour accéder à l'adresse physique. | L'utilisateur ne peut pas accéder directement à l'adresse physique. |
La différence entre adresse logique et adresse physique réside dans le fait que la CPU génère une adresse logique lors de l'exécution du programme alors que l'adresse physique est un emplacement dans l'unité de mémoire. Toutes les adresses logiques doivent être mappées en adresses physiques avant que la MMU puisse les utiliser. Les adresses physique et logique sont les mêmes lorsque vous utilisez la liaison d'adresse de compilation et d'adresse de chargement, mais elles diffèrent lorsque vous utilisez la liaison d'adresse d'exécution.
1. «Adresse logique». Wikipedia, Wikimedia Foundation, 30 avril 2018. Disponible ici
2. «Adresse physique». Wikipedia, Wikimedia Foundation, 30 avril 2018.. Disponible ici
1. «Principe MMU» de André Schieleit - Travail personnel, (domaine public) via Wikimedia Commons