logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Architettura degli elaborati e sistemi operativi - informatica

Indirizzamento

Divided by topic

Modalità di indirizzamento Vi sono diverse modalità di indirizzamento: • Indirizzamento immediato • Indirizzamento diretto • Indirizzamento a registro • Indirizzamento a registro indiretto • Indirizzamento indicizzato • Indirizzamento indicizzato esteso Per quanto riguarda l’indirizzamento immediato è il modo più semplice con cui un’istruzione può specificare un operando è quello d i contenere nel campo riservato al suo indirizzo, l’operando stesso. Quindi viene recuperato dalla memoria nel momento in cui viene eseguito il fetch dell’istruzione ed è immediatamente disponibile all’ uso. L’indirizzamento immediato ha la virtù di non chiedere un indirizzamento supplementare in memoria per effettuare il fetch dell’operando . Presenta però lo svantaggio di poter fornire un solo operando alla volta, inoltre l’entità del valore è limitata dalla dimensione del campo . L’indirizzamento indiretto consiste nello specificare un operando in memoria dando l’indirizzo completo. Però questa modalità presenta un grande difetto: quello che l’istruzione accederà sempre alla stessa area di memoria. Se da una parte il valore può cambiare, la locazione non può. Per questa ragione l’ indirizzamento diretto serve solo ad accedere a variabili globali il cui indirizzo è noto in fase di compilazione. L’indirizzamento a registro è analogo a quello diretto, solo che invece di specificare un indirizzo di memoria, specifica un registro. È un indirizzamento molto utile in quanto i registri sono molto veloci per quanto riguarda l’accesso e hanno degli indirizzi brevi. L’unico caso in cui non viene utilizzato questo registro è quando un operando è trasferito dalla memoria in registro o dal registro in memoria. Ma comunque in questi casi uno dei due operandi è un registro contenente l’indirizzo della parola di memoria in lettura o in scrittura. L’indirizzamento a registro indiretto prende in esame un operando che proviene o è destinato in memoria, ma il suo indirizzo non è incorporato nell’istruzione, ma è contenuto in un registro. Un indirizzo utilizzato in questa modalità prende il nome di puntatore. Un grande vantaggio di questo tipo di indirizzamento consiste nel fatto di indirizzare la memoria senza dover necessariamente incorporare un intero indirizzo di memoria all’interno dell’istruzione. L’indirizzamento indicizzato consiste nell’indirizzare la memoria attraverso un registro più uno spiazzamento costante. Si usa un puntatore alla memoria contenuto in un registro più un piccolo spiazzamento contenuto nella stessa istanza ma si può an che tenere un puntatore alla memoria nell’istruzione e un piccolo offset in un registro. Questa opzione richiede che nell’istruzione vi sia un campo offset abbastanza grande da contenere un indirizzo . Nell ’indirizzamento indicizzato esteso l’indirizzo di memoria viene calcolato sommando tra loro il contenuto di due registri più un offset. Un registro funge da base e l’altro da indice. Poter disporre di una modalità di indirizzamento indiretto trami te la somma di due registri e senza offset sarebbe l’ideale. Alternativamente, anche un’istruzione con un offset di 8 bit costituirebbe un miglioramento rispetto al codice originario, perché potremmo sempre porre gli offset a 0. D’altra parte, se gli offset fossero stati da 32 bit non ne avremmo guadagnato nulla.