L'indirizzo è utilizzato per identificare in modo univoco la posizione di qualcosa all'interno della memoria della CPU. Questi indirizzi sono divisi in due tipi principali, il primo è l'indirizzo logico e l'altro, l'indirizzo fisico. Entrambi hanno funzionalità diverse ma in qualche modo simili.
L'indirizzo logico funge da indirizzo virtuale che è visualizzabile dal programma utente. L'indirizzo fisico, tuttavia, non è visualizzabile direttamente dal programma utente e l'indirizzo logico viene utilizzato come risorsa per accedere all'indirizzo fisico con l'ausilio di un puntatore.
Un indirizzo logico viene anche generato da un'unità di elaborazione centrale quando viene eseguito un programma mentre un indirizzo fisico è una posizione effettiva trovata all'interno dell'unità di memoria. Quando un indirizzo logico viene mappato al suo indirizzo fisico corrispondente, diventa un giunto un'unità di gestione della memoria tra la CPU e il bus che trasporta la memoria poiché le attività eseguite sono simili quando arriva allo strato di traduzione degli indirizzi e alla CPU.
Il modo migliore per definire un tale livello che viene creato è un livello di collegamento dati che funge da connettore tra l'hardware e il software dell'intera rete di computer.
L'indirizzo di qualcosa generato dall'unità di elaborazione centrale mentre un programma è in esecuzione è indicato come indirizzo logico. L'indirizzo è anche definito come un indirizzo virtuale. Questo perché è usato come linea guida per l'architettura per capire dove sono posizionate altre cose in quanto non rimane nel sistema quindi variabile
Un programma che aiuta a trovare l'indirizzo di base è richiesto dal computer per trovare altre posizioni all'interno del sistema, quindi l'indirizzo logico. Un altro modo di comprendere le operazioni dell'indirizzo logico è un blocco di memoria che viene utilizzato all'inizio nel sistema. È combinato con un indirizzo di base per formare un indirizzo fisico che diventa una variante rispetto ad altri tipi di indirizzo a causa del traduttore di mappe.
Ciò che mappa l'indirizzo logico al suo indirizzo fisico correlato è l'unità di gestione della memoria. Il tempo di caricamento e i metodi di associazione dell'indirizzo in fase di compilazione vengono utilizzati per creare l'indirizzo logico e l'indirizzo fisico identici mentre il binding dell'indirizzo di esecuzione temporale produce un indirizzo logico e fisico diverso. Gli indirizzi logici di solito vanno da zero a massimo (da 0 a max). Questo perché il programma utente che genera un indirizzo logico presuppone che il processo venga eseguito in posizioni da 0 a max. Tuttavia, per un indirizzo logico da utilizzare, deve essere mappato su un indirizzo fisico.
Un altro fatto importante da notare è che la memoria logica viene cancellata nel caso in cui il sistema venga riavviato rendendo le informazioni raccolte variabili nel tempo.
L'indirizzo fisico viene utilizzato per identificare una posizione fisica all'interno dell'unità di gestione della memoria che calcola in base all'indirizzo logico correlato. Questo indirizzo non è direttamente accessibile o visualizzato dal programma utente, quindi un indirizzo logico deve essere mappato su di esso per renderlo accessibile con l'ausilio di puntatori che rivelano la posizione ma non il codice. Gli insiemi di tutti gli indirizzi fisici corrispondenti esistenti all'interno dell'indirizzo logico sono chiamati spazi di indirizzi fisici.
Quando un indirizzo valido viene utilizzato come indirizzo di memoria, viene spostato sull'elenco di base in cui l'unità di gestione della memoria cambia in posizioni sensibili in posizioni fisiche. Strategie di limitazione degli indirizzi, tempo di raccolta e tempo di caricamento creano posizioni intelligenti e fisiche. Gli indirizzi fisici di solito vanno da R + Zero (R + 0) a R + massimo (R + max) per un valore di registro di base o di rilancio 'R'.
Il modo basilare per distinguere tra questi due indirizzi è che l'indirizzo logico è l'indirizzo di qualcosa che il sistema di elaborazione centrale genera in prospettiva di un programma, mentre l'indirizzo fisico è l'indirizzo effettivo di qualcosa che l'unità di gestione della memoria calcola.
L'insieme di tutti gli indirizzi generati dall'unità di elaborazione centrale viene definito spazio di indirizzamento logico. Tuttavia, lo spazio degli indirizzi fisici si riferisce a tutti gli insiemi di indirizzi fisici associati agli indirizzi logici corrispondenti.
L'indirizzo logico esiste virtualmente e non ha una posizione specifica per esistere fisicamente nell'unità di memoria quindi indicato come indirizzo virtuale mentre l'indirizzo fisico è una posizione fisica accessibile esistente all'interno dell'unità di memoria.
Gli indirizzi logici e fisici identici vengono creati con metodi di associazione noti come Tempo di caricamento e Indirizzo di compilazione.
Il metodo di binding dell'indirizzo run-time genera indirizzi logici e fisici che tendono a differire l'uno dall'altro.
L'indirizzo logico è variabile, quindi continuerà a cambiare con il sistema, ma l'indirizzo fisico di quell'oggetto rimane sempre costante. Questo è il motivo per cui l'indirizzo logico viene cancellato quando il sistema viene riavviato mentre nessun cambiamento accade alla sua controparte, l'indirizzo fisico.