A principal diferença entre o endereço lógico e o endereço físico é que a CPU gera o endereço lógico durante a execução do programa, ao passo que 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 determinada célula de memória na memória principal pelo barramento de dados.