Entre adresse logique et adresse physique

Anonim

Adresse logique vs adresse physique

En termes plus simples, une adresse générée par la CPU est appelée adresse logique. Les adresses logiques sont également appelées adresses virtuelles. Du point de vue d'un programme en cours d'exécution, un élément semble se trouver dans l'adresse fournie par l'adresse logique. L'adresse physique (également appelée adresses réelles) est l'adresse vue par l'unité de mémoire et elle permet d'accéder à une cellule mémoire particulière dans la mémoire principale par le bus de données.

Qu'est-ce qu'une adresse logique?

L'adresse logique est l'adresse générée par le CPU. Du point de vue d'un programme en cours d'exécution, un élément semble se trouver dans l'adresse fournie par l'adresse logique. Les programmes d'application qui s'exécutent 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. Les adresses logiques doivent être mappées en adresses physiques avant d'être utilisées et ce mappage est géré à l'aide d'un périphérique matériel appelé Unité de gestion de la mémoire (MMU). Il existe plusieurs schémas de cartographie utilisés par la MMU. Dans le schéma de mappage le plus simple, la valeur dans le 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 qui sont utilisées pour générer le mappage. La liaison d'adresse (c'est-à-dire l'allocation d'instructions et de données aux adresses de mémoire) peut se produire à trois moments différents. La liaison d'adresse peut se produire dans le temps de compilation si les emplacements de mémoire réels sont connus à l'avance et cela génèrerait le code absolu au moment de la compilation. La liaison d'adresse peut également se produire au moment du chargement si les emplacements de mémoire ne sont pas connus à l'avance. Pour cela, le code re-localisable doit être généré au moment de la compilation. En outre, la liaison d'adresse peut se produire au moment de l'exécution. Cela nécessite un support matériel pour le mappage d'adresses. Dans la liaison de l'adresse de compilation et du temps de chargement, les adresses logiques et physiques sont les mêmes. Mais dans la liaison d'adresse de temps d'exécution, ils sont différents.

Qu'est-ce qu'une adresse physique?

L'adresse physique ou l'adresse réelle est l'adresse vue par l'unité de mémoire et elle permet au bus de données d'accéder à une cellule mémoire particulière dans la mémoire principale. Les adresses logiques générées par le processeur lors de l'exécution d'un programme sont mappées à l'adresse physique à l'aide de la MMU. Par exemple, en utilisant le schéma de mappage le plus simple, qui ajoute la valeur de l'adresse logique à l'adresse logique, une plage d'adresses logique de 0 à x correspondrait à une plage d'adresses physiques y à x + y. c'est aussi appelé l'espace d'adressage physique de ce programme.Toutes les adresses logiques doivent être mappées aux adresses physiques avant de pouvoir être utilisées.

Quelle est la différence entre une adresse logique et une adresse physique?

L'adresse logique est l'adresse générée par la CPU (du point de vue d'un programme en cours d'exécution) alors que l'adresse physique (ou l'adresse réelle) est l'adresse vue par la mémoire et permet au bus de données d'accéder à un cellule mémoire dans la mémoire principale. Toutes les adresses logiques doivent être mappées aux adresses physiques avant qu'elles puissent être utilisées par le MMU. Les adresses physiques et logiques sont les mêmes lors de l'utilisation de l'heure de compilation et de la liaison d'adresse de temps de chargement, mais elles diffèrent lors de l'utilisation de la liaison d'adresse de temps d'exécution.