1. Istruzioni e decodifica: La CPU recupera le istruzioni dalla memoria. Queste istruzioni spesso contengono operandi:dati su cui funzionano le istruzioni. Gli operandi potrebbero essere specificati utilizzando:
* Registrazione di record indirizzi: L'indirizzo dell'operando è archiviato in un registro CPU. La CPU utilizza il contenuto del registro come indirizzo logico.
* Indirizzamento immediato: L'operando stesso fa parte dell'istruzione. Non è necessario alcun calcolo dell'indirizzo.
* Indirizzamento diretto: L'istruzione specifica direttamente l'indirizzo logico dell'operando.
* Indirizzo indiretto: L'istruzione specifica una posizione di memoria che * contiene * l'indirizzo dell'operando. La CPU recupera l'indirizzo da questa posizione di memoria per ottenere l'indirizzo logico.
* Base+Indirizzo offset: Un indirizzo di base (spesso da un registro) viene aggiunto a un offset (specificato nell'istruzione) per calcolare l'indirizzo logico. Questo è molto comune per accedere ad elementi o strutture di array.
* Indirizzo indicizzato: Simile a Base+Offset, ma l'offset proviene da un registro indice. Utile per gli accessi all'array.
2. Contatore del programma (PC): Il PC detiene l'indirizzo dell'istruzione successiva da eseguire. Questo è un indirizzo logico che viene implicitamente utilizzato dal meccanismo di recupero delle istruzioni della CPU. Il PC viene incrementato dopo ogni recupero delle istruzioni.
3. Coinvolgimento del sistema operativo (memoria virtuale): L'immagine diventa più complessa quando è coinvolta la memoria virtuale. In questo caso, il programma non vede gli indirizzi fisici della memoria; Vede indirizzi logici (chiamati anche indirizzi virtuali). La CPU genera un * indirizzo logico * in base all'istruzione come descritto sopra.
* Unità di gestione della memoria (MMU): La MMU è un componente hardware che traduce l'indirizzo logico generato dalla CPU in un indirizzo fisico in RAM. Questa traduzione prevede la ricerca dell'indirizzo logico nelle tabelle di pagina, che sono mantenute dal sistema operativo. Queste tabelle mappano le pagine logiche su cornici fisiche.
* Segmentazione: Alcuni sistemi utilizzano la segmentazione oltre al paging. La segmentazione divide la memoria in segmenti logici, ciascuno con il proprio indirizzo e limite di base. La CPU produce un indirizzo logico come selettore di segmenti e un offset all'interno del segmento. La MMU li usa quindi per trovare l'indirizzo fisico.
In sostanza, la CPU non "genera" un indirizzo logico in un processo autonomo. Utilizza la modalità di indirizzamento delle istruzioni per calcolare l'indirizzo logico (spesso con l'assistenza dei registri) che potrebbe quindi essere ulteriormente tradotto dalla MMU in un indirizzo fisico. Il processo è dettato dall'istruzione in esecuzione e dallo schema di gestione della memoria del sistema.
hardware © www.354353.com