Lógica sequencial

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Text document with red question mark.svg
Este artigo ou secção contém fontes no fim do texto, mas que não são citadas no corpo do artigo, o que compromete a confiabilidade das informações. (desde janeiro de 2015)
Por favor, melhore este artigo inserindo fontes no corpo do texto quando necessário.

Na Teoria de Circuitos Digitais, Lógica Sequencial é um tipo de circuito lógico, cujo resultados dependem não apenas do valor atual de seus sinais de entradas, mas de seu histórico de entradas anteriores. Isto contrasta com a Lógica combinacional, cuja saídas dependem unicamente da das entradas atuais. Isso é, lógica sequencial têm estados (memória de) estados, enquanto lógica combinacional não tem. Ou, em outras palavras, lógica sequencial é a lógica combinacional com memória.

Lógica Sequencial é usada para construir máquinas de estado finitas, um bloco básico na construção de todos circuitos digitais, e também de circuitos de memória e outros dispositivos. Praticamente todos circuitos em dispositivos digitais práticos são uma mistura da utilização de lógica combinacional e sequencial.

Circuitos lógicos sequenciais digitais são divididos em dois tipos: de lógica síncrona ou de lógica assíncrona. Em circuitos sequenciais síncronos, o estado do dispositivo muda somente em intervalos discretos de acordo com os sinais do Clock. Em circuitos sequenciais assíncronos, o estado do dispositivo pode mudar a qualquer momento de acordo com as entradas mudando.

Lógica Sequencial Síncrona[editar | editar código-fonte]

Quase toda lógica sequencial dos dias de hoje é síncrona ou clocked. Em circuitos síncronos, um Oscilador eletrónico chamado de Clock gera uma sequência repetida de pulsos chamados de sinais de Clock que são distribuidos para todos os elementos de memória no circuito. O elemento básico na memória na lógica sequencial é o flip-flop. A saída de cada flip-flop só muda quando ativada por um pulso do clock, então qualquer mudança nos sinais lógicos através do circuitos começam ao mesmo tempo, em intervalos regulares e sincronizados pelo Clock.

As saídas de todos os elementos de memória (flip-flop) no circuito em qualquer dado momento, a data binária que eles contém, são chamados de estados de um circuito. O estado de um circuito síncrono só muda em pulsos do relógio. Em cada ciclo, o próximo estado é determinado pelo estado atual e o valor da entrada quando cada pulso do clock ocorre.

A maior vantagem da lógica síncrona é a sua simplicidade. As portas lógicas que executam as operações nos dados requerem uma quantidade finita de tempo para responder a mudanças em suas entradas. Isso é chamado de atraso de propagação . O intervalo entre os pulsos de clock deve ser longo o suficiente para que todas as portas lógicas tenham tempo para responder às mudanças e suas saídas se "estabeleçam" em valores lógicos estáveis, antes que o próximo pulso de clock ocorra. Enquanto esta condição é satisfeita (ignorando alguns outros detalhes) o circuito é garantidamente estável e confiável. Isto determina a velocidade máxima de um circuito síncrono.

A lógica síncrona tem duas desvantagens principais:

  • A maior frequência do clock é determinada pelo caminho lógico mais lento do circuito, também chamado de caminho crítico.Cada cálculo lógico, desde o mais simples ao mais complexo, devem terminar em um ciclo de clock. Então caminhos lógicos que completam seus cálculos rapidamente estão ociosos a maior parte do tempo, esperando o próximo pulso de clock. Portanto lógica síncrona pode ser mais lenta do que a lógica assíncrona. Uma forma de acelerar circuitos síncronos é dividir operações complexas em várias operações simples que podem ser executadas em ciclos de clock sucessivos, uma técnica conhecida como pipelining . Esta técnica é usada extensivamente na produção de microprocessador, e ajuda a melhorar a performance dos processadores modernos.
  • O sinal de clock deve ser distribuído para todos os flip-flops no circuito. Como o sinal clock é geralmente um sinal de alta freqüência, essa distribuição consome uma quantidade relativamente alta de energia e se dissipa muito calor. Mesmo os flip-flops que estão parados consomem uma pequena quantidade de energia, gerando calor perdido no chip. Em dispositivos portáteis que têm energia limitada em sua bateria, o sinal de relógio continua mesmo quando o dispositivo não está sendo usado, consumindo ela.

Lógica Sequencial Assíncrona[editar | editar código-fonte]

A lógica sequencial assíncrona não é sincronizada por um sinal de clock; as saídas do circuito se alteram de acordo com a mudanças em suas entradas. A vantagem da lógica assíncrona é que ela pode ser mais rápida do que a lógica síncrona, porque o circuito não precisa de esperar por um pulso de clock para processar suas entradas. A velocidade do dispositivo é limitado apenas pelo atraso de propagação das portas lógicas utilizadas.

No entanto, a lógica assíncrona é mais difícil de projetar e está sujeita a problemas não encontrados em modelos síncronos. O principal problema é que os elementos de memória digitais são sensíveis à ordem em que os seus sinais de entrada chegam; Se dois sinais chegam à uma porta lógica quase ao mesmo tempo, o estado que o circuito entra vai depender de qual sinal chega a porta lógica primeiro. Portanto, um circuito pode entrar em um estado errado dependendo de pequenas diferenças nos atrasos de propagação das portas lógicas. Isso é chamado de condição de corrida. Este problema não é tão grave em circuitos síncronos porque as saídas dos elementos de memória só mudam a cada pulso de clock. O intervalo entre os sinais de clock é projetado para ser o tempo suficiente para permitir que as saídas dos elementos de memória se "estabeleçam" de forma que eles não estejam mudando quando o próximo pulso do clock chegue. Portanto, os unicos problemas de cronometragem são devido a "entradas assíncronas"; entradas para o circuito recebidos de outros sistemas que não estão sincronizados com o sinal de clock.

Circuitos sequenciais assíncronos são normalmente usados apenas em algumas partes críticas de sistemas que são na sua maioria síncronos, onde a velocidade é muito importante, como em peças de microprocessadores e circuitos de processamento de sinais digitais.

O modelo de lógica assíncrono usa diferente modelos matemáticos e técnicas da lógica síncrono, e é uma área de pesquisa ativa.

Ver também[editar | editar código-fonte]

Referências[editar | editar código-fonte]