A legfontosabb különbség a logikai cím és a fizikai cím között az, hogy a CPU a program végrehajtása során logikai címet generál, míg a fizikai cím egy hely a memóriaegységben.
Egyszerűen fogalmazva, a CPU előállítja a logikai címet vagy a virtuális címet. Egy futó program szemszögéből úgy tűnik, hogy egy elem a logikai cím által megadott címen található. A memóriaegység figyeli a fizikai címet. Ezenkívül lehetővé teszi a fő memória egy adott memóriacellájának elérését az adatbuszon keresztül.
Mi az a logikai cím?
A CPU logikai címet generál. Egy futó program szemszögéből úgy tűnik, hogy egy elem a logikai cím által megadott címen található. A számítógépen futó alkalmazásprogramok nem látják a fizikai címeket. Mindig a logikai címekkel dolgoznak. A logikai címtér a logikai címek halmaza, amelyet egy program generál. Használat előtt le kell képezni a logikai címeket fizikai címekre. A hardvereszköz memóriakezelő egysége (MMU) kezeli ezt a leképezési folyamatot.
MMU leképezési sémák
MMU több leképezési sémát követ. A legegyszerűbb leképezési sémában az áthelyezési regiszterben lévő érték hozzáadódik minden egyes, az alkalmazási programok által létrehozott logikai címhez, mielőtt elküldi azokat a memóriába. Vannak más összetett módszerek is a leképezés létrehozására. A címösszerendelés (azaz utasítások és adatok memóriacímekhez való hozzárendelése) három különböző időpontban történhet.
01. ábra: Logikai és fizikai cím
Először is, ez fordulhat elő fordítási időben, ha a tényleges memóriahelyek előre ismertek, és ez fordítási időben generálja az abszolút kódot. Betöltéskor is előfordulhat, ha a memóriahelyek nem ismertek előre. Ehhez a fordításkor újrakereshető kódot kell generálni. Ezenkívül a cím-összerendelés végrehajtáskor is megtörténhet. Ehhez hardveres támogatás szükséges a címleképezéshez. A fordítási és a betöltési idejű cím-összerendelésben a logikai és a fizikai címek megegyeznek. Ez az eljárás azonban más, ha a címkötés végrehajtási időben történik.
Mi az a fizikai cím?
A memóriaegység a fizikai vagy a valós címet figyeli. Lehetővé teszi, hogy az adatbusz hozzáférjen a fő memória adott memóriacellájához. Az MMU leképezi a logikai címet a fizikai címre. Például a legegyszerűbb leképezési sémával, amely hozzáadja az áthelyezési regiszter (feltételezzük, hogy a regiszterben az y) értéket a logikai címhez adja, a 0 és x közötti logikai cím egy y és x+ közötti fizikai címtartományra lenne leképezve. y.
Továbbá ezt a program fizikai címterének is nevezik. Az összes logikai címet le kell képezni fizikai címekre, mielőtt használni lehessen őket.
Mi a különbség a logikai cím és a fizikai cím között?
Logikai cím vs fizikai cím |
|
A logikai cím az a cím, amelyen egy elem található a végrehajtó alkalmazási program szemszögéből. | A fizikai cím egy memóriacím, amely bináris szám formájában jelenik meg a címbusz-áramkörön annak érdekében, hogy az adatbusz hozzáférjen a fő memória egy adott tárolócellájához vagy a memóriaregiszterhez. /O eszköz. |
Láthatóság | |
A felhasználó megtekintheti egy program logikai címét. | A felhasználó nem láthatja a program fizikai címét. |
Generációs módszer | |
A CPU előállítja a logikai címet. | MMU kiszámítja a fizikai címet. |
Hozzáférhetőség | |
A felhasználó a logikai címet használhatja a fizikai cím eléréséhez. | A felhasználó nem férhet hozzá közvetlenül a fizikai címhez. |
Összefoglaló – Logikai cím vs fizikai cím
A logikai cím és a fizikai cím közötti különbség az, hogy a CPU a program végrehajtásakor logikai címet generál, míg a fizikai cím egy hely a memóriaegységben. Az összes logikai címet le kell képezni fizikai címekre, mielőtt az MMU használhatná őket. A fizikai és logikai címek megegyeznek a fordítási idő és a betöltési idő cím-összerendelése esetén, de különböznek a végrehajtási idő cím-összerendelése esetén.