Che cosa è un registro indice?

10/26/2016 by admin

In programmazione di computer e architettura di computer, un registro indice è un'area di memoria generalmente incorporato nell'unità di elaborazione centrale (CPU) da utilizzare come contatore molto veloce per passare tramite indirizzi di memoria o per tenere traccia delle operazioni come loop. A seconda del tipo di architettura di sistema, un registro indice può essere un registro definito e dedicato tra gli altri registri del processore, o può essere qualsiasi registro di uso generale. Più comunemente, un registro indice tiene corrente di offset di una locazione di memoria, con un altro registro tiene l'indirizzo di base, per cui la combinazione dei due registri crea un indirizzo di memoria completata. Una delle funzioni speciali di un registro indice, quando uno è appositamente designato da una CPU, è che può essere utilizzato al passaggio facilmente attraverso indirizzi di memoria o da essere incrementato o decrementato a seconda delle necessità in modo da strutture di dati come array e pile possono essere mossi .

I registri indice sulla CPU di un computer sono incredibilmente aree a basso livello di memoria che di solito sono solo accessibili direttamente da un programmatore attraverso l'uso del linguaggio assembly o un linguaggio di programmazione a basso livello simile. In alcuni dei tipi più comuni di processori, due registri separati sono definiti come registri indice, cioè l'indice sorgente (SI) e l'indice di destinazione (DI) registri. Altri processori non specificamente hanno registri indice o operatori di sostegno che li richiedono, cioè qualsiasi registro di uso generale di dimensioni adeguate può essere utilizzato.

Uno degli usi più frequenti di un registro indice è di agire come un puntatore a una posizione di memoria che contiene un flusso di dati che deve essere letta in sequenza. Un esempio può essere visto quando si utilizza una matrice di dati in cui tutti gli elementi sono disposti consecutivamente in memoria. Se il registro indice viene utilizzato per accedere a un array, allora può contenere il valore corrispondente dell'offset dell'elemento attualmente letta quando aggiunto a un altro registro che contiene un indirizzo di base, come ad esempio il registro segmento di dati. Questo può rendere molto facile per completare le procedure, come la copia il contenuto di una stringa con terminazione null da una posizione di origine per una stringa di destinazione.

Un altro uso di un registro indice può essere quello di contenere informazioni su loop e altri contatori. Alcune architetture di sistema preferiscono usare registro indice per contenere il numero di iterazioni che si sono verificati in un ciclo, anche se altre volte qualsiasi registro può essere utilizzato. Inoltre, alcune istruzioni di montaggio si basano in particolare sulla provenienza e l'indice di destinazione registri per eseguire determinate operazioni, come la lettura della memoria blocco o la scrittura, come si potrebbe fare per inviare informazioni a uno schermo.

  • Un registro indice è una zona a basso livello di memoria, di solito sulla CPU.

Articoli Correlati