Che cos'è effettivamente un registro ombra?


Risposte:


11

Immagino tu l'abbia riscontrato in termini di programmazione PIC. In origine i PIC avevano porte I / O gestite in modo molto diretto: potevi leggere quali valori avevano esternamente o scrivere quali valori avevi emesso, entrambi sullo stesso indirizzo. Il rovescio della medaglia di questo era che il valore che stavi cercando di produrre potrebbe non corrispondere allo stato sul pin - qualcos'altro potrebbe guidarlo più fortemente o potrebbe non aver ancora finito il cambiamento. Ciò significava che era necessaria una variabile separata per tenere traccia dello stato desiderato, anziché ottenere, se si desidera aggiornare solo parti di una porta. Ricordo che quella variabile separata è quella che viene generalmente definita registro delle ombre, poiché è sempre stata utilizzata per memorizzare una copia del registro di output (invisibile). PIC più recenti evitano questo aggiungendo gli indirizzi "latch", dove è possibile leggere il registro di uscita. Questo è comune anche in altri microcontrollori, come gli indirizzi port vs pin su AVR.

Esiste un termine simile nell'architettura PC per la memoria shadow; in tal caso, di solito significa una sezione di RAM utilizzata per archiviare una copia di una ROM più lenta e mappata allo stesso indirizzo. Ancora una volta memorizza una copia di qualche altro archivio, che è nascosto perché la copia lo sostituisce nello spazio degli indirizzi.

Modifica: vedendo che è un TMS320, il registro delle ombre fornisce un doppio buffer; questa tecnica viene utilizzata per garantire che gli aggiornamenti avvengano al momento opportuno. Confronta l'uso di frame buffer swap nella grafica. Il Manuale dei dati mostra le versioni shadow e attive di diversi registri. Consideriamo ad esempio un registro che indica la fine di un impulso; se lo si dovesse modificare in un impulso più breve, farlo quando l'impulso non è ancora terminato potrebbe causare l'impossibilità di terminare un impulso (poiché non è mai stato uguale al valore finale in quel ciclo). Ma se si scrive nel registro shadow, l'hardware può copiarlo nel registro attivo in un punto noto per essere sicuro, ad esempio esattamente quando il timer si avvolge. Questo non è descritto nel Manuale dei dati, che copre parametri particolari per un determinato chip; conoscendo TI, probabilmente c'è amanuale separato che descrive la funzione di ciascun blocco; questo ha una menzione della modalità Shadow nella sezione 2.2.


3
Un altro uso del termine "ombra" applicato in particolare ai registri è la mappatura dei nomi dei registri architettonici su diversi registri fisici per consentire un rapido cambio di contesto completo o parziale. ("Registro bancario" è talvolta usato come sinonimo.) Generalmente è destinato ad accelerare gli interrupt.
Paul A. Clayton,

1

tutti i registri shadow e mirror si riferiscono a registri a cui è possibile accedere da più indirizzi. Ad esempio, nell'hardware, un dato registro ha un'istanza situata in F00h. Tuttavia, se ha un alias su 1F00h, leggere o scrivere su F00h equivale a leggere o scrivere su 1F00h e viceversa.


2
Sarebbe una bella aggiunta se spiegassi qual è lo scopo di quei registri ombra.
Rev1.0

0

In poche parole, il registro ombra è un registro ideato all'interno del microcontrollore allo scopo di conservare determinati dati da utilizzare in seguito. Il nome "Ombra" implica la duplicazione di un valore e il suo utilizzo di nuovo, quindi non si perderà.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.