Diferença entre endereço lógico e endereço físico

o diferença chavee entre endereço lógico e endereço físico é que A CPU gera um endereço lógico durante a execução do programa, enquanto o endereço físico é um local na unidade de memória.

Em termos simples, a CPU gera o endereço lógico ou endereço virtual. Da perspectiva de um programa em execução, um item parece estar localizado no endereço fornecido pelo endereço lógico. A unidade de memória observa o endereço físico. Além disso, permite acessar uma célula de memória específica na memória principal pelo barramento de dados.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é endereço lógico
3. O que é endereço físico
4. Comparação lado a lado - endereço lógico x endereço físico em forma de tabela
5. Resumo

O que é endereço lógico?

CPU gera endereço lógico. Da perspectiva de um programa em execução, um item parece estar localizado no endereço fornecido pelo endereço lógico. Os programas aplicativos em execução no computador não veem os endereços físicos. Eles sempre trabalham usando os endereços lógicos. O espaço de endereço lógico é o conjunto de endereços lógicos que um programa gera. É necessário mapear os endereços lógicos para endereços físicos antes de usá-los. A Unidade de Gerenciamento de Memória (MMU) do dispositivo de hardware lida com esse processo de mapeamento.

Esquemas de Mapeamento MMU

O MMU segue vários esquemas de mapeamento. No esquema de mapeamento mais simples, o valor no registro de realocação é adicionado a cada endereço lógico produzido pelos programas aplicativos antes de enviá-los para a memória. Existem também outros métodos complexos para gerar o mapeamento. A ligação de endereço (ou seja, alocar instruções e dados em endereços de memória) pode ocorrer em três momentos diferentes.

Figura 01: Endereço lógico e físico

Em primeiro lugar, isso pode acontecer em tempo de compilação, se os locais reais da memória forem conhecidos antecipadamente, e isso geraria o código absoluto em tempo de compilação. Isso também pode acontecer no momento do carregamento, se os locais da memória não forem conhecidos antecipadamente. Para isso, o código recolocável precisa ser gerado em tempo de compilação. Além disso, a ligação de endereço pode acontecer no momento da execução. Isso requer suporte de hardware para mapeamento de endereços. Na ligação de endereço em tempo de compilação e tempo de carregamento, os endereços lógicos e físicos são os mesmos. Mas esse procedimento é diferente quando a ligação de endereço ocorre no tempo de execução.

O que é endereço físico?

A unidade de memória observa o endereço físico ou o endereço real. Permite que o barramento de dados acesse uma célula de memória específica na memória principal. A MMU mapeia o endereço lógico para o endereço físico. Por exemplo, usando o esquema de mapeamento mais simples, que adiciona o valor do registro de realocação (suponha que o valor no registro seja y) ao endereço lógico, um endereço lógico varia de 0 a x seria mapeado para um intervalo de endereços físico y até x + y.

Além disso, isso também é chamado de espaço de endereço físico desse programa. Todos os endereços lógicos precisam ser mapeados em endereços físicos antes de poderem ser usados.

Qual é a diferença entre endereço lógico e endereço físico?

 Endereço Lógico vs Endereço Físico

Endereço lógico é o endereço no qual um item parece residir da perspectiva de um programa aplicativo em execução. Endereço físico é um endereço de memória representado na forma de um número binário no circuito do barramento de endereços para permitir que o barramento de dados acesse um especial célula de armazenamento da memória principal ou um registro do dispositivo de E / S mapeado na memória.
Visibilidade
O usuário pode visualizar o endereço lógico de um programa. O usuário não pode visualizar o endereço físico do programa.
Método de Geração
CPU gera o endereço lógico. A MMU calcula o endereço físico.
Acessibilidade
O usuário pode usar o endereço lógico para acessar o endereço físico. O usuário não pode acessar diretamente o endereço físico.

Resumo - Endereço Lógico x Endereço Físico

A diferença entre endereço lógico e endereço físico é que a CPU gera endereço lógico quando o programa é executado, enquanto o endereço físico é um local na unidade de memória. Todos os endereços lógicos precisam ser mapeados em endereços físicos antes que a MMU possa usá-los. Os endereços físicos e lógicos são os mesmos ao usar a ligação de endereço de tempo de compilação e carregamento, mas diferem ao usar a ligação de endereço de tempo de execução.

Referência:

1. "Endereço lógico". Wikipedia, Wikimedia Foundation, 30 de abril de 2018. Disponível aqui 
2. "Endereço físico". Wikipedia, Wikimedia Foundation, 30 de abril de 2018. Disponível aqui 

Cortesia da imagem:

1.'MMU princípio 'Por Andre Schieleit - Obra própria, (Domínio Público) via Commons Wikimedia