Ho notato il termine Shadow Register
mentre sfogliavo una scheda tecnica di un DSP TMS320F28335 . Cosa significa attualmente? Ha una posizione fisica nella CPU come hanno i registri di uso generale?
Ho notato il termine Shadow Register
mentre sfogliavo una scheda tecnica di un DSP TMS320F28335 . Cosa significa attualmente? Ha una posizione fisica nella CPU come hanno i registri di uso generale?
Risposte:
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.
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.
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à.