O que realmente é um registrador sombra?

15

Notei o termo Shadow Registerenquanto examinava uma folha de dados de um DSP TMS320F28335 . O que isso realmente significa? Ele possui um local físico na CPU, como os registros de uso geral?

noufal
fonte
Qual microcontrolador?
quer
@LeonHellersorry pelo erro .. é um dsp ... TMS320F28335
noufal

Respostas:

11

Suponho que você tenha encontrado isso em termos de programação PIC. Os PICs originalmente tinham portas de E / S tratadas de maneira muito direta - você podia ler quais valores eles tinham externamente ou escrever quais valores você produzia, ambos no mesmo endereço. A desvantagem disso foi que o valor que você estava tentando gerar pode não corresponder ao estado no pino - outra coisa pode estar impulsionando-o com mais força ou talvez ainda não tenha concluído a alteração ainda. Isso significava que era necessária uma variável separada para rastrear o estado que você pretendia, em vez de obter, se quisesse atualizar apenas partes de uma porta. Pelo que me lembro, essa variável separada é o que geralmente é chamado de registro de sombra, já que você sempre a usa para armazenar uma cópia do registro de saída (invisível). PICs mais recentes evitam isso adicionando os endereços "trava", onde o registro de saída pode ser lido. Isso também é comum em outros microcontroladores, como os endereços de porta versus pino no AVR.

Existe um termo semelhante na arquitetura de PC para memória de sombra; nesse caso, geralmente significa uma seção da RAM usada para armazenar uma cópia de uma ROM mais lenta e mapeada para o mesmo endereço. Novamente, ele armazena uma cópia de outro armazenamento, oculto porque a cópia o substitui no espaço de endereço.

Edit: Vendo que é um TMS320, o registrador shadow fornece um buffer duplo; Essa técnica é usada para garantir que as atualizações ocorram no momento adequado. Compare o uso de trocas de buffer de quadros nos gráficos. O Manual de Dados mostra as versões sombra e ativa de vários registradores. Considere, por exemplo, um registro indicando o fim de um pulso; se você o alterar para um pulso mais curto, fazê-lo quando o pulso ainda não tiver terminado poderá fazer com que um pulso nunca termine (já que nunca foi igual ao valor final nesse ciclo). Mas se você gravar no registrador sombra, o hardware poderá copiá-lo para o registrador ativo em um ponto conhecido por ser seguro - por exemplo, exatamente quando o cronômetro for acionado. Isso não está descrito no Manual de Dados, que cobre parâmetros específicos para um determinado chip; conhecendo a TI, é provável que exista umamanual separado descrevendo a função de cada bloco; este tem uma menção ao Modo Sombra na seção 2.2.

Yann Vernier
fonte
3
Outro uso do termo "sombra" aplicado particularmente a registradores é o mapeamento de nomes de registros arquiteturais para diferentes registros físicos, para permitir uma rápida troca de contexto total ou parcial. ("Registro em banco" às vezes é usado como sinônimo.) Normalmente, isso visa acelerar interrupções.
Paul A. Clayton
1

todos os registradores shadow e mirror se referem a registradores que podem ser acessados ​​de vários endereços. Por exemplo, no hardware, um determinado registro possui uma instância localizada em F00h. No entanto, se houver um alias em 1F00h, ler ou escrever para F00h é o mesmo que ler ou escrever para 1F00h e vice-versa.

user3747592
fonte
2
Seria uma boa adição se explicar qual é o objetivo desses registros de sombra.
Rev1.0 20/08/14
0

Simplificando, o registrador sombra é um registrador criado dentro do microcontrolador com o objetivo de armazenar determinados dados para serem usados ​​posteriormente. O nome "Sombra" implica duplicar algum valor e usá-lo novamente - para que não se perca.

Mike CANADA
fonte