Differenza tra indirizzo logico e indirizzo fisico

Il chiave difference tra l'indirizzo logico e l'indirizzo fisico è quello La CPU genera l'indirizzo logico durante l'esecuzione del programma mentre l'indirizzo fisico è una posizione nell'unità di memoria.

In termini semplici, la CPU genera l'indirizzo logico o l'indirizzo virtuale. Dal punto di vista di un programma in esecuzione, un elemento sembra essere situato all'indirizzo fornito dall'indirizzo logico. L'unità di memoria osserva l'indirizzo fisico. Inoltre, consente l'accesso a una particolare cella di memoria nella memoria principale tramite il bus dati.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è l'indirizzo logico
3. Cos'è l'indirizzo fisico
4. Confronto affiancato - Indirizzo logico vs indirizzo fisico in formato tabulare
5. Sommario

Cos'è l'indirizzo logico?

La CPU genera l'indirizzo logico. Dal punto di vista di un programma in esecuzione, un elemento sembra essere situato all'indirizzo fornito dall'indirizzo logico. I programmi applicativi in ​​esecuzione sul computer non visualizzano gli indirizzi fisici. Funzionano sempre usando gli indirizzi logici. Lo spazio di indirizzamento logico è l'insieme di indirizzi logici, un programma genera. È necessario mappare gli indirizzi logici agli indirizzi fisici prima di utilizzarli. Il dispositivo hardware Memory Management Unit (MMU) gestisce questo processo di mappatura.

Schemi di mappatura MMU

MMU segue diversi schemi di mappatura. Nello schema di mappatura più semplice, il valore nel registro di rilocazione viene aggiunto a ciascun indirizzo logico prodotto dai programmi applicativi prima di inviarli alla memoria. Esistono anche altri metodi complessi per generare la mappatura. L'associazione degli indirizzi (ad esempio l'allocazione di istruzioni e dati negli indirizzi di memoria) può avvenire in tre momenti diversi.

Figura 01: indirizzo logico e fisico

In primo luogo, può accadere in fase di compilazione se le posizioni di memoria effettiva sono note in anticipo e ciò genererebbe il codice assoluto in fase di compilazione. Può anche accadere al momento del caricamento se le posizioni di memoria non sono conosciute in anticipo. Per questo, il codice rintracciabile deve essere generato in fase di compilazione. Inoltre, il binding dell'indirizzo può avvenire al momento dell'esecuzione. Ciò richiede il supporto hardware per la mappatura degli indirizzi. In fase di compilazione e tempo di caricamento indirizzo vincolante, gli indirizzi logici e fisici sono gli stessi. Ma questa procedura è diversa quando l'associazione degli indirizzi avviene nel tempo di esecuzione.

Cos'è l'indirizzo fisico?

L'unità di memoria osserva l'indirizzo fisico o l'indirizzo reale. Consente al bus dati di accedere a una particolare cella di memoria nella memoria principale. MMU mappa l'indirizzo logico all'indirizzo fisico. Ad esempio, utilizzando lo schema di mappatura più semplice, che aggiunge il registro di riposizionamento (supponiamo che il valore nel registro sia y) valore per l'indirizzo logico, un intervallo logico va da 0 a x si assocerebbe a un intervallo di indirizzi fisici da y a x + y.

Inoltre, questo è anche chiamato lo spazio di indirizzamento fisico di quel programma. Tutti gli indirizzi logici devono essere mappati in indirizzi fisici prima che possano essere utilizzati.

Qual è la differenza tra indirizzo logico e indirizzo fisico?

 Indirizzo logico vs indirizzo fisico

L'indirizzo logico è l'indirizzo in cui un elemento sembra risiedere dalla prospettiva di un programma applicativo in esecuzione. L'indirizzo fisico è un indirizzo di memoria che è rappresentato sotto forma di numero binario sul circuito del bus indirizzo per consentire al bus dati di accedere a particolare cella di memoria della memoria principale o un registro di dispositivo I / O mappato in memoria.
Visibilità
L'utente può visualizzare l'indirizzo logico di un programma. L'utente non può visualizzare l'indirizzo fisico del programma.
Metodo di generazione
CPU genera l'indirizzo logico. MMU calcola l'indirizzo fisico.
Accessibilità
L'utente può utilizzare l'indirizzo logico per accedere all'indirizzo fisico. L'utente non può accedere direttamente all'indirizzo fisico.

Riepilogo: indirizzo logico e indirizzo fisico

La differenza tra l'indirizzo logico e l'indirizzo fisico è che la CPU genera l'indirizzo logico quando il programma viene eseguito mentre l'indirizzo fisico è una posizione nell'unità di memoria. Tutti gli indirizzi logici devono essere mappati in indirizzi fisici prima che la MMU possa usarli. Gli indirizzi fisici e logici sono gli stessi quando si usano il tempo di compilazione e il binding dell'indirizzo del tempo di caricamento, ma differiscono quando si utilizza il binding dell'indirizzo del tempo di esecuzione.

Riferimento:

1. "Indirizzo logico." Wikipedia, Wikimedia Foundation, 30 aprile 2018. Disponibile qui 
2. "Indirizzo fisico." Wikipedia, Wikimedia Foundation, 30 aprile 2018. Disponibile qui 

Cortesia dell'immagine:

1. Principio MMU 'By Andre Schieleit - Opera propria, (Public Domain) via Commons Wikimedia