O que é um circuito assíncrono?
Um circuito assíncrono é uma rede de componentes amplamente independentes que encaminham dados quando suas operações são concluídas. Isso contrasta com um circuito síncrono no qual os elementos são pesquisados em busca de dados em resposta a um sinal de tempo global. Em um circuito assíncrono, os protocolos de transferência de dados determinam quando e como os dados são trocados. Em vez de pesquisar regularmente cada componente, os dados são transferidos quando o próprio componente sinaliza que está pronto.
A maioria das implementações de circuitos eletrônicos usa design síncrono. Este é um modelo mais simples, onde todos os componentes operam no mesmo período de tempo. Em um circuito assíncrono, os componentes operam independentemente de qualquer período de tempo. Em vez de um tempo discreto imposto globalmente, os componentes usam protocolos de handshake e transferência. Eles executam a sincronização, transferência de dados e seqüenciamento de operações necessários.
Existem vários protocolos de transferência usados em circuitos assíncronos. Todos incluem handshaking, que garante que, quando um componente estiver pronto para passar dados para um vizinho, o vizinho estará livre para recebê-los e repassá-los. Como os componentes funcionam sem referência a um período de tempo comum, as operações podem ser concluídas fora de sequência. O protocolo de transferência codifica os dados produzidos de forma que possam ser montados na ordem correta.
Alguns computadores antigos empregavam design assíncrono. O Integrador de Illinois e o Computador Automático, ou ILLIAC I, desenvolvido pela Universidade de Illinois em 1951, era um projeto desse tipo. O rápido avanço na tecnologia de circuitos integrados exigia um design mais básico, porém compatível com os recursos disponíveis. O design síncrono com um relógio do sistema tornou-se a abordagem preferida.
O design do circuito assíncrono tem várias vantagens em potencial. O consumo de energia seria muito menor com a eliminação do circuito de temporização e não haveria necessidade de alimentar os transistores que não estavam em uso. A velocidade operacional seria determinada pelas latências reais entre os componentes. No design síncrono, a velocidade é imposta para acomodar o elemento mais fraco. Um circuito projetado para operar sob lógica assíncrona normalmente seria menos afetado pelas pequenas variações nas peças componentes devido ao processo de fabricação.
As desvantagens do projeto de circuito assíncrono decorrem principalmente de sua complexidade. O número de elementos necessários pode ser muito maior que o necessário para um circuito síncrono. Existem poucas ferramentas de Desenho Assistido por Computador (CAD) feitas para o design de circuitos assíncronos. Esses circuitos também são muito mais difíceis de depurar e solucionar problemas do que os modelos convencionais. A sobrecarga adicional de hardware e a dificuldade na implementação podem compensar os ganhos no consumo e na eficiência de energia.