Forskel mellem logisk adresse og fysisk adresse

Anonim

Logisk adresse vs fysisk adresse

I enkleste termer er en adresse genereret af CPU'en kendt som en logisk adresse. Logiske adresser kaldes også virtuelle adresser. Ud fra perspektivet af et program, der kører, synes et emne at være placeret i adressen, der er angivet af den logiske adresse. Fysisk adresse (også kaldet de rigtige adresser) er adressen, der ses af hukommelsesenheden, og det tillader adgang til en bestemt hukommelsescelle i hovedhukommelsen af ​​databussen.

Hvad er en logisk adresse?

Logisk adresse er adressen genereret af CPU'en. Ud fra perspektivet af et program, der kører, synes et emne at være placeret i adressen, der er angivet af den logiske adresse. Applikationsprogrammer, der kører på computeren, ser ikke de fysiske adresser. De arbejder altid med de logiske adresser. Det logiske adresserum er det sæt af logiske adresser, der genereres af et program. Logiske adresser skal kortlægges til fysiske adresser, inden de bruges, og denne kortlægning håndteres ved hjælp af en hardwareenhed, der kaldes Memory Management Unit (MMU). Der er flere kortlægningsordninger, der anvendes af MMU. I den enkleste kortlægningsordning tilføjes værdien i flytningsregisteret til hver logisk adresse, der produceres af applikationsprogrammer, før de sendes til hukommelsen. Der er også nogle andre komplekse metoder, der bruges til at generere kortlægningen. Adressebinding (f.eks. Tildeling af instruktioner og data til hukommelsesadresser) kan ske i tre forskellige tider. Adressebinding kan ske i kompileringstid, hvis de faktiske hukommelsessteder er kendt på forhånd, og dette ville generere den absolutte kode i kompileringstid. Adressebinding kan også ske ved indlæsning, hvis hukommelsesstederne ikke er kendt på forhånd. Til dette skal genplacerbar kode genereres på kompileringstidspunktet. Endvidere kan adressebinding ske på udførelsestidspunktet. Dette kræver hardware support til adressekartlegging. I kompileringstid og belastningstidspunkt bindende er logiske og fysiske adresser de samme. Men i henrettelsestidspunktet bindende er de forskellige.

Hvad er en fysisk adresse?

Fysisk adresse eller den rigtige adresse er adressen, der ses af hukommelsesenheden, og den giver databussen adgang til en bestemt hukommelsescelle i hovedhukommelsen. Logiske adresser, der genereres af CPU'en, når der udføres et program, kortlægges til fysisk adresse ved hjælp af MMU'et. For eksempel kan en logisk adresseinterval fra 0 til x, ved hjælp af det enkleste kortlægningsskema, som tilføjer flytningsregisteret (antage, at værdien i registret er y) værdi til den logiske adresse, kortlægge til et fysisk adressefelt y til x + y. dette kaldes også det fysiske adresserum for det pågældende program.Alle de logiske adresser skal kortlægges til fysiske adresser, før de kan bruges.

Hvad er forskellen mellem en logisk adresse og en fysisk adresse?

Logisk adresse er adressen genereret af CPU'en (ud fra et program, der kører), mens fysisk adresse (eller den rigtige adresse) er adressen, der ses af hukommelsesenheden, og det giver databussen adgang til en bestemt hukommelsescelle i hovedhukommelsen. Alle de logiske adresser skal kortlægges i fysiske adresser, før de kan bruges af MMU. Fysiske og logiske adresser er ens, når du bruger kompileringstiden og belastningstidspunktet bindende, men de adskiller sig, når du bruger bindingen til fuldførelsestidspunktet.