Cosè un Registro?

Se non sei particolarmente interessato ai computer, saresti perdonato per aver supposto che le uniche forme di memoria in un computer fossero il disco rigido e la RAM. Quelli di voi interessati ai computer probabilmente saprebbero che non è così e che la CPU ha anche una serie di cache che vengono utilizzate per memorizzare nella cache i dati dalla RAM in modo che la CPU possa accedervi più velocemente. Tutte queste sono funzionalità pubblicizzate, principalmente perché la velocità e/o la capacità sono un buon punto di forza e in genere influiscono sui livelli di prestazioni.

Tuttavia, in realtà esiste un altro livello di memoria. Per quanto si possa pensare che la cache L1 sia il più vicino possibile al core di elaborazione effettivo, esiste un altro livello superiore nella gerarchia della memoria. Questi sono i registri della CPU. Il motivo per cui questi non sono realmente pubblicizzati o menzionati è che non sono affatto cambiati. Tecnicamente potrebbero essere, tuttavia, il numero e la dimensione dei registri è in realtà fondamentale per l'architettura. Ciò significa che tutte le CPU x86-64 hanno lo stesso numero di registri. Non sono commercializzati perché non sono un punto concorrente.

Cosa fa un registro?

Un registro è una posizione di archiviazione rapidamente disponibile per il processore. L'accesso a un registro è immediato con latenza zero, mentre anche la cache L1 ha una latenza di circa 4-5 cicli nelle moderne CPU. Questa immediatezza di accesso suggerisce il caso d'uso dei registri. I registri vengono utilizzati per memorizzare le istruzioni su cui opera attivamente la CPU. Memorizzano anche punti dati che devono essere elaborati. Alcuni registri sono di uso generale, mentre altri hanno uno scopo molto specifico. Un esempio di registro per scopi speciali sarebbe il contatore di programma che è il punto in cui il processore tiene traccia della sua posizione nella sequenza del programma.

Molti registri sono considerati accessibili all'utente. Ciò non significa che l'utente di un computer possa scegliere quale valore dargli. Significa che il software in esecuzione può specificare i dati da caricare in questi registri. Un numero minore di registri è interno, il che significa che il software non può indirizzarli affatto. Il registro delle istruzioni, che memorizza l'istruzione attualmente in esecuzione, è un esempio di registro interno.

Registrati ridenominazione

Sebbene un'architettura della CPU possa consentire solo una singola configurazione di registri, in realtà c'è un po 'di sfumatura in questo. Tutte le moderne CPU utilizzano la ridenominazione dei registri. Questa è una tecnica in cui è possibile disporre di più registri fisici e utilizzarli per precaricare i dati o archiviare i dati relativi a un'istruzione fuori servizio che altrimenti sarebbero stati sovrascritti. Quando la CPU arriva al punto in cui ha bisogno dei dati nei registri extra, li rinomina semplicemente in modo che sia indirizzabile, mentre rende non indirizzabile un registro precedentemente indirizzabile.

Il processo di ridenominazione dei registri può essere molto utile per l'esecuzione fuori ordine. Ad esempio, se una posizione di memoria è programmata per essere letta da allora scritta e le istruzioni sono state eseguite in quell'ordine, va bene. Se, tuttavia, le istruzioni vengono riordinate per eseguire prima la scrittura, l'istruzione di lettura otterrebbe un valore errato. Per evitare ciò, il valore originale da leggere viene memorizzato in un registro inutilizzato che viene poi rinominato quando viene elaborata la relativa istruzione.

Conclusione

I registri sono il livello più alto nella gerarchia della memoria. Sono l'unica parte indirizzabile direttamente dalla CPU e non hanno latenza. I registri vengono utilizzati per memorizzare i dati attivamente eseguiti dalla CPU. Sono anche utilizzati per memorizzare altri punti dati come il contatore del programma che tiene traccia di quale istruzione è la successiva da eseguire. Un numero molto limitato di registri è disponibile con l'architettura x86-64 con 16 registri per uso generico e 16 o 32 registri in virgola mobile a seconda che AVX-512 sia supportato.



Leave a Comment

Come clonare un disco rigido

Come clonare un disco rigido

Nell'era digitale moderna, in cui i dati sono una risorsa preziosa, la clonazione di un disco rigido su Windows può essere un processo cruciale per molti. Questa guida completa

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Come risolvere il problema con il caricamento del driver WUDFRd su Windows 10?

Stai riscontrando il messaggio di errore durante l'avvio del computer che dice che il driver WUDFRd non è stato caricato sul tuo computer?

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Come risolvere il codice di errore NVIDIA GeForce Experience 0x0003

Hai riscontrato l'esperienza NVIDIA GeForce con il codice di errore 0x0003 sul tuo desktop? Se sì, leggi il blog per scoprire come correggere questo errore in modo semplice e veloce.

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Come rimuovere una GPU da un PC Windows nel 2023

Come rimuovere una GPU da un PC Windows nel 2023

Devi rimuovere la GPU dal tuo PC? Unisciti a me mentre ti spiego come rimuovere una GPU dal tuo PC in questa guida dettagliata.

Come installare ununità SSD NVMe su desktop e laptop

Come installare ununità SSD NVMe su desktop e laptop

Hai acquistato un nuovo SSD NVMe M.2 ma non sai come installarlo? Continua a leggere per sapere come installare un'unità SSD NVMe su laptop o desktop.

Cosè una bomba logica?

Cosè una bomba logica?

Una bomba logica è un incidente di sicurezza in cui un utente malintenzionato organizza un'azione ritardata. Continua a leggere per scoprire di più.

Che cosè Stuxnet?

Che cosè Stuxnet?

Stuxnet era un worm autopropagante. È stato il primo utilizzo di un'arma informatica e la prima istanza di malware.

Cosè un hacker etico?

Cosè un hacker etico?

Un hacker etico è un hacker che agisce entro i limiti della legge. Continua a leggere per saperne di più sull'argomento.

Che cosè la crittografia simmetrica?

Che cosè la crittografia simmetrica?

Ci sono molte parti diverse della crittografia. Se vuoi crittografare alcuni dati, ci sono due tipi di algoritmi che puoi usare: symmetric