FAVORITAR
FecharPlease login

Circuitos aritméticos

Introdução

A capacidade de realizar operações aritméticas é uma função fundamental da maioria dos computadores e calculadoras. Essas operações são executadas na unidade lógica e aritmética de um computador, que faz uma combinação de portas lógicas e flip-flops para somar, subtrair, multiplicar e dividir números binários. 

A velocidade com que esses circuitos executam operações aritméticas é considerada impossível para os seres humanos.

Nesse artigo, vamos analisar alguns dos circuitos aritméticos utilizados para realizar as operações aritméticas.

Unidade lógica e aritmética 

A unidade lógica e aritmética (ULA) é responsável por realizar todas as operações lógicas e aritméticas em um computador. Na Figura 1 temos um diagrama de blocos que ilustra os  principais componentes que formam uma ULA tradicional. 

Circuitos aritméticos
Figura 1 – Blocos funcionais de uma ULA

O objetivo central da ALU é receber dados binários armazenados na memória e executar operações aritméticas e lógicas neles, seguindo as instruções provenientes da unidade de controle.

A Unidade Lógica e Aritmética (ULA) possui, no mínimo, dois registradores: o registrador e o acumulador. Além disso, a ULA contém uma lógica combinacional responsável por realizar operações aritméticas e lógicas nos números binários, que estão armazenados no registrador e no acumulador.

Em uma operação de soma, a sequência de ações ocorre da seguinte forma:

  1. O fluxo de operação inicia-se com a unidade de controle recebendo as instruções da unidade de memória que indicam que um número específico armazenado em um endereço da memória será somado ao número armazenado no registrador acumulador.
  2. Posteriormente, o número a ser somado é transferido da memória para o registrador. 
  3. Em seguida, a ULA realiza a operação aritmética com os números no registrador e acumulador, utilizando seu circuito lógico, sob o comando da unidade de controle. O resultado dessa operação é então enviado de volta para o acumulador, onde é armazenado.
  4. O novo número armazenado no acumulador pode ser mantido para a realização de uma nova operação de soma, ou, se a operação aritmética específica for concluída, o resultado pode ser armazenado na memória.

A sequência de passos descritos acima é responsável pela escolha do nome do registrador acumulador. Esse registrador acumula o resultado da soma quando realiza sucessivas adições entre um novo número e a soma previamente acumulada.

Em problemas aritméticos que requerem vários passos, o acumulador geralmente armazena os resultados intermediários à medida que são concluídos, bem como o resultado quando o problema é concluído. Isso faz com que o registrador acumulador seja uma parte fundamental da ULA em muitos sistemas de computador.

Somador

Para compreender melhor a operação de soma no universo binário, agora vamos conhecer os somadores binários. Lembrando que eles fazem parte das operações aritméticas que a ULA realiza.

Somador binário paralelo

Computadores e calculadoras são capazes de realizar operações de adição em dois números binários de cada vez, em que cada um pode ter vários dígitos binários. A Figura 2 ilustra a adição de dois números de cinco bits.

Circuitos aritméticos
Figura 2 – Processo típico de uma adição binária

A primeira parcela é armazenada no registrador acumulador, ou seja, o acumulador terá cinco flip-flops armazenando o valor 10101. Da mesma forma, na segunda parcela, o número a ser somado com a primeira é armazenado no registrador (neste caso, 00111).

O procedimento de adição começa com a soma dos bits menos significativos (LSBs) das duas parcelas. Por exemplo, 1 + 1 resulta em 10, o que significa que a soma dos bits nessa posição é 0, com um carry de 1. Em seguida, esse carry é adicionado aos bits da próxima posição das duas parcelas. Na segunda posição, 1 + 0 + 1 resulta em 10 novamente, que é uma soma de 0 com um carry de 1. Esse carry é então adicionado aos bits da próxima posição das duas parcelas, e assim por diante para as posições restantes, como mostrado na Figura 2.

Logo, a cada etapa do processo de adição, somamos três bits: o bit correspondente à 1ª parcela, o correspondente à 2ª parcela e o carry proveniente da posição anterior. A adição desses três bits resulta em dois bits: um para a soma e outro para o carry que deve ser adicionado aos bits da próxima posição. É importante destacar que esse processo é repetido para cada posição de bit. Portanto, se projetarmos um circuito lógico capaz de replicar esse processo, poderemos usá-lo para cada posição de bit. 

Referências

TOCCI, R.; WIDMER, N.; MOSS, G. Sistemas Digitais – Princípios e Aplicações. [S.l.]: Pearson Education Limited, 2011.

Outros artigos da série

<< Código Gray – Eletrônica digitalConhecendo os Diferentes Tipos de Flip Flops: RS, JK, D e T >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Hardware » Sistemas Digitais » Circuitos aritméticos

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS