Mudanças entre as edições de "EDI018702 2020 1 AULA07"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(10 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
=Apresentação=
 
=Apresentação=
  
Olá futuros Engenheiros,
+
Olá Estudante,
  
Na próxima semana vamos realizar nossa AT2 que vai envolver até o conteúdo da aula de hoje. Vamos terminar com Demux estudar um pouco sobre memórias, o que são estes dispositivos e como funcionam.
+
Até agora aprendemos sobre os flip-flop e contadores assíncronos e síncronos, crescente, decrescente, modulares, com carga inicial e tudo mais. Aprendemos também a compreender as formas de onda expressas nos diagramas de funcionamento e agora vamos aprender sobre um das aplicações muito apreciadas com flip-flops, que são os registradores.
 
 
Lembre-se que a WiKi não deve ser utilizada como única fonte de estudos.
 
  
 
Bons Estudos!
 
Bons Estudos!
Linha 11: Linha 9:
 
Prof. Douglas A.
 
Prof. Douglas A.
  
==Objetivo==
+
=Registradores=
  
* O que são memórias.
 
* Como as memórias funcionam.
 
  
=Memórias=
+
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.
  
A principal vantagem dos sistemas digitais sobre os analógicos é a capacidade
 
de armazenar, facilmente, grandes quantidades de informação e/ou dados por períodos
 
longos ou curtos de tempo. Esta capacidade de memória é o que torna os sistemas
 
digitais tão versáteis e adaptáveis às diversas situações. Por exemplo, em um
 
computador digital, a memória principal armazena instruções que informam ao
 
computador o que fazer sob qualquer circunstância possível, de modo que o computador
 
realize sua tarefa com um mínimo de intervenção humana.
 
Vamos estudar os tipos mais comuns desses dispositivos e sistema de memória.
 
Já estamos bem familiarizados com o flip-flop, que é um dispositivo eletrônico de
 
memória. Os avanços na tecnologia LSI (''Large Scale Integration'') e VLSI (''Very
 
Large Scale Integration'') tornaram possível a obtenção de um grande número de flip-flops
 
em um único chip, organizados em vários arranjos de memória.
 
 
[[Imagem:fig108_DIG222802.png|500px|center]]
 
<center>
 
Figura - Disquete de 5 1/4 polegadas de dupla densidade com 360 kb de espaço disponível.
 
</center>
 
  
 +
==Tipo porta paralela==
  
Então as memórias são os dispositivos que armazenam informações, essas por
 
sua vez codificadas, digitalmente, através de um código binário qualquer. Essas
 
informações podem ser números, letras, caracteres quaisquer, comandos de operações,
 
endereços ou ainda qualquer outro tipo de dado. Essas informações armazenam dados
 
para endereçamento, programação e para constituir o conjunto de funções internas para
 
a funcionalidade do próprio sistema. Outro tipo de aplicação consiste em utilizá-las para
 
executarem quaisquer funções de circuitos combinacionais, e ainda, com o auxílio de
 
contadores comuns e conversores, gerarem formas de onda de diversas maneiras de
 
modo mais simples.
 
  
==Classificação das memórias==
+
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.
  
As memórias podem ser classificas de acordo com as seguintes características:
 
 
*Acesso;
 
*Volatilidade;
 
*Escrita/Leitura ou apenas de leitura;
 
*Tipo de armazenamento.
 
 
Vamos analisar cada item:
 
 
===Acesso===
 
 
As memórias armazenam informações em lugares denominadas
 
palavras, ou localidade de memória. Cada uma das palavras possui um conjunto
 
de bits que nos permite o seu acesso, a esse conjunto de bits damos o nome de
 
endereço. Esse conceito é de fácil compreensão, pois como o próprio nome diz,
 
o conjunto de bits representa o endereço da palavra onde está armazenada uma
 
informação. O tempo de acesso de uma memória é o tempo necessário desde a
 
entrada de um endereço até o momento em que a informação aparece na saída.
 
Para as memórias de escrita/leitura é também o tempo necessário para a
 
informação ser gravada.
 
Podemos ter acesso a uma dada localidade de memória de duas maneiras
 
diferentes:
 
 
*Acesso sequencial;
 
*Acesso aleatório.
 
 
 
===Volatilidade===
 
 
As memórias podem ser voláteis ou não voláteis. As memórias
 
voláteis são aquelas que ao retirada a alimentação perdem as informações
 
armazenadas. São memórias feitas, geralmente, a partir de semicondutores e na
 
maioria das vezes, possuem como elemento de memória o flip-flop. Um
 
exemplo típico é a memória RAM. As memórias não voláteis são aquelas que
 
mesmo sem alimentação continuam com as informações armazenadas. Dentre
 
essas se destacam as memórias magnéticas e as eletrônicas: ROM, PROM e
 
EPROM.
 
 
 
===Memórias de escrita/leitura ou memórias apenas de leitura===
 
 
As memórias de
 
escrita/leitura são aquelas que permitem acesso a uma célula qualquer para
 
escrevermos a informação desejada, além disso, permitem o acesso também para
 
a leitura do dado. As memórias RAM também se enquadraram nessa situação.
 
Por sua vez, as memórias apenas de leitura, são aquelas em que a informação é
 
fixa, só podendo efetuar-se a leitura de cada célula. São também conhecidas
 
como ROM (“Read Only Memory”).
 
 
===Tipos de armazenamento===
 
 
Quanto ao tipo de armazenamento as memórias
 
classificam-se em estáticas e dinâmicas. As memórias de armazenamento
 
estático são aquelas em que uma vez inserido o dado numa célula, este lá
 
permanece. As memórias de armazenamento dinâmico são aquelas em que
 
necessitamos inserir a informação de tempos em tempos, pois de acordo com as
 
características de seus elementos internos essas informações são perdidas após
 
um determinado tempo.
 
 
 
As memórias de armazenamento estático apresentam como vantagem a
 
simplicidade de utilização quando comparadas às dinâmicas. Em contrapartidas
 
as memórias estáticas são mais lentas para acesso que as dinâmicas.
 
 
 
==Terminologia==
 
 
O estudo dos sistemas e dos dispositivos de memória está repleto de termos. É
 
de grande valia compreender o significado de alguns termos mais básicos, que são
 
apresentados a seguir:
 
 
===Célula de memória===
 
 
Um dispositivo ou circuito elétrico utilizado para
 
armazenar um único bit (0 ou 1). Exemplos de célula de memória incluem: um
 
flip-flop, um capacitor carregado e uma pequena região numa fita ou disco
 
magnético.
 
 
 
===Palavra de memória===
 
 
Um grupo de bits (células) em uma memória que
 
representa instruções ou dados de algum tipo. Por exemplo, um registrador de
 
oito flip-flops pode ser considerado uma memória que esta armazenando uma
 
palavra de 8 bits. Os tamanhos de palavra nos computadores modernos variam
 
tipicamente de 4 a 64 bits, dependendo do porte do computador.
 
 
 
===Byte===
 
 
Um termo especial usado para um grupo de oito bits. Um byte sempre é
 
constituído de 8 bits. Tamanhos de palavra podem ser expressos em bytes assim
 
como em bits. Por exemplo, uma palavra de 8 bits é também uma palavra de um
 
byte; uma palavra de 16 bits tem dois bytes, e assim por diante.
 
 
 
===Capacidade===
 
 
Uma maneira de especificar quantos bits podem ser armazenados
 
em um determinado dispositivo de memória ou num sistema de memória
 
completo. Para ilustrar, suponha que temos uma memória capaz de armazenar
 
4096 palavras de 20 bits. Isto representa uma capacidade total de 81920 bits
 
(4096×20=81920). Poderíamos também expressar essa capacidade de
 
memória como 4096×20 . Quando representada desse modo, o primeiro número
 
(4.096) é o número de palavras, e o segundo número (20) é o número de bits por
 
palavra (tamanho da palavra). O número de palavras em uma memória
 
frequentemente é um múltiplo de 1024. É comum usar a designação "1k" para
 
representar 1024 = <math>2^{10}</math> quando nos referimos à capacidade de memória. Logo,
 
uma memória com uma capacidade de armazenamento de 4k×20 é na verdade
 
uma memória de 4096×20 . O desenvolvimento de memórias maiores trouxe a
 
designação "1M" ou "1 mega" para representar <math>2^{20} = 1048576</math>. Assim, uma
 
memória que possui uma capacidade de 2M ×8 tem na verdade uma capacidade
 
de 2097152×8. A designação "giga" se refere a <math>2^{30} = 1073741824</math>.
 
 
 
===Densidade===
 
 
Outro termo para capacidade. Quando dizemos que um dispositivo
 
de memória tem uma densidade maior do que outro, queremos dizer que ele
 
pode armazenar mais bits no mesmo espaço, ou seja, ele é mais de denso;
 
 
 
===Endereço===
 
 
É um número que identifica a posição de palavra na memória. Cada
 
palavra armazenada em um dispositivo ou sistema de memória possui um
 
endereço único. Endereços sempre existem num sistema digital como um
 
número binário, embora, por conveniência, números em octal, hexadecimal e
 
decimal sejam frequentemente utilizados para representar esses endereços.
 
A Tabela 1 ilustra uma pequena memória constituída de oito palavras.
 
  
 +
[[Imagem:fig29_DIG222802.png|center]]
 +
<center>
 +
Figura 1 - Registrador do tipo "Porta Paralela".
 +
</center>
  
  
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
|+'''Tabela 1 - Organização da memória'''
+
|+'''Tabela 1 - Estados dos registradores'''
! style="background:#F7D358; color:151515; width: 80px;" | Endereço
 
! style="background:#F7D358; color:151515; width: 140px;" | Dado
 
|-
 
| 0 0 0
 
| Palavra 0
 
|-
 
| 0 0 1
 
| Palavra 1
 
|-
 
| 0 1 0
 
| Palavra 2
 
 
|-
 
|-
| 0 1 1
+
! style="background:#F7D358; color:#151515; width: 20px;" | Clock
| Palavra 3
+
! style="background:#F7D358; color:#151515; width: 20px;" | D1
 +
! style="background:#F7D358; color:#151515; width: 20px;" | D2
 +
! style="background:#F7D358; color:#151515; width: 20px;" | D3
 +
! style="background:#F7D358; color:#151515; width: 20px;" | D4
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Q1
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Q2
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Q3
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Q4
 
|-
 
|-
| 1 0 0
+
| 0
| Palavra 4
+
| 1
 +
| 0
 +
| 1
 +
| 0
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 
|-
 
|-
| 1 0 1
+
| <math>\uparrow</math>
| Palavra 5
+
| 1
 +
| 0
 +
| 1
 +
| 0
 +
| 1
 +
| 0
 +
| 1
 +
| 0
 
|-
 
|-
| 1 1 0
+
| 0
| Palavra 6
+
| X
|-
+
| X
| 1 1 1
+
| X
| Palavra 7
+
| 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.
  
 +
==Registrado de deslocamento==
  
Cada uma destas oito palavras tem um endereço específico representado por um
+
É um registrador no qual os FF são conectados de forma a permitir, além da
número de três bits que varia de 000 até 111. Sempre que nos referimos a uma
+
inserção a operação de deslocamento dos bits da palavra binária. A importância
posição específica na memória, utilizamos seu código de endereço para
+
das operações de deslocamento dos bits está no fato destas viabilizarem,
identificá-la.
+
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:
  
===Operação de Leitura===
+
'''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.
  
Operação na qual a palavra binária armazenada numa
+
'''Em paralelo''': os bits da palavra são transferidos simultaneamente por um
determinada posição (endereço) de memória é detectada e então transferida para
+
número de fios igual ao número de bits. Este formato economiza tempo.
outro dispositivo. Por exemplo, se desejamos utilizar a palavra 4 da memória da
+
Assim, levando-se em consideração as formas possíveis para se transmitir
figura anterior para algum propósito, devemos realizar uma operação de leitura
+
uma palavra, pode-se inserir e retirar os bits em um registrador de maneira
no endereço 100. A operação de leitura freqüentemente é chamada de operação
+
serial ou paralela. Desta forma, é possível a implementação de 4 tipos básicos
de busca, pois a palavra está sendo buscada da memória. Utilizaremos os dois
+
de registradores:
termos indistintamente.
 
  
 +
*Entrada e saída serial;
 +
*Entrada paralela e saída serial;
 +
*Entrada serial e saída paralela;
 +
*Entrada e saída paralela.
  
===Operação de Escrita===
 
  
Operação na qual uma nova palavra é colocada numa
 
determinada posição de memória. Também é chamada de operação de
 
armazenamento. Sempre que uma nova palavra é escrita numa posição de
 
memória, ela substitui a palavra que estava previamente armazenada lá.
 
  
 +
===Entrada e saída serial===
  
===Tempo de Acesso===
 
  
Uma medida da velocidade de operação de um dispositivo de
+
Suponha que voce deseja armazenar no registrador o dado de 4 bits "1010". Como o registrador
memória. É o tempo necessário para realizar uma operação de leitura. Mais
+
desloca os dados da esquerda para a direita o primeiro bit a entrar é 0 da direita,
especificamente, é o tempo entre a memória receber uma nova entrada de
+
chamado de LSB (Least Significant Bit). São necessários 4 transições negativas
endereço e os dados se tornarem disponíveis na saída da memória.
+
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.
  
  
===Memória Volátil===
+
[[Imagem:fig30_DIG222802.png|center]]
 +
<center>
 +
Figura 2 - Diagrama de blocos do registrador entrada e saída serial.
 +
</center>
  
Qualquer tipo de memória que necessita da aplicação de
 
energia, alimentação, para poder armazenar informação. Se a energia elétrica é
 
removida, todas as informações armazenadas na memória são perdidas. Muitas
 
das memórias semicondutoras são voláteis, enquanto todas as memórias
 
magnéticas são não-voláteis, o que significa que elas podem manter a
 
informação sem energia elétrica;
 
  
 +
Considerando-se o sentido de movimento dos dados pode-se ter:
 +
*Deslocamento para a direita;
 +
*Deslocamneto para a esquerda;
 +
*Bidirecional.
  
===Memória de Acesso Aleatório (RAM – ''Random Access Memory'')===
 
  
 +
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.
  
A RAM e a memória na qual a posição física real de uma palavra da memória não tem efeito sobre o tempo necessário para ler ou escrever nesta posição. Em outras palavras, o tempo de acesso é o mesmo para qualquer endereço na memória. A maioria das memórias semicondutoras são de acesso aleatório. A Figura abaixo apresenta a arquitetura interna de uma memória RAM 4x4.
 
  
 
+
[[Imagem:fig31_DIG222802.png|center]]
[[Imagem:fig77_DIG222802.png|center]]
 
 
<center>
 
<center>
Figura - Arquitetura interna de uma memória RAM 4x4.
+
Figura 3 - Registrador de deslocamento serial para direita.
 
</center>
 
</center>
  
===Memória de Acesso Sequencial (SAM – ''Sequence Access Memory'')===
 
  
É um tipo de memória no qual o tempo de acesso não é constante, mas varia dependendo
+
[[Imagem:fig32_DIG222802.png|center]]
do endereço. Uma determinada palavra armazenada é encontrada percorrendo
+
<center>
todos os endereços até que o endereço desejado seja alcançado. Isto produz
+
Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita.
tempos de acesso que são muito maiores do que os das memórias de acesso
+
</center>
aleatório. Um exemplo de dispositivo de memória de acesso sequencial é uma
 
fita magnética.
 
  
Para entender a diferença entre SAM e RAM, considere a situação na qual
 
você gravou 60 minutos de música numa fita cassete de áudio. Quando desejar
 
alcançar uma música em particular, você terá que retroceder ou avançar a fita até
 
a encontrar. O processo é relativamente lento, e o tempo necessário depende de
 
onde a música desejada está gravada na fita. Isto é SAM, já que você percorreu
 
através das informações registradas até encontrar o que estava procurando. A
 
contrapartida RAM para isso seria um CD ou MD de áudio, no qual você pode
 
rapidamente selecionar qualquer música informando o código apropriado, e ele
 
gasta aproximadamente o mesmo tempo, não importando a música selecionada.
 
As memórias de acesso seqüencial são utilizadas onde os dados a serem
 
acessados sempre vêm numa longa seqüência de palavras sucessivas. A memória
 
de vídeo do microcomputador, por exemplo, deve fornecer seu conteúdo na
 
mesma ordem repetidamente para manter a imagem na tela.
 
  
 +
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.
  
===Memória de Leitura e Escrita (RWM – ''Read/Write Memory'')===
 
  
Qualquer memória que possa ser lida ou escrita de maneira igualmente fácil.
+
(propor construir o registrador de deslocamento utilizando FF tipo D)
  
 +
===Entrada serial com saída paralela===
  
===Memória somente de Leitura (ROM – ''Read-Only Memory'')===
 
  
Uma vasta classe de memórias semicondutoras, projetadas para aplicações nas quais a razão entre
+
A Figura 5 apresenta o diagrama de blocos deste tipo de registrador. Neste caso, os
as operações de leitura e escrita é muito alta. Tecnicamente, uma ROM pode ser
+
dados são deslocados em série para dentro (como já mostrado). Para se ter os
escrita (programada) apenas uma vez, e esta operação normalmente é realizada
+
dados em paralelo basta ter acesso a todas as saídas dos FF do registrador
pelo fabricante da mesma. Depois disso, as informações podem ser somente
+
de deslocamento.
lidas da memória. Outros tipos de ROM são na verdade RMM (“read-mostly
 
memories”), nas quais se pode escrever mais de uma vez; porém a operação de
 
escrita é mais complicada do que a de leitura, e não é realizada freqüentemente.
 
Todas as ROMs são não-voláteis e mantém os dados quando a energia é
 
removida.
 
  
  
===Dispositivos de Memória Estática===
 
  
 +
[[Imagem:fig33_DIG222802.png|center]]
 +
<center>
 +
Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela.
 +
</center>
  
Dispositivos de memória semicondutora nos
 
quais os dados permanecem armazenados enquanto a energia está presente, sem
 
a necessidade de reescrever periodicamente os dados na mesma.
 
  
 +
===Entrada paralela e saída serial===
  
===Dispositivos de Memória Dinâmica===
+
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'').
  
São dispositivos de memória semicondutora
 
nos quais os dados não permanecem armazenados, mesmo com a energia
 
presente, a menos que os dados sejam periodicamente reescritos. Sendo esta
 
operação de reescrita denominada de ''refresh''.
 
  
  
==Princípios de operação da memória==
+
[[Imagem:fig34_DIG222802.png|center]]
 
+
<center>
Embora cada tipo de memória seja diferente na sua operação interna, certos
+
Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.
princípios básicos são comuns a todas elas. A Figura 2 mostra como é realizada as operações com memórias.
+
</center>
  
  
[[Imagem:fig66_DIG222802.png|center|600px]]
+
[[Imagem:fig35_DIG222802.png|center]]
 
<center>
 
<center>
Figura - Operação da memória.
+
Figura 7 - Diagrama lógico do 74166.
 
</center>
 
</center>
  
Todos os dispositivos de memória necessitam de diversos tipos diferentes de
+
Exemplo: 74ALS166 e 74HC166
linhas de entrada e de saída para realizar as seguintes funções:
 
  
 +
*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.
  
:1. Selecionar o endereço na memória que está sendo acessado para uma operação
 
de leitura ou escrita;
 
  
:2. Selecionar uma operação de leitura ou escrita que será realizada;
+
[[Imagem:fig36_DIG222802.png|center]]
 +
<center>
 +
Figura 8 - Diagrama lógico do 74166.
 +
</center>
  
:3. Fornecer os dados de entrada a serem armazenados na memória durante uma
+
O primeiro bit aparece em QH em t8, 8 pulsos de relógio após CLR' ter ido para o nível baixo.
operação de escrita;
 
  
:4. Manter os dados de saída vindos da memória durante uma operação de leitura;
 
  
:5. Habilitar (ou desabilitar) a memória de modo que ela responda (ou não) às
+
===Entrada paralela e saída paralela===
entradas de endereçamento e ao comando de leitura/escrita.
 
  
 +
A Figura 9 mostra o diagrama de blocos para o registrador do tipo entrada paralela e saída paralela.
  
===Entradas de endereço===
 
  
 +
[[Imagem:fig38_DIG222802.png|center]]
 +
<center>
 +
Figura 9 - Diagrama de blocos.
 +
</center>
  
Utilizando o bloco anterior como exemplo, a memória armazena 32 palavras,
+
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
logo a mesma possui 32 posições de armazenamento diferentes e, portanto possui 32
+
comerciais que são registradores de deslocamento com entradas e saídas paralelas. O CIs 74LS195 é um registrador de deslocamento
endereços binários diferentes, variando de 00000 até 11111 (0 a 31 em decimal). Desta
+
de 4 bit com entradas paralela e serial e saídas paralela e serial.
forma, existem cinco entradas de endereço, A0 até A4. Para acessar cada uma das
 
posições de memória para uma operação de leitura ou escrita, o código de
 
endereçamento de cinco bits para essa posição é aplicado nas entradas de endereço. De
 
um modo geral, N entradas de endereço são necessárias para uma memória que possui
 
uma capacidade de <math>2^N</math> palavras.
 
  
Podemos visualizar a memória da Figura 2 como um arranjo de 32
 
registradores, no qual cada registrador guarda uma palavra de quatro bits. Cada posição
 
é mostrada contendo quatro células de memória que guardam 1’s ou 0’s, que formam a
 
palavra de dados armazenada nesta posição. Vejamos o seguinte exemplo, a palavra
 
0110 está armazenada no endereço 00000, a palavra de dados 1111 está armazenada no
 
endereço 00010, e assim por diante.
 
  
===A entrada R/W===
+
[[Imagem:fig39_DIG222802.png|center|450px]]
 +
<center>
 +
Figura 10 - Registrador tipo porta paralela.
 +
</center>
  
Esta entrada controla qual operação deve ser realizada na memória: leitura (R –
+
Como o CI 74195 é possível realizar as seguintes operações:
''read'') ou Escrita (W – ''write''). A entrada é identificada por <math>R/\overline{W}</math>, e como não existe
 
a barra sobre R, isto indica que a operação de leitura ocorre quando <math>R /\overline{W} =1</math>. A barra
 
sobre W indica que a operação de escrita acontece quando <math>R /\overline{W} = 0</math>. Outros
 
identificadores (nomenclaturas de outros autores) são usados frequentemente para essa
 
entrada. Dois dos mais comuns são <math>\overline{W}</math> (escrita) e <math>\overline{WE}</math> (''write enable'' - habilitação de
 
escrita). Novamente, a barra indica que a operação de escrita ocorre quando a entrada
 
está em nível baixo, portanto, fica subentendido que a operação de leitura ocorre para
 
nível alto.
 
  
 +
*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.
  
===Habilitação da memória===
+
==Aplicações com registradores==
  
Muitos sistemas de '''memória''' tem algum modo de '''desabilitar''' completamente uma
+
===Porta paralela===
parte ou toda a memória, de modo que ela não possa responder às outras entradas. Isto é
 
representado na figura anterior pela '''entrada ME''', embora ela possa ter nomes diferentes
 
nos vários tipos de memória, tais como ''chip enable'' (CE) ou ''chip select'' (CS). Na
 
figura, ela é mostrada como uma entrada ativa em nível alto que habilita a memória, de
 
modo que ela não responderá às entradas de endereço e de <math>R/\overline{W}</math> quando estiver em
 
nível baixo. Este tipo de entrada é útil quando vários módulos de memória são
 
combinados para formar uma memória maior.
 
  
  
==Evolução das memórias==
+
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.
  
Memórias são todos os dispositivos que permitem que um dispositivo eletrônico, neste caso, possa armazenar dados de forma permanente ou temporariamente. Existem as memórias primárias que são essenciais para o funcionamento do computador (RAM, ROM, Memória Cache) que normalmente servem como uma ponte para as memórias secundárias (Hard Disk, CDs, DVDs) para serem tratadas pelo processador.
 
  
No passado foram utilizadas várias tecnologias para implementar os mais diversos usos de memórias, como por exemplo: Memórias de tecnologia delay line, uma das primeiras tecnologias de memória principal, que armazenavam os dados na forma de pulsos sonoros em uma coluna de mercúrio. Memórias CRT, também chamadas de Williams-tube, um tipo de memória que usava um tubo CRT para armazenar dados na forma de pontos luminosos. Memórias de núcleo de ferrite, uma tecnologia popular de implementação da memória principal nas décadas de 1940 e 1950. Memórias de filme fino, uma melhoria da tecnologia de núcleo de ferrite, utilizada em alguns computadores na década de 1960. Cartões e fitas perfuradas, que já foram os principais meios de memória não volátil.
+
===Porta serial===
  
Na história mais recentemente foram criadas tecnologias de implementações de memórias bem sucedidas e muito bem utilizadas como: '''Portas lógicas e flip-flops''', usados na implementação da memória cache. Transistores e circuitos de refrescamento, usados na implementação da memória principal. Arranjos de conexões, utilizados na implementação de certas ROMs (memórias de leitura). Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento a longo prazo. Discos magnéticos, como discos rígidos e disquetes - a principal tecnologia de implementação de memória secundária. Discos ópticos, como CDs e DVDs, e suas diversas variações. Memória flash, um tipo de memória semi condutora não volátil muito usada em câmeras digitais e leitores de MP3.
 
  
 +
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.
  
===Pendrive===
 
  
A história do pendrive é bem curta e teve início no ano 2000. Já a da memória flash, que é a utilizada nestes dispositivos, começou em 1980 com a Toshiba. Os primeiros modelos de pendrive foram fabricados pela Trek Technology em conjunto com a IBM, e eram chamados de DiskOnKey. A capacidade de armazenamento dos primeiros pendrives começou em 8 MB, o que era muito para época, tendo em vista que os disquetes armazenavam no máximo 2,88 MB. O tempo foi passando e, dos míseros 8 MB, chegamos a pendrives com 64 GB ou mais em menos de dez anos de história.
+
[[Imagem:fig40_DIG222802.png|center]]
 
 
 
 
[[Imagem:fig112_DIG222802.png|500px|center]]
 
 
<center>
 
<center>
Figura - Pendrive também conhecidos por USB Flash Drives.
+
Figura 11 - Transferência serial entre registradores.
 
</center>
 
</center>
  
  
 +
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
 +
|+'''Tabela 2 - Estados dos registradores'''
 +
|-
 +
! style="background:#F7D358; color:#151515; width: 20px;"  rowspan="2" | Clock
 +
! style="background:#F7D358; color:#151515; width: 20px;"  colspan="3" | Registrador X
 +
! style="background:#F7D358; color:#151515; width: 20px;"  colspan="3" | Registrador Y
 +
|-
 +
! style="background:#F7D358; color:#151515; width: 20px;" | X1
 +
! style="background:#F7D358; color:#151515; width: 20px;" | X2
 +
! style="background:#F7D358; color:#151515; width: 20px;" | X3
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Y1
 +
! style="background:#F7D358; color:#151515; width: 20px;" | Y2
 +
! style="background:#F7D358; color:#151515; 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
 +
|}
  
Ninguém duvida que os pendrives sejam fenômenos de venda em todos os lugares do mundo. Mas, o que faz deles tão populares? A resposta pode estar em uma palavra: energia. Parece estranho, mas um dos fatores que contribuiu para o boom deste tipo de dispositivo é a não necessidade de energia para manter os dados armazenados, e continuar sendo muito seguro e estável – ao contrário dos disquetes.
+
===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.
  
O princípio é parecido com o de alguns celulares mais antigos, por exemplo. Eles armazenam  configurações como hora e data, mas quando retiramos a bateria – deixamos de fornecer energia – estes dados são perdidos. Isso não acontece nos pendrives, pois se nenhum acidente ocorrer, os dados sempre estarão lá.
 
  
 +
[[Imagem:fig41_DIG222802.png|center]]
 +
<center>
 +
Figura 12 - Contador em Anel.
 +
</center>
  
  
Os pendrives também são conhecidos por '''USB Flash Drives''', pois utilizam uma memória flash como modo de armazenamento. Uma das vantagens desse tipo de memória para as demais é o fato de ela ser '''eletrônica''' e não magnética – como eram os disquetes -, dessa maneira os dados gravados dificilmente se perdem caso haja interferências de campos magnéticos. Simplificando, os pendrives possuem um chip gravável e regravável e o processo de armazenamento se dá por meio de elétrons que ao receberem carga positiva se tornam um número 1 e, ao perder em carga, se transformam em 0. É o código binário em ação.
+
[[Imagem:fig42_DIG222802.png|center]]
 +
<center>
 +
Figura 13 - Diagrama de tempo do contador em anel.
 +
</center>
  
Além de ter todos os atributos conhecidos, os pendrives também fazem sucesso por terem adotado a famosa entrada USB com porta de comunicação. Esse tipo de conexão foi desenvolvido com o intuito de tornar a comunicação do computador com outros dispositivos mais rápida e fácil e contribuiu para a massificação da porta USB tentando padronizar as entradas dos computadores. Desta forma, com o tempo elas acabaram se tornando mais populares que os próprios leitores de CDs, justamente porque permitirem a conexão de vários dispositivos com a máquina, não somente para a leitura de dados.
 
  
===SSD===
+
===Contador Johnson===
  
O termo SSD se aplica a dispositivos de estado sólido, que é um tipo de memória
+
O contador Johnson é um contador em anel no qual a saída <math>\bar Q_0</math> do último FF
sem parte móveis para o armazenamento de dados digitais. Podemos encontrar esses
+
está conectado a entrada D do primeiro FF, conforme mostrado na Figura 14.
dispositivos com capacidade desde alguns GB (10<sup>9</sup>) até TB (10<sup>12</sup>).
+
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]]
[[Imagem:fig109_DIG222802.png|500px|center]]
 
 
<center>
 
<center>
Figura - SSD dispositivo de estado sólido.
+
Figura 14 - Contador Johnson.
 
</center>
 
</center>
  
==Exercícios==
+
;Exercício
  
#Um certo chip de memória semicondutora é especificado como 4k X 8. Quantas palavras podem ser armazenadas neste chip? Qual é o tamanho da palavra? Quantos bits este chip pode armazenar no total?
+
Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson.
#Qual das memórias armazena mais bits: uma memória de 5M X 8 ou uma memória que armazena 2M palavras com um tamanho de palavra de 16 bits?
 
#Descreva as condições de cada entrada e saída quando o conteúdo da posição cujo endereço é 00100 deve ser lido.
 
#Descreva as condições de cada entrada e saída quando a palavra 1110 deve ser escrita na posição de endereço 01101
 
#Uma determinada memória tem uma capacidade de 4k X 8.
 
::a) Quantas linhas de entrada de dados e saída de dados ela tem?
 
::b) Quantas linhas de endereço ela tem?
 
::c) Qual é a sua capacidade em bytes?
 
  
  
{{collapse top|Respostas:}}
+
==Terceiro Estado de uma Saída (''tristate'')==
  
1. 4k=4096. 8 bits (1 byte). 4096x8=32768.
 
  
2. 5M X 8.
+
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.
  
:<math>5M=5x2^{20}x8=5x1048576x8=41934040</math>.
 
  
:<math>2M=2x2^{20}x16=5x1048576x8=33554432</math>.
+
[[Imagem:fig44_DIG222802.png|center]]
 +
<center>
 +
Figura 15 - Simbologia (A) e tabela verdade (B) da chave ''tristate''.
 +
</center>
  
3. (MSB) A4=0, A3=0, A2=1, A1=0, A0=0 (LSB); W\=1, R=1.
 
  
4. (MSB) A4=0, A3=1, A2=1, A1=0, A0=1 (LSB); (MSB) D3=1,  D2=1, D1=1 e D0=0 (LSB); W\=0, R=0.
+
Notem que quando E=0 (''enable'') a saída Y fica em Z (alta impedância) independente do valor da entrada D.
  
5. a) 8. b) 12. c) 4096 bytes (32768 bits).
+
==Circuitos Integrados de Registradores==
  
{{collapse bottom}}
 
  
=Circuitos Integrados de memória (TTL)=
+
A seguir são mostrados os diagramas lógicos, pinagens e tabelas funcionais
 +
de alguns registradores.
  
:7481 Memória RAM de 16 bits Random Access Memory
+
*74164 Registrador de deslocamento de 8 bits com entrada serial e saída paralela.
:7484 – Memória RAM de 16 bits
+
*74165 Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial.
:7488 Memória ROM de 256 bits
+
*74166 Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial, com CLEAR assíncrono.
:7489 – Memória de leitura/escrita de 64 bits
+
*74173 Registrador porta FF de 4 bits com entrada paralela e saída paralela em tristate
:74186 – Memória ROM de 512 bits (64×8) com coletor aberto
+
*74194 Registrador de deslocamento bidirecional universal de 4 bits com entrada paralela e saída paralela
:74187 Memória ROM de 1024 bits (256×4) com coletor aberto
+
*74195 Registrador de deslocamento de 4 bits com entrada paralela e saída paralela
:74188 – Memória PROM de 256 bits (32×8) com coletor aberto
+
*74273 Registrador porta FF de oito bits de entrada paralela e saída paralela.
:74189 – Memória RAM de 64 bits (16×4) com saídas tristate inversoras
+
*74373 Registrador porta LATCH de oito bits de entrada paralela e saída paralela em tristate.
:74200 Memória RAM de 256 bits com saídas tristate
+
*74374 Registrador porta FF de oito bits de entrada paralela e saída paralela em tristate.
:74201 Memória RAM de 256 bits (256×1) com saídas tristate
+
*74543 Transceptor com registradores de oito bits com saídas em tristate.
:74206 – Memória RAM de 256 bits com coletor aberto
 
:74209 Memória RAM de 1024 bits (1024×1) com saídas tristate
 
:74219 – Memória RAM de 64 bits (16×4) com saídas tristate
 
:74224 Memória FIFO 16 por 4 síncrona com saídas tristate
 
:74225 – Memória FIFO 16×5 assíncrona
 
:74270 – Memória ROM de 2048 bits (512×4) com coletor aberto
 
:74271 – Memória ROM de 2048 bits (256×8) com coletor aberto
 
:74287 Memória PROM de 1024 bits (256×4) com saídas tristate
 
:74288 – Memória PROM de 256 bits (32×8) com saídas tristate
 
:74289 Memória RAM de 64-bit (16×4) com coletor aberto
 
:74301 – Memória RAM de 256 bits (256×1) com coletor aberto
 
:74309 – Memória RAM de 1024 bits (1024×1) com coletor aberto
 
:74314 – Memória RAM de 1024 bits
 
:74370 – Memória ROM de 2048 bits (512×4) com saídas tristate
 
:74371 Memória ROM de 2048 bits (256×8) com saídas tristate
 
:74387 – Memória PROM de 1024 bits (256×4) com coletor aberto
 
:74470 – Memória PROM de 2048 bits (256×8) com coletor aberto
 
:74471 – Memória PROM de 2048 bits (256×8) com saídas tristate
 
:74472 – Memória PROM com coletor aberto
 
:74473 – Memória PROM com saídas tristate
 
:74474 – Memória PROM com coletor aberto
 
:74475 – Memória PROM com saídas tristate
 
  
=Organização da próxima aula=
+
==Exercícios==
 
 
Olá Alunos,
 
 
 
Na próxima aula de conteúdo, vamos mudar o foco e introduzir ao estudo de VHDL/FPGA que é utilizado para atividades de projeto de hardware digital programável.
 
  
Não faltem!
+
[https://wiki.sj.ifsc.edu.br/images/1/14/Lista_de_Exerc%C3%ADcios_2_-_EDI018702.pdf Lista de Exercícios - AT2]
  
Prof. Douglas A.
+
[http://wiki.sj.ifsc.edu.br/images/e/e4/Exerc%C3%ADcios_-_Registradores.pdf Outros Exercícios - Registradores]
  
 
=Referências=
 
=Referências=
  
[1] http://www.centeccursos.com.br/var/upload/apostila-eletronica-digital.pdf
+
[1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf
 
 
[2] http://www.ebah.com.br/content/ABAAABbPUAL/eletronica-digital
 
 
 
[3] http://www.ufjf.br/fabricio_campos/files/2011/03/cap12_parte_1.pdf
 
 
 
[4] https://www.tecmundo.com.br/memoria/3189-como-funciona-um-pendrive-.htm
 
  
[5] https://slideplayer.com.br/slide/332754/
+
[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 15h15min de 16 de março de 2020

Apresentação

Olá Estudante,

Até agora aprendemos sobre os flip-flop e contadores assíncronos e síncronos, crescente, decrescente, modulares, com carga inicial e tudo mais. Aprendemos também a compreender as formas de onda expressas nos diagramas de funcionamento e agora vamos aprender sobre um das aplicações muito apreciadas com flip-flops, que são os registradores.

Bons Estudos!

Prof. Douglas A.

Registradores

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.


Fig29 DIG222802.png

Figura 1 - Registrador do tipo "Porta Paralela".


Tabela 1 - Estados dos registradores
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.

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.


Fig30 DIG222802.png

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.


Fig31 DIG222802.png

Figura 3 - Registrador de deslocamento serial para direita.


Fig32 DIG222802.png

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.


Fig33 DIG222802.png

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).


Fig34 DIG222802.png

Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.


Fig35 DIG222802.png

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.


Fig36 DIG222802.png

Figura 8 - Diagrama lógico do 74166.

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.


Fig38 DIG222802.png

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.


Fig39 DIG222802.png

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.


Fig40 DIG222802.png

Figura 11 - Transferência serial entre registradores.


Tabela 2 - Estados dos 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.


Fig41 DIG222802.png

Figura 12 - Contador em Anel.


Fig42 DIG222802.png

Figura 13 - Diagrama de tempo do contador em anel.


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.

Fig43 DIG222802.png

Figura 14 - Contador Johnson.

Exercício

Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson.


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.


Fig44 DIG222802.png

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.

Exercícios

Lista de Exercícios - AT2

Outros Exercícios - Registradores

Referências

[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




Icone voltar.png Icone menu.png Icone prox.png