Mudanças entre as edições de "EDI018702 2023 1 AULA05"
(Criou página com '=Contadores Síncronos= ;OBJETIVOS :Nesta aula o aluno deverá: :*Saber o que são contadores síncronos; :*Diferenciar contadores crescente e/ou decrescente; :*Saber o que...') |
|||
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 1: | Linha 1: | ||
− | = | + | =Registradores= |
;OBJETIVOS | ;OBJETIVOS | ||
Linha 5: | Linha 5: | ||
:Nesta aula o aluno deverá: | :Nesta aula o aluno deverá: | ||
− | :*Saber o que são | + | :*Saber o que são registradores tipo porta paralela; |
− | :* | + | :*Conhecer os registradores de deslocamento; |
− | + | :*Conhecer aplicações com registadores; e | |
− | :*Conhecer aplicações com | + | :*Identificar o terceiro estado de uma Saída (tristate). |
− | :* | + | |
;METODOLOGIA | ;METODOLOGIA | ||
− | :A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão mostrados e simulados exemplos de circuitos de | + | :A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão mostrados e simulados exemplos de circuitos de registradores. |
+ | |||
+ | ;INTRODUÇÃO: Uma das formas mais comuns de utilização dos flip-flop (FF) é no armazenamento e transferência de informações (bits). Cada FF possui a capacidade de armazenar um bit. Vários FFs podem ser configurados para formar um registrador no qual pode-se armazenar uma palavra binária. São necessários tantos FF quantos forem os bits da palavra. Os registradores armazenam bits e têm a capacidade de transferir esses bits para outros registradores seja de forma simultânea ou uma a uma. | ||
− | |||
+ | ==Tipo porta paralela== | ||
− | |||
− | + | Neste registrador todos os bits são armazenados simultaneamente. Ele é constituído de FF com as entradas de ''clock'' ligadas em comum. Quando ocorre a transição positiva do ''clock'', os dados de D1 a D4 são armazenados nas saídas Q1 a Q4. A Figura 1 mostra um circuito registrador do tipo porta paralela. | |
− | [[Imagem: | + | [[Imagem:fig29_DIG222802.png|center|border|]] |
<center> | <center> | ||
− | Figura 1 - | + | Figura 1 - Registrador do tipo "Porta Paralela". |
</center> | </center> | ||
− | + | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;" | |
+ | |+'''Tabela 1 - Estados dos registradores''' | ||
+ | |- | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Clock | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | D1 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | D2 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | D3 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | D4 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Q1 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Q2 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Q3 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Q4 | ||
+ | |- | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | ? | ||
+ | | ? | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | <math>\uparrow</math> | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | |- | ||
+ | | 0 | ||
+ | | X | ||
+ | | X | ||
+ | | X | ||
+ | | X | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | |} | ||
− | + | Registradores deste tipo são também conhecidos por LATCHES ou FLIP-FLOP do tipo D. Existem disponíveis comercialmente registradores de diversos tamanhos como mostrado anteriormente. | |
− | < | + | [[Imagem:fig29b_DIG222802.gif|center|border|528px]] |
+ | <center> | ||
+ | Figura 1b - Registrador do tipo "Porta Paralela" (animação). | ||
+ | </center> | ||
+ | Percebam na animação que o modo de funcionamento é muito simples. Quando há uma borda de subida do ''clock'' o que está na entrada D, de cada flip-flop, passa para a saída Q do mesmo flip-flop. | ||
− | + | ==Registrado de deslocamento== | |
− | + | É um registrador no qual os FF são conectados de forma a permitir, além da | |
− | + | inserção a operação de deslocamento dos bits da palavra binária. A importância | |
− | : | + | das operações de deslocamento dos bits está no fato destas viabilizarem, |
+ | entre outras, a realização de um grande número de operações lógicas e aritméticas | ||
+ | em um sistema digital. Os bits de uma registrador podem ser transmitidos | ||
+ | de duas maneiras: | ||
+ | '''Em série''': os bits da palavra são transferidos em sequência (um após o outro) | ||
+ | por um único fio. Este formato economiza circuitos. | ||
+ | '''Em paralelo''': os bits da palavra são transferidos simultaneamente por um | ||
+ | número de fios igual ao número de bits. Este formato economiza tempo. | ||
+ | Assim, levando-se em consideração as formas possíveis para se transmitir | ||
+ | uma palavra, pode-se inserir e retirar os bits em um registrador de maneira | ||
+ | serial ou paralela. Desta forma, é possível a implementação de 4 tipos básicos | ||
+ | de registradores: | ||
− | + | *Entrada e saída serial; | |
+ | *Entrada paralela e saída serial; | ||
+ | *Entrada serial e saída paralela; | ||
+ | *Entrada e saída paralela. | ||
− | [[Imagem: | + | |
+ | |||
+ | ===Entrada e saída serial=== | ||
+ | |||
+ | |||
+ | Suponha que voce deseja armazenar no registrador o dado de 4 bits "1010". Como o registrador | ||
+ | desloca os dados da esquerda para a direita o primeiro bit a entrar é 0 da direita, | ||
+ | chamado de LSB (Least Significant Bit). São necessários 4 transições negativas | ||
+ | do clock para que o dado entre no registrador. O último bit a entrar é o 1 | ||
+ | da esquerda, chamado de MSB (Most Significant Bit). A Figura 2 apresenta o diagrama de blocos para esse tipo de registrador. | ||
+ | |||
+ | |||
+ | [[Imagem:fig30_DIG222802.png|center|border]] | ||
<center> | <center> | ||
− | Figura | + | Figura 2 - Diagrama de blocos do registrador entrada e saída serial. |
</center> | </center> | ||
− | |||
− | + | Considerando-se o sentido de movimento dos dados pode-se ter: | |
+ | *Deslocamento para a direita; | ||
+ | *Deslocamneto para a esquerda; | ||
+ | *Bidirecional. | ||
− | |||
− | + | A Figura 3 mostra um registrador de deslocamento de 4 bits e na Figura 4 | |
+ | é apresentado o seu diagrama de tempo da entrada serial dos dados. A cada | ||
+ | pulso de clock, o valor contido nas entradas J e K dos FF é transferido para a | ||
+ | saída. Essa saída está conectada na entrada do próximo FF. Após 4 transições | ||
+ | de descida de clock, o valor das 4 últimas entradas de DADOS, é transferido serialmente para os FF, estando armazenado no registrador nos FF Q, R, S e T. | ||
− | |||
− | + | [[Imagem:fig31_DIG222802.png|center|border]] | |
+ | <center> | ||
+ | Figura 3 - Registrador de deslocamento serial para direita. | ||
+ | </center> | ||
− | [[Imagem: | + | [[Imagem:fig32_DIG222802.png|center|border]] |
<center> | <center> | ||
− | Figura | + | Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita. |
</center> | </center> | ||
− | + | Para manter estes dados armazenados basta que o sinal de clock seja desativado | |
+ | (0). Caso se deseje retirar os dados do registrador utiliza-se 4 transições | ||
+ | negativas do clock. A saída dos dados ocorre de forma serial no ultimo | ||
+ | FF (T) conforme mostrado na Fig. 6-9. OBS: Para facilitar o acompanhamento | ||
+ | da saída destes dados (1010) a entrada de dados foi mantida em zero. | ||
+ | |||
+ | |||
+ | (propor construir o registrador de deslocamento utilizando FF tipo D) | ||
+ | |||
+ | ===Entrada serial com saída paralela=== | ||
− | [[Imagem: | + | A Figura 5 apresenta o diagrama de blocos deste tipo de registrador. Neste caso, os |
+ | dados são deslocados em série para dentro (como já mostrado). Para se ter os | ||
+ | dados em paralelo basta ter acesso a todas as saídas dos FF do registrador | ||
+ | de deslocamento. | ||
+ | |||
+ | |||
+ | |||
+ | [[Imagem:fig33_DIG222802.png|center|border]] | ||
<center> | <center> | ||
− | Figura | + | Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela. |
</center> | </center> | ||
− | |||
− | + | ===Entrada paralela e saída serial=== | |
− | |||
− | [[Imagem: | + | Para este tipo de registrador são incorporadas habilidades para entrada em paralelo e |
+ | deslocamento dos dados. A análise será feita a partir do 74LS166 que possui | ||
+ | entrada serial e paralela e saída serial. A Figura 6 mostra o diagrama de blocos deste registrador. | ||
+ | Os diagramas lógicos e tabela funcional é mostrados na Figura 7 e 8. Para realizar a entrada paralela | ||
+ | dos dados, altera-se a entrada LOAD (carregar) para 0, e na transição positiva | ||
+ | do ''clock'' os FF têm suas saídas simultaneamente alteradas de acordo com as | ||
+ | entradas A a H. Quando a entrada LOAD está em 1 (SHIFT), o registrador | ||
+ | funciona como um registrador de deslocamento. A entrada CLEAR permite | ||
+ | zerar todas as saídas dos FF imediatamente (sem o ''clock''). | ||
+ | |||
+ | |||
+ | |||
+ | [[Imagem:fig34_DIG222802.png|center|border]] | ||
<center> | <center> | ||
− | Figura | + | Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial. |
</center> | </center> | ||
− | + | [[Imagem:fig35_DIG222802.png|center|border]] | |
+ | <center> | ||
+ | Figura 7 - Diagrama lógico do 74166. | ||
+ | </center> | ||
− | + | Exemplo: 74ALS166 e 74HC166 | |
− | |||
− | |||
− | |||
− | |||
+ | *Apenas a saída serial QH é disponível. | ||
+ | *Dados seriais entram no pino SER. | ||
+ | *Dados paralelos podem ser carregados de forma síncrona. | ||
+ | *Funcionamento serial se SH/LD' = 1 | ||
+ | *Carga paralela de dados se SH/LD' = 0 | ||
+ | *Deslocamento síncrono e carga paralela desabilitados se CLK INH = 1 (clock-inhibit) – FFs mantêm estado anterior. | ||
− | [[Imagem: | + | [[Imagem:fig36_DIG222802.png|center|border]] |
<center> | <center> | ||
− | Figura | + | Figura 8 - Diagrama lógico do 74166 (cima) e representação gráfica do Registrador (embaixo). |
</center> | </center> | ||
− | = | + | O primeiro bit aparece em QH em t8, 8 pulsos de relógio após CLR' ter ido para o nível baixo. |
+ | |||
+ | ===Entrada paralela e saída paralela=== | ||
+ | |||
+ | A Figura 9 mostra o diagrama de blocos para o registrador do tipo entrada paralela e saída paralela. | ||
+ | |||
− | + | [[Imagem:fig38_DIG222802.png|center|border]] | |
+ | <center> | ||
+ | Figura 9 - Diagrama de blocos. | ||
+ | </center> | ||
− | + | Este tipo de registrador pode ser implementado conforme mostrado na Figura 10, porém não é considerado propriamente um registrador de deslocamento. Entretanto, em algumas aplicações é necessário que o registrador seja de deslocamento. Por isso, existem CIs | |
+ | comerciais que são registradores de deslocamento com entradas e saídas paralelas. O CIs 74LS195 é um registrador de deslocamento | ||
+ | de 4 bit com entradas paralela e serial e saídas paralela e serial. | ||
− | [[Imagem: | + | [[Imagem:fig39_DIG222802.png|center|border|450px]] |
<center> | <center> | ||
− | Figura | + | Figura 10 - Registrador tipo porta paralela. |
</center> | </center> | ||
− | + | Como o CI 74195 é possível realizar as seguintes operações: | |
+ | *Manutenção do estado interno do registrador; | ||
+ | *CLEAR da saída paralela; | ||
+ | *Entrada paralela e saída paralela; | ||
+ | *Entrada série e saída série para a direita; | ||
+ | *Entrada série e saída paralela (com desabilitação do ''clock'' após a quarta transição positiva do clock); | ||
+ | *Entrada paralela e saída série a direita. | ||
− | + | ==Aplicações com registradores== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ===Porta paralela=== |
− | + | A Figura 10 mostra o uso de uma porta paralela de dados para a a transferência | |
+ | dos dados da entrada D1 a D4 para as saídas Q1 a Q4. A função desse | ||
+ | circuito é armazenar um estado de um circuito, até que um novo estado esteja | ||
+ | disponível ou seja desejável. A transferência é controlada pelo ''clock''. Na | ||
+ | transição negativa do ''clock'' os dados são armazenados no registrador X. A | ||
+ | transferência ocorre simultaneamente em todos os bits. | ||
− | |||
+ | ===Porta serial=== | ||
+ | |||
+ | |||
+ | A Figura 11 apresenta a conexão entre dois registradores de deslocamento X e Y | ||
+ | para a transferência serial de dados. O ''clock'' desses registradores é único, e | ||
+ | faz com que a cada transição negativa do ''clock'', o conteúdo do terceiro FF do | ||
+ | registrador X é transferido para o primeiro FF do registrador Y, a mesmo tempo | ||
+ | que internamente o conteúdo dos FF é deslocado. Após 3 transições negativas | ||
+ | do ''clock'', o conteúdo inicial do registrador X é todo transferido para o registrador | ||
+ | Y, conforme mostra a Tabela XX. | ||
+ | |||
+ | |||
+ | [[Imagem:fig40_DIG222802.png|center|border]] | ||
+ | <center> | ||
+ | Figura 11 - Transferência serial entre registradores. | ||
+ | </center> | ||
+ | |||
+ | |||
+ | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;" | ||
+ | |+'''Tabela 2 - Estados dos registradores''' | ||
+ | |- | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" rowspan="2" | Clock | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" colspan="3" | Registrador X | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" colspan="3" | Registrador Y | ||
+ | |- | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | X1 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | X2 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | X3 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Y1 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Y2 | ||
+ | ! style="background:#0080FF; color:white; width: 20px;" | Y3 | ||
+ | |- | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | ? | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | ? | ||
+ | | ? | ||
+ | |- | ||
+ | | 2 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | ? | ||
+ | |- | ||
+ | | 3 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | |} | ||
+ | |||
+ | ===Contador em anel=== | ||
− | + | Para o funcionamento deste tipo de contador, um dos FF deve ter inicialmente o valor 1 e os outros 0. Isso pode ser feito através das entradas assíncronas PRESET e CLEAR. Por ser um registrador de deslocamento, o 1 é transferido para o próximo FF a cada ''clock'' | |
+ | e da mesma forma os 0s. Os estados se repetem ciclicamente porque a saída do último FF está conectado a entrada do primeiro FF. A Figura 12 mostra um contador em anel e a Figura 13 apresenta a sequência da contagem considerando inicialmente a saída Q3=1 e as outras Q2=Q1=Q0=0. | ||
− | + | [[Imagem:fig41_DIG222802.png|center|border]] | |
+ | <center> | ||
+ | Figura 12 - Contador em Anel. | ||
+ | </center> | ||
− | |||
+ | [[Imagem:fig42_DIG222802.png|center|border]] | ||
+ | <center> | ||
+ | Figura 13 - Diagrama de tempo do contador em anel. | ||
+ | </center> | ||
− | < | + | [[Imagem:fig41b_DIG222802.gif|center|border|600px]] |
+ | <center> | ||
+ | Figura 12 - Contador em Anel (animação). | ||
+ | </center> | ||
− | + | Percebam que no primeiro flip-flop tipo D há '''R'''eset e '''S'''et que são utilizados para introduzir no registrador em anel os 0s e 1s. Após colocado o 0 ou o 1 ele passa a circular no circuito porque a saída Q do último flip-flop é ligada na entrada D do primeiro flip-flip. | |
+ | ===Contador Johnson=== | ||
− | + | O contador Johnson é um contador em anel no qual a saída <math>\bar Q_0</math> do último FF | |
+ | está conectado a entrada D do primeiro FF, conforme mostrado na Figura 14. | ||
+ | Neste tipo de contador todos os FF deve ter inicialmente o valor 0, o que pode | ||
+ | ser feito através da entrada assíncronas CLEAR. | ||
− | + | [[Imagem:fig43_DIG222802.png|center|border]] | |
<center> | <center> | ||
− | + | Figura 14 - Contador Johnson. | |
− | |||
− | |||
− | |||
− | |||
</center> | </center> | ||
− | ; | + | ;Exercício |
− | + | Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson. | |
+ | [[Imagem:fig43b_DIG222802.gif|center|border|600px]] | ||
+ | <center> | ||
+ | Figura 14b - Contador Johnson (animação). | ||
+ | </center> | ||
+ | |||
+ | O funcionamento do Contador Johnson é muito simples. Diferente do contador em anel, não precisa inserir os 0s e 1s porque a saída Q\ do último flip-flop é conectada a entrada D do primeiro flip-flop. No início como todas as saídas Q são 0, todas as Q\ são 1. Então, primeiro circula todos os 1s e depois circula todos os 0s. Sempre entrando um a um. | ||
− | + | ==Terceiro Estado de uma Saída (''tristate'')== | |
− | + | As saídas que podem apenas assumir os estados 0 e 1 são chamadas de ''Totem-Pole''. Diversos circuitos possuem saídas que podem assumir, além dos estados 0 e 1, o estado de alta impedância (''tristate'') o qual é equivalente a um circuito aberto. As saídas em ''tristate'' permitem assim que os computadores sejam organizados em barramentos, conectando diversas saídas de componentes sem provocar a danificação dos mesmos desde que somente um componente seja acionado de cada vez. As saídas dos componentes comportam-se de forma similar a uma chave de três estados. A Figura 15 mostra a simbologia (A) e a tabela verdade (B) para a chave de três estados. | |
+ | [[Imagem:fig44_DIG222802.png|center|border]] | ||
<center> | <center> | ||
− | + | Figura 15 - Simbologia (A) e tabela verdade (B) da chave ''tristate''. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</center> | </center> | ||
− | |||
− | + | Notem que quando E=0 (''enable'') a saída Y fica em Z (alta impedância) independente do valor da entrada D. | |
+ | |||
+ | ==Circuitos Integrados de Registradores== | ||
+ | |||
− | + | A seguir são mostrados os diagramas lógicos, pinagens e tabelas funcionais | |
− | + | de alguns registradores. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *74164 – Registrador de deslocamento de 8 bits com entrada serial e saída paralela. | |
+ | *74165 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial. | ||
+ | *74166 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial, com CLEAR assíncrono. | ||
+ | *74173 – Registrador porta FF de 4 bits com entrada paralela e saída paralela em tristate | ||
+ | *74194 – Registrador de deslocamento bidirecional universal de 4 bits com entrada paralela e saída paralela | ||
+ | *74195 – Registrador de deslocamento de 4 bits com entrada paralela e saída paralela | ||
+ | *74273 – Registrador porta FF de oito bits de entrada paralela e saída paralela. | ||
+ | *74373 – Registrador porta LATCH de oito bits de entrada paralela e saída paralela em tristate. | ||
+ | *74374 – Registrador porta FF de oito bits de entrada paralela e saída paralela em tristate. | ||
+ | *74543 – Transceptor com registradores de oito bits com saídas em tristate. | ||
− | + | =Lista de Exercícios= | |
− | [ | + | [1] O que é um registrador? Para que serve? |
− | [2] | + | [2] Por que o clock nos registradores é comum a todos os FFs? |
− | [3] | + | [3] Qual a diferença entre um registrador série de um registrador paralelo? |
− | [4] | + | [4] É possível a implementação de 4 tipos de registradores misturando série e paralelo. Quais são? |
− | [5] | + | [5] Explique o funcionamento de um registrador com entrada paralela e saída serial. |
+ | [6] Cite as principais características do CI 74166. | ||
+ | [7] Cite as principais características do CI 74195. | ||
− | + | [8] Qual a diferença de um contador em anel para um contador Jonhson? | |
− | + | [9]O que é ''tristate''? | |
=Referências= | =Referências= | ||
− | [1] | + | [1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf |
+ | [2] http://www.univasf.edu.br/~romulo.camara/novo/wp-content/uploads/2013/07/Aula16_Registradores_de_Deslocamento.pdf | ||
Edição atual tal como às 15h39min de 18 de abril de 2023
Registradores
- OBJETIVOS
- Nesta aula o aluno deverá:
- Saber o que são registradores tipo porta paralela;
- Conhecer os registradores de deslocamento;
- Conhecer aplicações com registadores; e
- Identificar o terceiro estado de uma Saída (tristate).
- METODOLOGIA
- A aula será expositiva e dialogada, utilizando apresentação de texto base na Internet, onde serão mostrados e simulados exemplos de circuitos de registradores.
- INTRODUÇÃO
- Uma das formas mais comuns de utilização dos flip-flop (FF) é no armazenamento e transferência de informações (bits). Cada FF possui a capacidade de armazenar um bit. Vários FFs podem ser configurados para formar um registrador no qual pode-se armazenar uma palavra binária. São necessários tantos FF quantos forem os bits da palavra. Os registradores armazenam bits e têm a capacidade de transferir esses bits para outros registradores seja de forma simultânea ou uma a uma.
Tipo porta paralela
Neste registrador todos os bits são armazenados simultaneamente. Ele é constituído de FF com as entradas de clock ligadas em comum. Quando ocorre a transição positiva do clock, os dados de D1 a D4 são armazenados nas saídas Q1 a Q4. A Figura 1 mostra um circuito registrador do tipo porta paralela.
Figura 1 - Registrador do tipo "Porta Paralela".
Clock | D1 | D2 | D3 | D4 | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 0 | ? | ? | ? | ? |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
0 | X | X | X | X | 1 | 0 | 1 | 0 |
Registradores deste tipo são também conhecidos por LATCHES ou FLIP-FLOP do tipo D. Existem disponíveis comercialmente registradores de diversos tamanhos como mostrado anteriormente.
Figura 1b - Registrador do tipo "Porta Paralela" (animação).
Percebam na animação que o modo de funcionamento é muito simples. Quando há uma borda de subida do clock o que está na entrada D, de cada flip-flop, passa para a saída Q do mesmo flip-flop.
Registrado de deslocamento
É um registrador no qual os FF são conectados de forma a permitir, além da inserção a operação de deslocamento dos bits da palavra binária. A importância das operações de deslocamento dos bits está no fato destas viabilizarem, entre outras, a realização de um grande número de operações lógicas e aritméticas em um sistema digital. Os bits de uma registrador podem ser transmitidos de duas maneiras:
Em série: os bits da palavra são transferidos em sequência (um após o outro) por um único fio. Este formato economiza circuitos.
Em paralelo: os bits da palavra são transferidos simultaneamente por um número de fios igual ao número de bits. Este formato economiza tempo. Assim, levando-se em consideração as formas possíveis para se transmitir uma palavra, pode-se inserir e retirar os bits em um registrador de maneira serial ou paralela. Desta forma, é possível a implementação de 4 tipos básicos de registradores:
- Entrada e saída serial;
- Entrada paralela e saída serial;
- Entrada serial e saída paralela;
- Entrada e saída paralela.
Entrada e saída serial
Suponha que voce deseja armazenar no registrador o dado de 4 bits "1010". Como o registrador desloca os dados da esquerda para a direita o primeiro bit a entrar é 0 da direita, chamado de LSB (Least Significant Bit). São necessários 4 transições negativas do clock para que o dado entre no registrador. O último bit a entrar é o 1 da esquerda, chamado de MSB (Most Significant Bit). A Figura 2 apresenta o diagrama de blocos para esse tipo de registrador.
Figura 2 - Diagrama de blocos do registrador entrada e saída serial.
Considerando-se o sentido de movimento dos dados pode-se ter:
- Deslocamento para a direita;
- Deslocamneto para a esquerda;
- Bidirecional.
A Figura 3 mostra um registrador de deslocamento de 4 bits e na Figura 4
é apresentado o seu diagrama de tempo da entrada serial dos dados. A cada
pulso de clock, o valor contido nas entradas J e K dos FF é transferido para a
saída. Essa saída está conectada na entrada do próximo FF. Após 4 transições
de descida de clock, o valor das 4 últimas entradas de DADOS, é transferido serialmente para os FF, estando armazenado no registrador nos FF Q, R, S e T.
Figura 3 - Registrador de deslocamento serial para direita.
Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita.
Para manter estes dados armazenados basta que o sinal de clock seja desativado
(0). Caso se deseje retirar os dados do registrador utiliza-se 4 transições
negativas do clock. A saída dos dados ocorre de forma serial no ultimo
FF (T) conforme mostrado na Fig. 6-9. OBS: Para facilitar o acompanhamento
da saída destes dados (1010) a entrada de dados foi mantida em zero.
(propor construir o registrador de deslocamento utilizando FF tipo D)
Entrada serial com saída paralela
A Figura 5 apresenta o diagrama de blocos deste tipo de registrador. Neste caso, os dados são deslocados em série para dentro (como já mostrado). Para se ter os dados em paralelo basta ter acesso a todas as saídas dos FF do registrador de deslocamento.
Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela.
Entrada paralela e saída serial
Para este tipo de registrador são incorporadas habilidades para entrada em paralelo e deslocamento dos dados. A análise será feita a partir do 74LS166 que possui entrada serial e paralela e saída serial. A Figura 6 mostra o diagrama de blocos deste registrador. Os diagramas lógicos e tabela funcional é mostrados na Figura 7 e 8. Para realizar a entrada paralela dos dados, altera-se a entrada LOAD (carregar) para 0, e na transição positiva do clock os FF têm suas saídas simultaneamente alteradas de acordo com as entradas A a H. Quando a entrada LOAD está em 1 (SHIFT), o registrador funciona como um registrador de deslocamento. A entrada CLEAR permite zerar todas as saídas dos FF imediatamente (sem o clock).
Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.
Figura 7 - Diagrama lógico do 74166.
Exemplo: 74ALS166 e 74HC166
- Apenas a saída serial QH é disponível.
- Dados seriais entram no pino SER.
- Dados paralelos podem ser carregados de forma síncrona.
- Funcionamento serial se SH/LD' = 1
- Carga paralela de dados se SH/LD' = 0
- Deslocamento síncrono e carga paralela desabilitados se CLK INH = 1 (clock-inhibit) – FFs mantêm estado anterior.
Figura 8 - Diagrama lógico do 74166 (cima) e representação gráfica do Registrador (embaixo).
O primeiro bit aparece em QH em t8, 8 pulsos de relógio após CLR' ter ido para o nível baixo.
Entrada paralela e saída paralela
A Figura 9 mostra o diagrama de blocos para o registrador do tipo entrada paralela e saída paralela.
Figura 9 - Diagrama de blocos.
Este tipo de registrador pode ser implementado conforme mostrado na Figura 10, porém não é considerado propriamente um registrador de deslocamento. Entretanto, em algumas aplicações é necessário que o registrador seja de deslocamento. Por isso, existem CIs comerciais que são registradores de deslocamento com entradas e saídas paralelas. O CIs 74LS195 é um registrador de deslocamento de 4 bit com entradas paralela e serial e saídas paralela e serial.
Figura 10 - Registrador tipo porta paralela.
Como o CI 74195 é possível realizar as seguintes operações:
- Manutenção do estado interno do registrador;
- CLEAR da saída paralela;
- Entrada paralela e saída paralela;
- Entrada série e saída série para a direita;
- Entrada série e saída paralela (com desabilitação do clock após a quarta transição positiva do clock);
- Entrada paralela e saída série a direita.
Aplicações com registradores
Porta paralela
A Figura 10 mostra o uso de uma porta paralela de dados para a a transferência dos dados da entrada D1 a D4 para as saídas Q1 a Q4. A função desse circuito é armazenar um estado de um circuito, até que um novo estado esteja disponível ou seja desejável. A transferência é controlada pelo clock. Na transição negativa do clock os dados são armazenados no registrador X. A transferência ocorre simultaneamente em todos os bits.
Porta serial
A Figura 11 apresenta a conexão entre dois registradores de deslocamento X e Y para a transferência serial de dados. O clock desses registradores é único, e faz com que a cada transição negativa do clock, o conteúdo do terceiro FF do registrador X é transferido para o primeiro FF do registrador Y, a mesmo tempo que internamente o conteúdo dos FF é deslocado. Após 3 transições negativas do clock, o conteúdo inicial do registrador X é todo transferido para o registrador Y, conforme mostra a Tabela XX.
Figura 11 - Transferência serial entre registradores.
Clock | Registrador X | Registrador Y | ||||
---|---|---|---|---|---|---|
X1 | X2 | X3 | Y1 | Y2 | Y3 | |
0 | 1 | 0 | 1 | ? | ? | ? |
1 | 0 | 1 | 0 | 1 | ? | ? |
2 | 0 | 0 | 1 | 0 | 1 | ? |
3 | 0 | 0 | 0 | 1 | 0 | 1 |
Contador em anel
Para o funcionamento deste tipo de contador, um dos FF deve ter inicialmente o valor 1 e os outros 0. Isso pode ser feito através das entradas assíncronas PRESET e CLEAR. Por ser um registrador de deslocamento, o 1 é transferido para o próximo FF a cada clock e da mesma forma os 0s. Os estados se repetem ciclicamente porque a saída do último FF está conectado a entrada do primeiro FF. A Figura 12 mostra um contador em anel e a Figura 13 apresenta a sequência da contagem considerando inicialmente a saída Q3=1 e as outras Q2=Q1=Q0=0.
Figura 12 - Contador em Anel.
Figura 13 - Diagrama de tempo do contador em anel.
Figura 12 - Contador em Anel (animação).
Percebam que no primeiro flip-flop tipo D há Reset e Set que são utilizados para introduzir no registrador em anel os 0s e 1s. Após colocado o 0 ou o 1 ele passa a circular no circuito porque a saída Q do último flip-flop é ligada na entrada D do primeiro flip-flip.
Contador Johnson
O contador Johnson é um contador em anel no qual a saída do último FF está conectado a entrada D do primeiro FF, conforme mostrado na Figura 14. Neste tipo de contador todos os FF deve ter inicialmente o valor 0, o que pode ser feito através da entrada assíncronas CLEAR.
Figura 14 - Contador Johnson.
- Exercício
Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson.
Figura 14b - Contador Johnson (animação).
O funcionamento do Contador Johnson é muito simples. Diferente do contador em anel, não precisa inserir os 0s e 1s porque a saída Q\ do último flip-flop é conectada a entrada D do primeiro flip-flop. No início como todas as saídas Q são 0, todas as Q\ são 1. Então, primeiro circula todos os 1s e depois circula todos os 0s. Sempre entrando um a um.
Terceiro Estado de uma Saída (tristate)
As saídas que podem apenas assumir os estados 0 e 1 são chamadas de Totem-Pole. Diversos circuitos possuem saídas que podem assumir, além dos estados 0 e 1, o estado de alta impedância (tristate) o qual é equivalente a um circuito aberto. As saídas em tristate permitem assim que os computadores sejam organizados em barramentos, conectando diversas saídas de componentes sem provocar a danificação dos mesmos desde que somente um componente seja acionado de cada vez. As saídas dos componentes comportam-se de forma similar a uma chave de três estados. A Figura 15 mostra a simbologia (A) e a tabela verdade (B) para a chave de três estados.
Figura 15 - Simbologia (A) e tabela verdade (B) da chave tristate.
Notem que quando E=0 (enable) a saída Y fica em Z (alta impedância) independente do valor da entrada D.
Circuitos Integrados de Registradores
A seguir são mostrados os diagramas lógicos, pinagens e tabelas funcionais de alguns registradores.
- 74164 – Registrador de deslocamento de 8 bits com entrada serial e saída paralela.
- 74165 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial.
- 74166 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial, com CLEAR assíncrono.
- 74173 – Registrador porta FF de 4 bits com entrada paralela e saída paralela em tristate
- 74194 – Registrador de deslocamento bidirecional universal de 4 bits com entrada paralela e saída paralela
- 74195 – Registrador de deslocamento de 4 bits com entrada paralela e saída paralela
- 74273 – Registrador porta FF de oito bits de entrada paralela e saída paralela.
- 74373 – Registrador porta LATCH de oito bits de entrada paralela e saída paralela em tristate.
- 74374 – Registrador porta FF de oito bits de entrada paralela e saída paralela em tristate.
- 74543 – Transceptor com registradores de oito bits com saídas em tristate.
Lista de Exercícios
[1] O que é um registrador? Para que serve?
[2] Por que o clock nos registradores é comum a todos os FFs?
[3] Qual a diferença entre um registrador série de um registrador paralelo?
[4] É possível a implementação de 4 tipos de registradores misturando série e paralelo. Quais são?
[5] Explique o funcionamento de um registrador com entrada paralela e saída serial.
[6] Cite as principais características do CI 74166.
[7] Cite as principais características do CI 74195.
[8] Qual a diferença de um contador em anel para um contador Jonhson?
[9]O que é tristate?
Referências
[1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf