Che cos'è un registro del processore?

L'accesso più rapido alla memoria memorizzabile su un'unità di elaborazione del computer (CPU) è un registro del processore. Il processore di progettazione delle architetture di computer registra la capacità di memoria in una cache della CPU in modo che i valori a cui accedono i processi del computer su base regolare possono essere memorizzati lì. I processi possono accedere ed eseguire rapidamente in base a tali valori memorizzati. Poiché i registri del processore sono archiviati nella CPU, sono considerati i vertici della gerarchia della memoria di archiviazione e l'allocazione viene generalmente determinata da variabili. Una volta elaborati, i dati vengono ripristinati nella cache, nella memoria ad accesso casuale (RAM) o nella memoria del disco rigido.

I processori per computer hanno registri di diversi tipi, in base alle istruzioni o ai test che operano su di essi o al loro contenuto specifico. I registri di dati, indirizzi e scopi generali contengono valori e indirizzi matematici per la memorizzazione della memoria. Esistono registri condizionali con valori di verità per le istruzioni operative logiche, registri costanti con valori di sola lettura come pi e zero e registri per scopi speciali che mantengono un contatore del programma, un registro di stato e puntatori dello stack per l'utilizzo della memoria dello stack. I registri di controllo contengono istruzioni da un set di istruzioni integrato nell'architettura della CPU; e ce ne sono diversi che prendono dalla RAM e dai circuiti della CPU che accedono a buffer di memoria, dati di memoria, intervalli di tipi di memoria e indirizzi. Le variabili non assegnate a un registro del processore vengono archiviate nella RAM e caricate in entrata e in uscita per le operazioni di lettura e scrittura, tuttavia queste hanno un'elaborazione più lenta.

Conoscendo la differenza di velocità tra l'elaborazione nei registri e nella RAM, gli sviluppatori di programmi per computer del compilatore di solito progettano i loro programmi per operare il più possibile nella memoria dei registri del processore per il funzionamento rapido delle funzioni. Per i programmi di compilazione just-in-time, una tecnica di allocazione dei registri nota come allocazione di scansione lineare tiene traccia delle operazioni dei registri e libera rapidamente la potenza di calcolo dei registri al programma. Le tecniche di allocazione dei registri tentano di ottenere altrettante variabili del programma assegnate ai registri e in un flusso operativo che massimizza il minor numero di registri per una compilazione rapida.

Poiché molti registri del processore servono per la memorizzazione temporanea di variabili e set di istruzioni, tutte le operazioni per l'uso del programma possono essere archiviate per essere manipolate dalla CPU. Durante il funzionamento, una CPU cercherà innanzitutto nella cache dei registri della CPU una copia di tutti i dati da elaborare nelle operazioni di lettura, scrittura o spostamento, prima di guardare alla RAM e all'archiviazione secondaria su dischi rigidi. A partire dal 2011, la maggior parte delle CPU mantiene tre singole cache. Le cache delle istruzioni si occupano dei recuperi di esecuzione per istruzione, un buffer di sosia di traduzione accelera la traduzione degli indirizzi per indirizzi da virtuale a fisico e una cache di dati contiene un archivio gerarchico multilivello di dati che deve essere manipolato da un set di istruzioni del registro del processore.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?