CAPÍTULO 6 – CIRCUITOS ARITMÉTICOS
1. Unidade Lógica e Aritmética (ULA).
As operações aritméticas nos computadores são realizadas em uma parte do sistema denominado Unidade Lógica e Aritmética (ULA).
A ULA executa as operações matemáticas de soma, subtração, multiplicação e divisão. Neste sistema, uma operação de soma é executada em menos de 100 ns. Na figura 2.1 temos o diagrama em blocos de uma ULA.
Uma unidade de lógica e aritmética possui pelo menos dois registradores: o acumulador e o registrador B. Estes dois registradores armazenam as informações que serão processadas aritmeticamente.
Acumulador Circuitos Lógicos Registrador B Unidade de Memória Unidade de Controle ULA
Figura 1.1 – Diagrama em blocos de uma ULA. Seqüência de funcionamento:
a) A unidade de controle recebe uma instrução da unidade de memória que indica que um número armazenado na memória deve ser somado ao número presente no acumulador;
b) O número armazenado na memória é transferido para o registrador B;
c) O número presente no acumulador é somado ao número contido no registrador B. O resultado da soma é armazenado no acumulador;
d) O resultado da soma fica disponível no acumulador para uma nova operação aritmética. Se o processo for finalizado, este número é transferido para a memória.
O circuito lógico capaz de efetuar uma soma ou subtração de números de 2 ou mais bits é constituído basicamente por três blocos: meio somador, somador completo e o inversor controlado.
2. Meio Somador.
O meio somador é utilizado para a soma dos bits menos significativos. Este circuito realiza a soma entre 2 bits e possui duas saídas: SOMA e VAI-UM (carry).
Relembrando as quatro situações básicas:
0 + 0 = 0 (igual a zero e vai zero) 0 + 1 = 1 (igual a um e vai zero) 1 + 0 = 1 (igual a um e vai zero) 1 + 1 = 10 (igual a zero e vai um) Podemos montar a tabela da verdade:
B A VAI-UM SOMA
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
O circuito correspondente à tabela da verdade deve ter duas entradas (A e B) e duas saídas (VAI-UM e SOMA).
A equação para cada saída é: SOMA = A . B + A . B
Esta equação corresponde à lógica OU-EXCLUSIVO: SOMA = A ⊕⊕⊕⊕ B Na segunda saída, temos: VAI-UM = A . B
SOMA B A
VAI-UM (carry) Figura 2.1 – Meio somador.
3. Somador Completo.
O meio somador é utilizado é utilizado para a soma dos bits menos significativos, para a soma dos demais bits, será utilizado o somador completo. O circuito deverá possuir três entradas (A, B e VAI-UM do estágio anterior ou Te) e duas saídas ( SOMA e VAI-UM ).
A tabela da verdade do circuito é: B A Te VAI-UM SOMA 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
Te - transporte de entrada ( VAI-UM do estágio anterior ) As equações de cada saída são:
SOMA = B . A .Te + B . A . Te + B . A . Te + B . A .Te VAI-UM = B . A .Te + B . A .Te + B . A. Te + B . A .Te
Simplificando as equações com o mapa de Karnaugh, temos: a) Soma: 00 1 0 0 1 01 0 1 B A Te 11 1 0 10 0 1 B . A . Te B . A . Te B . A . Te B . A . Te
SOMA = B . A .Te + B . A . Te + B . A . Te + B . A .Te SOMA = A ⊕⊕⊕⊕ B ⊕⊕⊕⊕ Te b) Vai-um: 00 0 0 1 1 01 0 0 B A Te 11 0 1 10 1 1 B . Te B . A A . Te VAI-UM = B . Te + A . Te + B . A
O circuito correspondente será: SOMA A Te VAI-UM (carry) B B.Te A.Te B.A
Para simplificar a representação dos circuitos somadores, utilizaremos a simbologia: a) Meio Somador: A B VAI-UM SOMA M.S. b) Somador Completo: A B VAI-UM SOMA S.C. Te (VAI-UM/entrada) 4. Inversor Controlado
Uma porta OU-EXCLUSIVO pode ser utilizada como um inversor controlado, isto é, de acordo com o sinal na entrada de controle, a porta atua como inversor ou transmite o sinal de entrada diretamente para a saída.
S (saída) C (controle) E (entrada) Controle (C) E S 0 0 0 S = E 0 1 1 S = E 1 0 1 S = E 1 1 0 S = E
Observe que quando o sinal controle (C) é baixo, a entrada é transmitida diretamente para a saída ( S = E ) e quando o sinal controle (C) é alto, a porta atua como um inversor (S = E ).
O circuito a seguir é capaz de efetuar o complemento de 1 de um número de 8 bits: E7 S7 E6 S6 E5 S5 E4 S4 E3 S3 E2 S2 E1 S1 E0 S0 C (controle) - se CONTROLE = 0 , temos:
S
7S
6S
5S
4S
3S
2S
1S
0 = E7 E6 E5 E4 E3 E2 E1 E0 - se CONTROLE = 1 , temos :S
7S
6S
5S
4S
3S
2S
1S
0 = E7 E6 E5 E4 E3 E2 E1 E0Exemplo - Na entrada de um inversor controlado é aplicado o número binário E7 E6 E5 E4 E3 E2 E1 E0 =
0101 1100. Qual o número binário na saída do inversor se o sinal de controle for igual a 0 e se este sinal for alterado para 1?
a) para CONTROLE = 0 :
S
7S
6S
5S
4S
3S
2S
1S
0 = 0101 11005. Circuito Somador/Subtrator 5.1. Circuito Somador
Para se obter um circuito que efetue somente a soma, utiliza-se um bloco meio somador para o bit menos significativo e para os demais bits utiliza-se blocos somadores totais.
Meio Somador: A B VAI-UM SOMA M.S. Somador Completo: A B VAI-UM SOMA S.C. Te (VAI-UM/entrada)
Na interligação dos blocos somadores deve-se ligar a saída VAI-UM à entrada Te ( VAI-UM/entrada ) do bloco seguinte. A saída VAI-UM do oitavo somador será utilizada se for constituído um somador com quantidade maior de bits.
Circuito somador de 8 bits (somador paralelo):
A7 S7 A6 S6 A5 S5 A4 S4 A3 S3 A2 S2 A1 S1 A0 S0 M.S. VAI-UM S.C. S.C. S.C. S.C. S.C. S.C. S.C. B7 B6 B5 B4 B3 B2 B1 B0
A adição será efetuada da seguinte forma :
A7 A6 A5 A4 A3 A2 A1 A0
+ B7 B6 B5 B4 B3 B2 B1 B0
5.2. Circuito Somador/Subtrator
O circuito que veremos a seguir é capaz de efetuar uma soma ou subtração de números binários. Este circuito é constituído por um bloco inversor controlado e por blocos somadores completos:
C (controle) A7 S7 A6 S6 A5 S5 A4 S4 A3 S3 A2 S2 A1 S1 A0 S0 S.C. S.C. S.C. S.C. S.C. S.C. S.C. B7 B6 B5 B4 B3 B2 B1 B0 S.C. Te a) Soma
Na soma o sinal de controle será mantido em nível baixo, assim o número binárioB7...B0 passa pelas
portas OU-EXCLUSIVO sem nenhuma alteração. A adição se processará da seguinte forma:
CONTROLE 0 A7 A6 A5 A4 A3 A2 A1 A0 + B7 B6 B5 B4 B3 B2 B1 B0
S
7S
6S
5S
4S
3S
2S
1S
0 Exemplo: A7 A6 A5 A4 A3 A2 A1 A0 = 0011 0111 B7 B6 B5 B4 B3 B2 B1 B0 = 0001 1010- o sinal CONTROLE = 0 , então o sinal Te da coluna menos significativa vale 0: CONTROLE 0 0011 0111 + 0001 1010 0101 0001 ∴∴∴∴
S
7S
6S
5S
4S
3S
2S
1S
0 = 0101 0001b) Subtração
Na subtração o sinal de controle será mantido em nível alto. Desta forma as portas OU-EXCLUSIVO processam o complemento de 1 do número binárioB7...B0. O sinal de controle é aplicado ao Te (
VAI-UM/ENTRADA ) do primeiro somador e o efeito produzido é equivalente ao obtermos o complemento de 2 do número B7...B0. CONTROLE 1 A7 A6 A5 A4 A3 A2 A1 A0 +
B
7B
6B
5B4B
3 B2 B1B
0S
7S
6S
5S
4S
3S
2S
1S
0 Exemplo: A7 A6 A5 A4 A3 A2 A1 A0 = 0011 1010 B7 B6 B5 B4 B3 B2 B1 B0 = 0001 0111O sinal de controle será mantido em 1 para processar a subtração, desta forma circuito efetuará o complemento de 2 do número binário B7...B0 e obtemos a subtração:
CONTROLE 1 0011 1010 + 1110 1000 1 0010 0011
Na aritmética com complemento de 2, o vai-um gerado na coluna MSB é ignorado, então a resposta do circuito será:
S
7S
6S
5S
4S
3S
2S
1S
0= 0010 00116. Circuito Integrado Aritmético
Existem circuitos aritméticos, na forma de circuito integrado, que são denominados como Unidade de Lógica e Aritmética (ULA). Estes são mais simples que os utilizados nos computadores, porém são capazes de realizar várias operações de aritmética e de lógica.
O circuito integrado 74LS382 da família TTL têm o 74HC382 como equivalente da família CMOS. Este circuito integrado realiza operações entre dois números de quatro bits e possui as seguintes funções:
- Subtrai o número das entradas B do número das entradas A; - Subtrai o número das entradas A do número das entradas B; - Soma o número das entradas A com o número das entradas B;
- Ou-exclusivo do número das entradas A com o número das entradas B; - Função “OU” do número das entradas A com o número das entradas B; - Função “E” do número das entradas A com o número das entradas B;
A3 A2A1A0 B3 B2B1 B0 S2 CN+4 S1S0 F3 F2F1F0 CN OVR 74LS382 Seleção de Função
S
2S
1S
0 Operação Comentários 0 0 0 CLEARF
3F
2F
1F
0 = 0000 0 0 1 B menos A 0 1 0 A menos B É necessário CN = 1 0 1 1 A mais B É necessário CN = 0 1 0 0 A ⊕ B Ou-exclusivo 1 0 1 A + B Lógica OU 1 1 0 A ⋅ B Lógica E 1 1 1 PRESETF
3F
2F
1F
0 = 1111A saída OVR (overflow) indica que houve o estouro na operação. Para operações com oito bits, utilizam-se dois circuitos integrados:
A3 A2A1A0 B3 B2B1 B0 S2 CN+4 S1S0 F3 F2F1F0 CN OVR 74LS382 A3 A2A1A0 B3 B2B1 B0 S2 S2 CN+4 S1 S1 S0 S0 F3 F2 F1F0 CN OVR 74LS382 A3 A2A1A0 B3 B2B1B0 A7 A6A5A4 B7 B6B5B4