21 votos

¿Qué es realmente un registro en la sombra?

Me he dado cuenta de que el término Shadow Register mientras revisa la hoja de datos de un TMS320F28335 DSP. ¿Qué significa realmente? ¿Tiene una ubicación física en la CPU como los registros de propósito general?

0 votos

¿Qué microcontrolador?

0 votos

@LeonHellersorry for the mistake.. its a dsp... TMS320F28335

16voto

Jordan S. Jones Puntos 1023

Supongo que te habrás encontrado con esto en cuanto a la programación del PIC. Los PICs originalmente tenían puertos de E/S manejados de una manera muy directa - podías leer los valores que tenían externamente, o escribir los valores de salida, ambos en la misma dirección. La desventaja de esto era que el valor que estabas tratando de emitir podría no coincidir con el estado del pin - algo más podría estar conduciéndolo más fuertemente, o simplemente podría no haber terminado el cambio todavía. Esto significaba que se necesitaba una variable separada para rastrear el estado que se pretendía, en lugar de obtenerlo, si se quería actualizar sólo partes de un puerto. Si no recuerdo mal, esa variable separada es lo que se suele denominar registro sombra, ya que siempre se utilizaba para almacenar una copia del registro de salida (invisible). Los PICs más recientes evitan esto añadiendo las direcciones "latch", donde se puede leer el registro de salida. Esto es común en otros microcontroladores también, como las direcciones de puerto vs pin en AVR.

Existe un término similar en la arquitectura del PC para la memoria sombra; en ese caso, suele significar una sección de la RAM utilizada para almacenar una copia de una ROM más lenta, y asignada a la misma dirección. De nuevo, almacena una copia de algún otro almacenamiento, que queda oculto porque la copia lo sustituye en el espacio de direcciones.

Edición: Viendo que es un TMS320, el registro de sombra proporciona un doble búfer; esta técnica se utiliza para asegurar que las actualizaciones ocurren en el momento adecuado. Compara el uso de los intercambios de frame buffer en los gráficos. El Manual de datos muestra las versiones activas y en sombra de varios registros. Considera, por ejemplo, un registro que indica el final de un pulso; si lo modificas a un pulso más corto, hacerlo cuando el pulso aún no ha terminado podría causar que un pulso nunca termine (ya que nunca fue igual al valor final en ese ciclo). Pero si escribes en el registro sombra, el hardware puede copiarlo en el registro activo en un punto que se sabe que es seguro - por ejemplo, exactamente cuando el temporizador da la vuelta. Esto no está descrito en el Manual de Datos, que cubre parámetros particulares para un chip determinado; conociendo a TI, es probable que haya un manual independiente en el que se describe la función de cada bloque; en éste se menciona el Modo Sombra en la sección 2.2.

6 votos

Otro uso del término "sombra" aplicado particularmente a los registros es la asignación de nombres de registros arquitectónicos a diferentes registros físicos para permitir un rápido cambio de contexto total o parcial. ("Registro en banco" se utiliza a veces como sinónimo.) Normalmente se pretende acelerar las interrupciones.

3voto

Brian M. Puntos 118

En pocas palabras, el registro sombra es un registro concebido dentro del microcontrolador con el fin de mantener ciertos datos que se utilizarán posteriormente. El nombre "Shadow" implica duplicar algún valor y usarlo de nuevo - para que no se pierda.

1voto

user3747592 Puntos 11

Los registros sombra y espejo se refieren a registros a los que se puede acceder desde múltiples direcciones. Por ejemplo, en el hardware, un registro dado tiene una instancia ubicada en F00h. Sin embargo, si tiene un alias en 1F00h, leer o escribir en F00h es lo mismo que leer o escribir en 1F00h y viceversa.

2 votos

Sería una buena adición si se explica cuál es el propósito de esos registros de sombra.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X