Pular para o conteúdo principal

Aula 6 — Registradores

Apresentação​

A aula anterior encadeou flip-flops T pelo clock: a saída de um estágio virava o relógio do seguinte, e o resultado foi a contagem. Esta aula faz o movimento paralelo, e cumpre a outra metade da promessa deixada pela Aula 4.

Agora o encadeamento é com flip-flops D, e é pelos dados: a saída de um estágio vai à entrada D do seguinte, enquanto o clock é o mesmo para todos. O resultado não é contar — é fazer os bits caminharem de um estágio para o outro, um lugar por pulso. Daí o nome do bloco: registrador de deslocamento.

Desse arranjo simples saem quatro dispositivos, que se distinguem apenas por onde os dados entram e por onde saem: um de cada vez pelo mesmo fio (serial), ou todos ao mesmo tempo por fios separados (paralelo). Quando a entrada é serial e a saída é paralela, o bloco é um conversor; quando entrada e saída são paralelas, ele é aquilo que a CPU chama simplesmente de registrador.

Por que estudar isso em Organização de Computadores​

Porque o registrador é a unidade de armazenamento com que a CPU trabalha o tempo todo. O registrador de instrução, que guarda a instrução recém-buscada enquanto ela é decodificada, é um registrador de entrada e saída paralelas. O banco de registradores de uso geral é um conjunto deles. O contador de programa da aula anterior é um registrador com um circuito de incremento na entrada.

O deslocamento, por sua vez, é uma operação da própria ULA: deslocar uma palavra binária um lugar para a esquerda multiplica seu valor por 2, e um lugar para a direita divide por 2. E os conversores entre série e paralelo são a fronteira entre a máquina e o mundo: dentro dela os bits andam em paralelo, por barramentos; em quase todo cabo que sai dela, andam um de cada vez.

Objetivos​

Ao final desta aula você deve ser capaz de:

  • Explicar como o encadeamento de flip-flops D com clock comum produz o deslocamento de um bit por pulso.
  • Justificar por que um dado não atravessa todos os estágios em um único pulso.
  • Preencher a tabela de estados de um registrador de deslocamento de 4 bits a partir de uma sequência de entrada serial.
  • Descrever o funcionamento do conversor série-paralelo (SIPO) e do conversor paralelo-série (PISO), indicando quantos pulsos cada operação exige.
  • Explicar o papel do multiplexador de carga e do sinal CARGA/DESLOCA no conversor paralelo-série.
  • Comparar os quatro arranjos — SISO, SIPO, PISO e PIPO — quanto à forma de entrada, de saída e ao uso típico.
  • Montar e simular os registradores estudados no Logisim-Evolution, observando o comportamento em função do tempo.

Recapitulando: o flip-flop D​

Como na aula anterior, um único dispositivo interessa aqui. O flip-flop D tem uma entrada de dados e nenhuma decisão a tomar:

DQfQ_f
00
11
—na borda ativa, QfQ_f é sempre o valor presente em D

Continua valendo a notação das aulas anteriores: QaQ_a é o estado da saída antes da borda e QfQ_f o estado depois; a saída complementar é Q.

São duas as propriedades do D que fazem tudo funcionar nesta aula:

  1. Ele copia. Entre uma borda e a seguinte, a saída fica estável, independentemente do que aconteça na entrada.
  2. Ele copia o valor de antes da borda. A leitura da entrada e a atualização da saída acontecem em momentos separados — é a estrutura mestre-escravo da Aula 4. Sem isso, nada do que vem a seguir funcionaria.

Adotamos aqui flip-flops sensíveis à subida, que é a convenção dos registradores comerciais e o padrão dos componentes prontos do Logisim. O comportamento é o mesmo dos sensíveis à descida da aula anterior; muda apenas a borda em que a captura ocorre.


1. Registrador de deslocamento​

O registrador de deslocamento (shift register) é o encadeamento pelos dados: a saída de cada estágio vai à entrada D do estágio seguinte, e o clock externo chega a todos ao mesmo tempo. A Figura 1 mostra a versão de 4 bits.

Quatro blocos de flip-flop D alinhados da esquerda para a direita, com saídas rotuladas Q0, Q1, Q2 e Q3. À esquerda do primeiro bloco, uma entrada rotulada entrada serial chega à sua entrada D. A saída Q de cada bloco liga-se à entrada D do bloco imediatamente à direita. Uma linha horizontal de clock percorre a base da figura e sobe para a entrada de clock dos quatro blocos ao mesmo tempo, cada uma marcada com o triângulo de entrada dinâmica
Um único fio de clock e um único fio de dados: o bit entra pela esquerda e avança um estágio por pulso.

Repare na diferença estrutural em relação ao contador da aula anterior. Lá, o clock de cada estágio vinha do estágio anterior, e os dados eram fixos (T = 1). Aqui é o contrário: os dados passam de estágio a estágio, e o clock é comum. O registrador de deslocamento é, por construção, um circuito síncrono.

1.1 Por que o bit não atravessa tudo de uma vez​

É a primeira pergunta que todo mundo faz, e a resposta é a propriedade 2 do recapitulando. Quando a borda chega, todos os flip-flops leem simultaneamente o valor que estava na sua entrada antes dela. O estágio 1 lê o valor antigo de Q0, não o novo. Como o estágio 0 só publica o valor novo depois da borda, o bit avança exatamente um lugar.

Se os flip-flops fossem transparentes — se copiassem a entrada enquanto o clock estivesse alto, sem separar leitura de atualização —, o bit atravessaria os quatro estágios em uma única borda e o circuito não deslocaria nada. É por isso que a estrutura mestre-escravo da Aula 4 não é um detalhe de implementação: sem ela, este bloco não existe.

1.2 O deslocamento, pulso a pulso​

A Figura 2 acompanha um único bit 1 entrando pela esquerda em um registrador zerado.

Cronograma com seis formas de onda empilhadas ao longo de quatro pulsos: o clock CK na primeira linha, a entrada serial na segunda, e as saídas Q0, Q1, Q2 e Q3 nas quatro seguintes. A entrada serial fica em nível 1 durante o primeiro pulso e volta a zero. Cada saída apresenta um pulso de largura igual a um período de clock, deslocado um período para a direita em relação à saída de cima, formando uma escada descendente
O nível 1 aparece em uma saída de cada vez: quatro pulsos depois de entrar, ele deixa o registrador.

Com uma sequência qualquer na entrada serial, a tabela se preenche pela mesma regra: na borda, cada estágio assume o valor que o estágio à sua esquerda tinha antes dela, e o primeiro assume o valor da entrada serial. Entrando com a sequência 1, 0, 1, 1:

PulsoEntrada serialQ0Q1Q2Q3
— (inicial)—0000
111000
200100
311010
411101

Depois dos quatro pulsos, o registrador contém a palavra inteira: o primeiro bit que entrou está em Q3, o mais distante, e o último em Q0. Lendo as saídas na ordem Q3, Q2, Q1, Q0, obtém-se 1, 0, 1, 1 — a sequência de chegada, na ordem em que chegou.

Vale reparar em duas consequências:

  • Cada estágio atrasa o sinal em um pulso. Um registrador de deslocamento de n estágios lido pela última saída é uma linha de atraso de n pulsos.
  • A palavra não fica lá para sempre. No quinto pulso, o primeiro bit sai por Q3 e se perde, e um bit novo entra pela esquerda. Um registrador de deslocamento não guarda: ele transporta. Guardar é o que os arranjos das próximas seções acrescentam.

2. Conversor série-paralelo (SIPO)​

O conversor série-paralelo, ou SIPO (serial in, parallel out), é o registrador da seção anterior com as quatro saídas tomadas ao mesmo tempo, cada uma em seu próprio fio, como mostra a Figura 3.

O mesmo registrador de deslocamento de quatro flip-flops D com clock comum. Agora, da saída Q de cada bloco parte uma linha vertical para cima, terminando em quatro terminais de saída alinhados e rotulados de S0 a S3, indicando que as quatro saídas são lidas simultaneamente. À esquerda, permanecem a entrada serial e a linha de clock
Nada muda no circuito: o que muda é o instante e o modo de ler — quatro fios, depois de quatro pulsos.

O circuito é o mesmo da Figura 1. O que muda é o uso: em vez de acompanhar a última saída ao longo do tempo, esperam-se os quatro pulsos e leem-se as quatro saídas de uma vez. O que entrou como uma sequência de quatro bits em um fio sai como uma palavra de quatro bits em quatro fios.

É a operação que acontece na entrada de praticamente toda comunicação da máquina com o mundo: o cabo traz os bits um de cada vez, e o processador precisa deles agrupados em uma palavra para poder tratá-los.

Duas observações práticas decorrem da tabela da Seção 1.2:

  • São necessários exatamente n pulsos para montar uma palavra de n bits. Nem um a menos: antes disso, parte das saídas ainda contém bits do dado anterior.
  • A palavra só é válida no instante certo. No pulso seguinte ela começa a ser destruída pela entrada do próximo bit. Por isso, na prática, um SIPO costuma vir acompanhado de um registrador de saída que copia a palavra pronta e a mantém estável enquanto a próxima é montada — que é justamente o PIPO da Seção 4.

3. Conversor paralelo-série (PISO)​

O conversor paralelo-série, ou PISO (parallel in, serial out), faz o caminho inverso: recebe uma palavra inteira de uma vez e a entrega bit a bit por um único fio.

O problema a resolver é que cada flip-flop passa a ter duas possíveis origens para o seu dado: o bit da entrada paralela, no momento da carga, e a saída do estágio anterior, durante o deslocamento. Quem escolhe entre as duas é um multiplexador 2×1 em cada estágio, como mostra a Figura 4, todos comandados pela mesma linha de controle — o sinal CARGA/DESLOCA.

Quatro blocos de flip-flop D alinhados, cada um precedido por um multiplexador de duas entradas e uma saída. A entrada 1 de cada multiplexador recebe um bit da entrada paralela, vindo de cima e rotulado de P0 a P3; a entrada 0 recebe a saída Q do estágio anterior. A saída de cada multiplexador vai à entrada D do flip-flop correspondente. Uma linha horizontal rotulada CARGA barra DESLOCA percorre a figura e chega à entrada de seleção dos quatro multiplexadores; outra linha, de clock, chega às quatro entradas de clock. Do último flip-flop parte a saída serial, à direita
O multiplexador é a única peça nova: ele decide se cada estágio recebe o bit de fora ou o do vizinho.

O funcionamento tem dois modos:

ModoO que os multiplexadores selecionamO que acontece na borda ativa
Cargaa entrada paralela de cada estágioos quatro bits entram de uma vez; basta um pulso
Deslocamentoa saída do estágio anterioro conteúdo caminha um lugar para a direita, e um bit sai pela saída serial

A sequência de uso é sempre a mesma: coloca-se o controle em carga, aplica-se um pulso e a palavra inteira está dentro do registrador; passa-se o controle para deslocamento e aplicam-se pulsos até que todos os bits tenham saído. Como o bit mais à direita já está disponível na saída serial logo após a carga, uma palavra de 4 bits exige 1 pulso de carga e mais 3 de deslocamento.

O sinal de controle não é um clock

CARGA/DESLOCA seleciona o caminho dos dados, e não o instante em que eles são gravados. Quem grava continua sendo a borda do clock, exatamente como em todos os circuitos das últimas três aulas. Trocar o valor de CARGA/DESLOCA sem aplicar um pulso não muda nada dentro do registrador — o erro mais comum ao simular este circuito é esperar que mude.

Note também a assimetria de custo entre as duas conversões: o SIPO da seção anterior não precisou de nenhuma peça nova, enquanto o PISO precisou de um multiplexador por estágio. A razão é que entrar em paralelo significa escrever em todos os estágios ao mesmo tempo, e um flip-flop com duas origens possíveis de dado precisa de algo que escolha entre elas.


4. Registrador de entrada paralela e saída paralela (PIPO)​

O registrador de entrada paralela e saída paralela, ou PIPO (parallel in, parallel out), é o mais simples de todos — e o mais importante para o resto da disciplina.

Quatro blocos de flip-flop D alinhados lado a lado, sem nenhuma ligação entre eles. Cada bloco recebe, por cima, a sua própria entrada de dados, rotuladas de D0 a D3, e entrega, por baixo, a sua própria saída, rotuladas de Q0 a Q3. Uma única linha horizontal de clock percorre a figura e sobe para as quatro entradas de clock. Não há caminho de dados de um bloco para o outro
Não há deslocamento nem cascata: quatro flip-flops independentes que a linha de clock transforma em um bloco único.

Como mostra a Figura 5, cada flip-flop tem a sua própria entrada e a sua própria saída, e não há ligação alguma entre eles. O que faz dos quatro um dispositivo só é a linha de clock compartilhada: como todos capturam na mesma borda, a palavra de quatro bits entra e sai como uma unidade.

Não há conversão, não há caminhamento, não há espera: um pulso grava a palavra inteira, e ela fica disponível nas saídas até o pulso seguinte. É a definição de registrador que a Unidade 4 vai usar — e a frase da Aula 4 se cumpre literalmente aqui: um registrador de n bits é n flip-flops D compartilhando a mesma linha de clock.

Na prática, um registrador real acrescenta uma linha de habilitação de carga, que decide se a borda deve ou não gravar. Sem ela, o registrador copiaria as entradas a cada pulso do clock do sistema, e não haveria como manter um valor por mais de um ciclo. A habilitação pode ser feita de duas formas — com um multiplexador de realimentação em cada estágio, que devolve a saída à própria entrada quando não se quer gravar (a mesma solução do PISO, com outro propósito), ou bloqueando o clock antes que ele chegue aos flip-flops. A primeira é a usada em projeto síncrono; a segunda produz atrasos e deformações no sinal de clock e é evitada.


5. Os quatro arranjos​

Os três dispositivos anteriores, mais o registrador de deslocamento lido na última saída, formam um quadro de quatro casos. Eles se distinguem por duas escolhas independentes, que a Figura 6 põe lado a lado: como o dado entra e como o dado sai.

Quatro blocos retangulares dispostos em duas linhas e duas colunas, rotulados SISO, SIPO, PISO e PIPO. Em cada bloco, o sentido de entrada é indicado à esquerda e o de saída à direita: uma seta única e fina representa a via serial e um feixe de quatro setas paralelas representa a via paralela. SISO tem seta única dos dois lados; SIPO, seta única à esquerda e feixe à direita; PISO, feixe à esquerda e seta única à direita; PIPO, feixe dos dois lados
Duas escolhas independentes — entrada serial ou paralela, saída serial ou paralela — esgotam as quatro combinações.
ArranjoEntradaSaídaPulsos para carregarPulsos para entregarUso típico
SISO — entrada e saída seriaisserialserialn—linha de atraso; transporte de um fluxo de bits
SIPO — conversor série-paraleloserialparalelan1 leiturarecepção de dados que chegam por um fio
PISO — conversor paralelo-sérieparalelaserial1n − 1transmissão de uma palavra por um fio
PIPO — entrada e saída paralelasparalelaparalela11 leituraregistrador da CPU; retenção de uma palavra

Duas leituras valem a pena:

  • A conversão custa tempo. Os arranjos que trocam de forma — SIPO e PISO — gastam n pulsos em uma das pontas, porque só um bit passa por vez. O PIPO não converte nada e por isso é o mais rápido; a serialização é o preço de usar um fio só.
  • O deslocamento está nos três primeiros. SISO, SIPO e PISO são o mesmo registrador de deslocamento, com pontos de entrada e de saída diferentes. Apenas o PIPO abre mão dele — e é justamente por isso que ele guarda, em vez de transportar.

6. Para onde isso vai​

Com esta aula, a Unidade 2 fecha o caminho que começou no laço de realimentação da Aula 3: realimentação → biestável → flip-flop → contador e registrador. Daqui em diante os flip-flops não aparecem mais individualmente; aparecem agrupados nesses blocos.

  • Na Unidade 3, subsistema de memória, o registrador é a unidade básica: uma memória é, em primeira aproximação, um conjunto de registradores com um decodificador de endereço que escolhe qual deles responde. A distinção entre RAM estática e dinâmica vai aparecer justamente na célula que substitui o flip-flop quando o custo por bit importa.
  • Na Unidade 4, CPU, o registrador de instrução e o banco de registradores são PIPOs; o contador de programa é um PIPO com o incrementador da aula anterior na entrada; e o deslocamento vira uma operação da ULA, com o significado aritmético de multiplicar ou dividir por 2.
  • Nas Unidades 5 e 6, ao acompanhar a execução de um programa passo a passo, os valores que mudam na tela a cada instrução são o conteúdo desses registradores.

Exercícios (checkpoints)​

Verificação rápida​

Quiz6 questões

1. Em um registrador de deslocamento de 4 bits com flip-flops D, de onde vem o sinal de clock de cada estágio?

  • a)Da saída do estágio anterior, como no contador assíncrono
  • b)De uma porta AND que combina as saídas dos estágios anteriores
  • c)Do mesmo sinal de clock externo, que chega a todos os estágios ao mesmo tempo
  • d)Da entrada serial, que também serve de clock
  • e)Cada estágio possui o seu próprio oscilador

2. Por que um bit aplicado à entrada serial de um registrador de deslocamento não atravessa os quatro estágios em um único pulso?

  • a)Porque os fios entre os estágios introduzem atraso suficiente para separar as capturas
  • b)Porque cada flip-flop captura, na borda, o valor que a sua entrada tinha antes dela — ou seja, o valor antigo do estágio anterior
  • c)Porque o clock chega a cada estágio um pouco depois do anterior
  • d)Porque a entrada serial só fica ativa durante um quarto do pulso
  • e)Porque os estágios seguintes ficam desabilitados até que o primeiro termine

3. Um registrador de deslocamento de 4 bits, inicialmente zerado, recebe na entrada serial a sequência 1, 0, 1, 1, um bit por pulso. Após o quarto pulso, qual é o conteúdo do registrador, lido de Q3 para Q0?

  • a)0000, porque os bits já saíram pelo último estágio
  • b)1101, porque a sequência é armazenada invertida
  • c)1011, com o primeiro bit que entrou ocupando Q3
  • d)1111, porque cada 1 se propaga por todos os estágios
  • e)0101, porque apenas os bits de posição par são retidos

4. Quantos pulsos de clock são necessários para que um conversor série-paralelo (SIPO) de 8 bits disponibilize uma palavra completa nas suas saídas?

  • a)1, porque a leitura das saídas é simultânea
  • b)2, um para a carga e um para a leitura
  • c)4, metade do número de bits
  • d)8, um para cada bit da palavra
  • e)16, dois para cada bit

5. Qual é a função dos multiplexadores 2×1 no conversor paralelo-série (PISO)?

  • a)Escolher, para cada estágio, se o dado vem da entrada paralela ou da saída do estágio anterior
  • b)Gerar o sinal de clock a partir do sinal CARGA/DESLOCA
  • c)Converter o valor binário de cada bit em um nível de tensão adequado à saída serial
  • d)Impedir que dois estágios mudem de estado ao mesmo tempo
  • e)Contar quantos pulsos já foram aplicados desde a carga

6. O que distingue um registrador de entrada paralela e saída paralela (PIPO) de um registrador de deslocamento?

  • a)O PIPO usa flip-flops T em vez de flip-flops D
  • b)No PIPO não há ligação de dados entre os estágios: cada flip-flop tem entrada e saída próprias, e só a linha de clock é compartilhada
  • c)O PIPO dispensa o sinal de clock, porque a carga é assíncrona
  • d)O PIPO desloca dois bits por pulso em vez de um
  • e)O PIPO só pode ser lido depois de n pulsos, como o SIPO

Questões dissertativas​

Q1

Explique por que o registrador de deslocamento é um circuito síncrono por construção, comparando o seu esquema de ligação com o do contador de pulso (assíncrono) da aula anterior.

Q2Difícil

Um colega afirma que, se cada flip-flop D copia a entrada para a saída, então o bit aplicado à entrada serial deveria aparecer imediatamente em todas as quatro saídas do registrador de deslocamento, já que cada saída alimenta a entrada seguinte. Avalie a afirmação e explique o que impede que isso aconteça.

Q3

Uma palavra de 8 bits precisa ser transmitida por um único fio e remontada do outro lado. Descreva os dois blocos necessários, quantos pulsos de clock cada operação consome e o que aconteceria se o receptor lesse as suas saídas paralelas antes da hora.

Q4

Explique por que o conversor série-paralelo não exige nenhuma peça além dos flip-flops do registrador de deslocamento, enquanto o conversor paralelo-série exige um multiplexador por estágio. Em seguida, relacione essa diferença com a linha de habilitação de carga de um registrador de uso geral.

Atividades práticas no Logisim-Evolution​

Ambiente sugerido: Logisim-Evolution, o mesmo das aulas 3, 4 e 5. Valem os mesmos atalhos: Ctrl+R reinicia a simulação, Ctrl+T avança meio ciclo de relógio (uma borda), Ctrl+F9 avança um ciclo inteiro e Ctrl+K liga e desliga o relógio automático. Os arquivos declaram as bibliotecas na ordem do Logisim-Evolution e não abrem no Logisim 2.7.1 original.

São quatro atividades, uma por seção de conteúdo, com a mesma estrutura das anteriores: o que fazer, o que deve aparecer na tela e o que verificar se não aparecer. Em todas elas, avance o clock manualmente: um registrador de deslocamento com relógio automático ligado esvazia mais depressa do que o olho acompanha.

Arquivos de apoio​

ArquivoAtividadeO que contém
12-registrador-deslocamento.circ1Registrador de deslocamento de 4 bits com flip-flops D, entrada serial em um pino e clock comum
13-conversor-serie-paralelo.circ2O mesmo registrador, com as quatro saídas levadas a pinos de saída
14-conversor-paralelo-serie.circ3PISO com os multiplexadores de carga e a chave CARGA/DESLOCA
15-registrador-pipo.circ4PIPO de 4 bits: quatro flip-flops D independentes com a mesma linha de clock

Atividade 1 — O bit caminhando​

Objetivo: ver a Figura 2 na tela e confirmar a tabela da Seção 1.2.

Abra 12-registrador-deslocamento.circ e compare o desenho com a Figura 1 antes de simular.

  1. Com o relógio automático desligado (Ctrl+K), dê Ctrl+R para zerar as quatro saídas.
  2. Ponha a entrada serial em 1 e aplique um pulso com Ctrl+F9.
  3. Volte a entrada serial a 0 e aplique mais três pulsos, um de cada vez, anotando as quatro saídas depois de cada um.
  4. Aplique um quinto pulso e observe o que acontece com o bit.
  5. Repita a experiência entrando com a sequência 1, 0, 1, 1 e compare o resultado com a tabela da Seção 1.2.

O que deve aparecer:

  • Passos 2 e 3: o nível 1 aparece em uma saída de cada vez, avançando um estágio por pulso. Em nenhum momento duas saídas ficam em 1 ao mesmo tempo — o bit não se duplica, ele se move.
  • Passo 4: o bit desaparece. Ele saiu pelo último estágio e não há nada além dele. Um registrador de deslocamento transporta; não guarda.
  • Passo 5: depois de quatro pulsos, lendo as saídas da última para a primeira, obtém-se 1011 — a sequência na ordem em que entrou.

Se o 1 aparecer em todas as saídas de uma vez: o clock não está chegando a todos os estágios simultaneamente, ou algum estágio está com a entrada D ligada diretamente à entrada serial em vez de à saída do vizinho.

Se nada mudar ao aplicar pulsos: confirme que você está usando Ctrl+F9 e que os flip-flops estão em Rising edge — com Ctrl+T apenas metade dos comandos produz a borda ativa.

Atividade 2 — A palavra montada, e o instante em que ela vale​

Objetivo: ver a conversão série-paralelo funcionar e, sobretudo, ver a palavra ser destruída no pulso seguinte.

Abra 13-conversor-serie-paralelo.circ.

  1. Zere o registrador com Ctrl+R.
  2. Entre com a sequência 1, 1, 0, 1, um bit por pulso, anotando as quatro saídas paralelas a cada pulso.
  3. Anote o valor das saídas depois do quarto pulso — é a palavra montada.
  4. Sem alterar a entrada serial, aplique mais um pulso e anote de novo.

O que deve aparecer:

  • Passos 2 e 3: a palavra só está correta depois do quarto pulso. Nos três primeiros, parte das saídas ainda contém zeros do estado inicial — e, se o registrador não tivesse sido zerado, conteria bits do dado anterior.
  • Passo 4: a palavra é destruída. Um bit novo entra pela esquerda, todos os demais avançam e o primeiro se perde.

O passo 4 é a atividade inteira: um conversor série-paralelo entrega uma palavra válida em um instante bem definido, e quem a usa precisa lê-la exatamente aí. É isso que motiva o registrador de retenção da Atividade 4.

Se a palavra parecer errada mesmo depois de quatro pulsos: confira a ordem em que você está lendo as saídas. O primeiro bit que entrou está na última saída.

Atividade 3 — Carga paralela e saída serial​

Objetivo: ver o multiplexador escolhendo o caminho dos dados, e confirmar que quem grava é o clock.

Abra 14-conversor-paralelo-serie.circ. Há quatro pinos de entrada paralela, uma chave CARGA/DESLOCA e um pino de saída serial.

  1. Ponha as quatro entradas paralelas em 1, 0, 1, 1 e coloque a chave em carga.
  2. Antes de aplicar qualquer pulso, observe as saídas dos flip-flops. Anote o que vê.
  3. Aplique um pulso com Ctrl+F9 e observe de novo.
  4. Passe a chave para deslocamento e aplique pulsos, um de cada vez, anotando a saída serial a cada um.
  5. Continue aplicando pulsos depois que os quatro bits saírem e observe o que passa a sair.

O que deve aparecer:

  • Passo 2: nada muda. Mudar a chave altera o caminho selecionado pelos multiplexadores, mas não grava nada — é o quadro da Seção 3 acontecendo na tela, e é o erro mais comum ao simular este circuito.
  • Passo 3: os quatro bits entram de uma vez. Um pulso basta para carregar a palavra inteira.
  • Passo 4: os bits saem um por pulso, na ordem, começando pelo que já estava disponível na saída serial logo após a carga. Quatro bits exigem a carga e mais três pulsos.
  • Passo 5: passa a sair o que quer que esteja entrando pela esquerda no modo deslocamento — em geral, zeros. A palavra acabou.

Se a carga não funcionar: verifique o nível da chave CARGA/DESLOCA. Metade dos erros neste circuito é ter selecionado o modo oposto ao pretendido; o nome do sinal indica qual nível corresponde a qual modo.

Atividade 4 — O registrador propriamente dito​

Objetivo: contrastar o PIPO com os três arranjos anteriores.

Abra 15-registrador-pipo.circ.

  1. Ponha um valor qualquer nas quatro entradas paralelas e aplique um pulso. Observe as saídas.
  2. Mude as entradas sem aplicar pulso. Observe as saídas de novo.
  3. Aplique um pulso e observe.
  4. Percorra o desenho e procure alguma ligação de dados entre dois estágios vizinhos.

O que deve aparecer:

  • Passo 1: a palavra inteira aparece nas saídas de uma vez. Um pulso, nenhuma espera.
  • Passo 2: as saídas não mudam. O registrador guarda o valor gravado, independentemente do que apareça nas entradas — é a memória acontecendo.
  • Passo 3: o valor novo substitui o antigo, também de uma vez.
  • Passo 4: não existe nenhuma. Os quatro flip-flops são independentes; o único sinal que compartilham é o clock. É essa ausência que faz do PIPO um registrador e não um deslocador.

Para explorar: repare que, com o relógio automático ligado, o registrador copia as entradas a cada pulso e não há como manter um valor. Proponha uma forma de acrescentar uma linha de habilitação de carga e compare a sua proposta com a discussão da Seção 4.


Referências​

Principais (essenciais)​

  • CAPUANO, Francisco Gabriel. Sistemas digitais: circuitos combinacionais e sequenciais. São Paulo: Érica, 2014. (Série Eixos). Número de chamada: Ac.5012157

    • Capítulo 5 — Contadores e registradores de deslocamento (texto de referência desta aula)
  • SILVA, Gabriel Pereira da. Arquitetura e organização de computadores: uma introdução. Rio de Janeiro: LTC, 2024. Recurso online — Acervo Virtual. Número de chamada: Ac.5063593

    • O registrador de instrução, o banco de registradores e o deslocamento como operação da ULA

Aprofundamento (opcionais)​

  • TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L. Sistemas digitais: princípios e aplicações. São Paulo: Pearson Prentice Hall, 2018. Número de chamada: Ac.131146

    • Registradores de deslocamento comerciais, deslocamento bidirecional e registradores universais
  • BIGNELL, James. Eletrônica digital. São Paulo: Cengage Learning, 2018. Número de chamada: Ac.5038600

    • Os quatro arranjos de registrador do ponto de vista do circuito integrado comercial
  • DELGADO, José. Arquitetura de computadores. Rio de Janeiro: LTC, 2017. Recurso online — Acervo Virtual. Número de chamada: Ac.5013563

    • O papel dos registradores no caminho de dados da CPU

Pré-requisito​