REGISTRADOR DE DESLOCAMENTO

 O que é um registrador de deslocamento?

Em eletrônica digital um registrador de deslocamento é um conjunto de registradores configurados em um arranjo linear de tal forma que a informação é deslocada pelo circuito conforme ele é ativado.

Tipos de Registradores de deslocamento

Os registradores de deslocamento podem possuir uma combinação de entradas e saídas seriais e paralelas, incluindo as configurações entrada serial, saída paralela (SIPO) e entrada paralela, saída serial (PISO). Existem outra configurações possuindo ambas as entradas serial e paralela e outra com saídas serial paralela. Existem também registradores de deslocamento bi-direcionais, os quais permitem que se varie a direção do deslocamento da informação. As entradas e saídas seriais de um registrador podem ser conectadas juntas, de modo a formar um registrador de deslocamento circular. Poderiam também ser desenvolvidos registradores de deslocamento multi-dimensionais, os quais podem realizar processamentos mais complexos.

Entrada serial, saída serial

Leitura destrutiva

Este é o tipo mais simples de registrador de deslocamento. O conjunto de dados é inserido em 'Data In', e é deslocado para a direita em um estágio cada vez que o 'Data Advance' é colocado em nível alto. A cada avanço, o bit da extrema esquerda, o 'Data In', é deslocado para a saída do primeiro flip-flop. O bit na extrema direita, o 'Data Out', é deslocado e então perdido.

0000
1000
1100
0110
1011
0101
0010
0001
0000

Os dados são armazenados em cada flip-flop, na saída 'Q', de modo que, assim, existam quatro "espaços" para armazenamento disponíveis nestas configuração, sendo desta forma um registrador de deslocamento de 4 bits. Para exemplificar o padrão do deslocamento, consideremos que o registrador possua o dado 0000, de modo que todos os espaços para deslocamento estejam vazios. Conforme o 'Data In' insere os dados 1,1,0,1,0,0,0,0 (nesta ordem, fornecendo um pulso ao 'Data Advance' a cada dado, sendo isto chamado de cloking ou strobing) no registrador, obtemos o resultado mostrado na tabela ao lado. A coluna da esquerda corresponde ao pino de saída localizado na extrema esquerda da figura, e assim por diante.

Deste modo a saída completa do registrador é 00001101 (desconsiderando o passo final). Conforme pode-se observar, se continuassemos a inserir dados, obteríamos exatamente o mesmo dado da entrada, porém atrasado em quatro ciclos do 'Data Advance'. Este arranjo é o equivalente em hardware de uma fila. Além disso, todo o registrador poderia ser zerado a qualquer momento colocando-se todos os pinos de reset (R) em nível alto.

Esta configuração realiza uma leitura destrutiva, visto que os dados são perdidos ao serem deslocados do bit à exterma direita.

Leitura não-destrutiva

A leitura não-destrutiva pode ser obtida utilizando-se a configuração mostrada abaixo. Outro pino de entrada é adicionado, o controle de Leitura/Escrita. Quando este está em nível alto (write) então o registrador de deslocamento se comporta normalmente, avançando a entrada de dados em uma posição para cada ciclo de clock, e os dados podem ser perdidos no fim do resgistrador. Entretanto, quando o controle R/W é colocado em nível baixo (read), qualquer dado deslocado na extrema direita se torna a próxima entrada na esquerda, sendo assim mantido no sistema. Deste modo, enquanto o controle R/W estiver em nível baixo, nenhum dado pode ser perdido do sistema.

Nesta animação, os quatro últimos bits de saída são mostrados na extrema direita. Quando o controle R/W é colocado em nível baixo, os dados ao mesmo tempo em que saem são colocados de volta na entrada do registrador, porém quando a entrada R/W está em nível alto, os dados são deslocados para fora e então perdidos.

Entrada serial, Saída paralela

Esta configuração permite a conversão do formato serial para o paralelo. Os dados entram de forma serial, conforme descrito na sessão acima. Uma vez que os dados entraram, eles podem ser lidos todos simultaneamente, ou deslocados para fora e substituídos.


Entrada paralela, Saída serial

Esta configuração recebe os dados através das entradas D1 a D4 no formato paralelo. Para escrever os dados no registrador, o controle de Escrita/Deslocamento deve estar em nível baixo. Para deslocar os dados, o controle deve ser colocado em nível alto e os registradores devem receber um pulso de clock, desta forma o circuito atua como um registrador de deslocamento SISO, com o terminal D1 atuando como entrada de dados. Entretanto, caso uma palavra de dados tenham sido escritos de forma paralela e em seguida deslocados, a saída de dados, Q, conterá os bits desta palavra, lidos em ordem.

Registrador de deslocamento PISO de 4 bits.


EEntrada paralela, Saída para Saída paralela

Comentários

Postagens mais visitadas