Por que certas máquinas são chamadas síncronas e outras são chamadas assíncronas?

Passo 1

O enunciado pergunta por que algumas máquinas digitais – ou autômatos – recebem o nome de “síncronas” e outras de “assíncronas”. Aqui o conteúdo é projeto de circuitos sequenciais: precisamos entender como e quando o estado interno dessas máquinas muda, sejam essas mudanças comandadas por um sinal de relógio (clock) ou por eventos arbitrários nos sinais de entrada.

Passo 2

Máquinas síncronas são aquelas que usam um clock global para coordenar todas as transições de estado. Isso significa que, mesmo que uma entrada mude a qualquer instante, o registrador de estado só captura (ou “carrega”) o novo valor exatamente numa borda (ascendente ou descendente) do clock. Graças a esse sincronismo:
  • Os projetistas têm um único “ponto de referência” temporal para analisar atrasos e tempos de estabelecimento.
  • Evita-se condição de corrida internas, pois todas as mudanças de estado ocorrem num instante bem definido.
  • A maioria dos FPGAs e CPLDs e dos microcontroladores trabalha nesse modelo.

Passo 3

Máquinas assíncronas, por sua vez, não têm clock global. O próximo estado é calculado e aplicado imediatamente sempre que o sinal de entrada muda, pois a lógica de feedback processa e empurra o novo valor sem espera. Como consequência:
  • A máquina pode reagir mais rápido a eventos, já que não espera a próxima borda de clock.
  • Porém o projeto é mais propenso a rajadas de transient (hazards) e condições de corrida, tornando a análise de tempo e a verificação muito mais complexas.
  • Geralmente só se usam máquinas assíncronas em circuitos de controle crítico de baixa complexidade ou em interfaces handshake.

Passo 4

Em resumo, o adjetivo “síncrona” ou “assíncrona” vem de como o automato controla o instante de mudança de estado: se todas as mudanças são alinhadas num clock comum, é síncrona; se elas ocorrem imediatamente em resposta a entradas, sem um relógio mestre, é assíncrona.

Resposta

Máquinas são chamadas síncronas quando usam um clock global para determinar exatamente quando o estado muda, e assíncronas quando não têm esse clock e mudam de estado imediatamente em resposta às entradas, sem esperar um sinal de sincronização.

Exercícios relacionados