Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Sistemas de numeração — FGV 2024

Arquitetura de ComputadoresSistemas de numeração
Código
fg085488
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Júnior I - Desenvolvimento de Software Embarcado
A figura a seguir mostra a forma de onda gerada por uma UART a ser posteriormente convertida em padrão RS-232, sem paridade e com palavras de 8 bits. Repare que o tracejado delimita o tamanho de um bit.Imagem associada para resolução da questãoAssinale a opção que indica o primeiro byte gerado, em binário.
  1. A00111010.
  2. B00011101.
  3. C11101011.
  4. D01011100.
  5. E00101000.
Revelar gabarito e comentário

GabaritoD — 01011100.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Resolução

Gabarito: letra D — a conta chega a 01011100 — alternativa D.

A ideia por trás

A UART é um circuito que transforma um byte paralelo em uma sequência de bits enviados um atrás do outro por um único fio. Para o receptor saber onde cada byte começa, ela não manda só os 8 bits de dados: antes deles vai um bit de start (sempre nível 0) e depois um ou mais bits de stop (sempre nível 1). No padrão RS-232, o nível lógico 1 é representado por tensão negativa (marcação) e o 0 por tensão positiva (espaço).

A ordem de transmissão é fixa: primeiro o bit de start, depois os bits de dados começando pelo menos significativo (LSB) e terminando no mais significativo (MSB). Isso significa que, na forma de onda, o primeiro bit de dados que aparece é o LSB, e o último é o MSB. Para obter o byte na notação usual (MSB à esquerda), é preciso inverter a ordem dos bits lidos.

Esta questão cobra exatamente essa inversão: identificar o bit de start, ler os 8 bits na ordem em que aparecem e depois inverter para montar o byte. Quem não inverte cai na alternativa A.

O que a questão dá

  • forma de onda da UART com tracejado delimitando um bit

  • sem paridade

  • palavras de 8 bits

  • padrão RS-232

O que queremos: o primeiro byte gerado, em binário

Passo 1 — Identificar o bit de start na forma de onda

A UART começa toda transmissão com um bit de start, que é sempre nível lógico 0. Na figura, a linha estava em repouso (nível 1, tensão negativa) e a primeira transição para o nível 0 marca o início do bit de start. É a partir do próximo intervalo que começam os bits de dados.

bitdestart=0bit de start = \boxed{0}
NÃO CAIA NESSA!

Confundir o bit de start com o primeiro bit de dados e começar a contar os 8 bits um intervalo antes.

Passo 2 — Ler os 8 bits de dados na ordem de transmissão

Depois do bit de start, os próximos 8 intervalos são os bits de dados, transmitidos do LSB para o MSB. É preciso anotar cada nível lógico na ordem em que aparece, da esquerda para a direita.

bits na ordem de transmissão: 0, 0, 1, 1, 1, 0, 1, 0

NÃO CAIA NESSA!

Ler os bits de trás para frente ou pular o bit de start, deslocando toda a leitura.

Passo 3 — Inverter a ordem para obter o byte

Como o primeiro bit transmitido é o LSB, a sequência lida na ordem de transmissão está invertida em relação à notação binária convencional (MSB à esquerda). Para montar o byte, escrevemos os bits na ordem inversa: o último lido vira o primeiro.

byte=01011100byte = \boxed{01011100}
NÃO CAIA NESSA!

Não inverter e marcar a alternativa A (00111010), que é a sequência lida diretamente.

Resposta: 01011100 — alternativa D

Link permanente: /questoes/fg085488