Skillnaden mellan logisk adress och fysisk adress

Innehållsförteckning:

Skillnaden mellan logisk adress och fysisk adress
Skillnaden mellan logisk adress och fysisk adress

Video: Skillnaden mellan logisk adress och fysisk adress

Video: Skillnaden mellan logisk adress och fysisk adress
Video: Logical vs Physical address space | OS | Lec-32 | Bhanu Priya 2024, Juli
Anonim

Den viktigaste skillnaden mellan logisk adress och fysisk adress är att CPU genererar logisk adress under programkörning medan den fysiska adressen är en plats i minnesenheten.

I enkla termer genererar CPU den logiska adressen eller den virtuella adressen. Ur perspektivet av ett program som körs verkar ett objekt befinna sig på adressen som den logiska adressen tillhandahåller. Minnesenheten observerar den fysiska adressen. Dessutom tillåter den åtkomst till en speciell minnescell i huvudminnet via databussen.

Skillnaden mellan logisk adress och fysisk adress - jämförelsesammanfattning
Skillnaden mellan logisk adress och fysisk adress - jämförelsesammanfattning
Skillnaden mellan logisk adress och fysisk adress - jämförelsesammanfattning
Skillnaden mellan logisk adress och fysisk adress - jämförelsesammanfattning

Vad är logisk adress?

CPU genererar logisk adress. Ur perspektivet av ett program som körs verkar ett objekt befinna sig på adressen som den logiska adressen tillhandahåller. Program som körs på datorn ser inte de fysiska adresserna. De arbetar alltid med de logiska adresserna. Det logiska adressutrymmet är den uppsättning logiska adresser som ett program genererar. Det är nödvändigt att mappa de logiska adresserna till fysiska adresser innan du använder dem. Hårdvaruenheten Memory Management Unit (MMU) hanterar denna mappning.

MMU-kartläggningsscheman

MMU följer flera kartläggningsscheman. I det enklaste mappningsschemat läggs värdet i omlokaliseringsregistret till varje logisk adress som produceras av applikationsprogram innan de skickas till minnet. Det finns också några andra komplexa metoder för att generera kartläggningen. Adressbindning (dvs. allokering av instruktioner och data till minnesadresser) kan ske vid tre olika tidpunkter.

Skillnaden mellan logisk adress och fysisk adress
Skillnaden mellan logisk adress och fysisk adress
Skillnaden mellan logisk adress och fysisk adress
Skillnaden mellan logisk adress och fysisk adress

Figur 01: Logisk och fysisk adress

För det första kan det hända under kompileringstid om de faktiska minnesplatserna är kända i förväg, och detta skulle generera den absoluta koden under kompileringstiden. Det kan också hända vid laddningstid om minnesplatserna inte är kända i förväg. För detta måste omlokaliseringsbar kod genereras vid kompileringstillfället. Dessutom kan adressbindning ske vid utförandetidpunkten. Detta kräver hårdvarustöd för adressmappning. Vid kompileringstid och laddningstidsadressbindning är logiska och fysiska adresser desamma. Men den här proceduren är annorlunda när adressbindning sker under körningstid.

Vad är fysisk adress?

Minnesenheten observerar den fysiska adressen eller den verkliga adressen. Det tillåter databussen att komma åt en viss minnescell i huvudminnet. MMU mappar den logiska adressen till fysisk adress. Om man till exempel använder det enklaste mappningsschemat, som lägger till omlokaliseringsregistret (antag att värdet i registret är y) till den logiska adressen, skulle en logisk adress från 0 till x mappas till ett fysiskt adressområde y till x+ å.

Dessutom kallas detta även det fysiska adressutrymmet för det programmet. Alla logiska adresser måste mappas till fysiska adresser innan de kan användas.

Vad är skillnaden mellan logisk adress och fysisk adress?

Logisk adress kontra fysisk adress

Logisk adress är adressen där ett objekt tycks ligga ur ett körande applikationsprograms perspektiv. Fysisk adress är en minnesadress som representeras i form av ett binärt tal på adressbusskretsen för att göra det möjligt för databussen att komma åt en speciell lagringscell i huvudminnet, eller ett minnesregister avbildat I /O-enhet.
Synlighet
Användaren kan se den logiska adressen till ett program. Användaren kan inte se programmets fysiska adress.
Method of Generation
CPU genererar den logiska adressen. MMU beräknar den fysiska adressen.
Tillgänglighet
Användaren kan använda den logiska adressen för att komma åt den fysiska adressen. Användaren har inte direkt tillgång till fysisk adress.

Sammanfattning – logisk adress vs fysisk adress

Skillnaden mellan logisk adress och fysisk adress är att CPU genererar logisk adress när programmet körs medan den fysiska adressen är en plats i minnesenheten. Alla logiska adresser måste mappas till fysiska adresser innan MMU kan använda dem. Fysiska och logiska adresser är samma när man använder kompileringstid och laddningstid adressbindning, men de skiljer sig när man använder exekveringstidsadressbindning.

Rekommenderad: