Escolar Documentos
Profissional Documentos
Cultura Documentos
DIGITAIS
Anselmo Cukla
Aritmética digital:
operações e circuitos
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Introdução
Atualmente, estamos rodeados por equipamentos eletrônicos e digitais
que realizam diversas tarefas, sobretudo operações aritméticas, como
celulares, tablets, alguns relógios, as próprias calculadoras e, sem dúvida,
os computadores. Por incrível que pareça, todas as operações realizadas
pelos computadores e pelas plataformas de processamento de dados
complexos, no fundo, são traves de operações aritméticas e movimento
de registros. E, embora não aprofundemos o assunto, é importante saber
como são feitas as operações aritméticas básicas em forma digital.
Neste capítulo, você estudará, a partir da conversão de números biná-
rios, como são realizadas as operações aritméticas em sistemas digitais,
analisando operações com números de comprimento finito, e como
podemos interpretar os resultados. Antes, veremos como são tratados os
números binários quando têm sinal negativo ou positivo, para fazermos
as devidas operações aritméticas, além das bases octal e hexadecimal,
outras formas de representação numérica. Finalmente, será abordado
o caso em que se realizam essas operações com circuitos aritméticos
binários, a partir de operações matemáticas básicas.
2 Aritmética digital: operações e circuitos
De acordo com Tocci, Widner e Moss (2011) e Floyd (2007), para repre-
sentar números negativos na base binária, devemos observar outros métodos
de representação de números binários, pois, com a forma sinal-magnitude,
há maior dificuldade na hora de realizar operações aritméticas. Assim, outra
forma de representação de números binários é a de complemento de 1, em
que, em determinado número na base binária, os 1s se substituem por 0s e os
0s por 1s, tal como apresentado em (1):
(1)
(2)
MSB 0 1 0 1 1 0 1 = +4510
1 0 1 0 0 1 1 = 4510
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 10 8 1000
9 11 9 1001
10 12 A 1010
11 13 B 1011
12 14 C 1100
13 15 D 1101
14 16 E 1110
15 17 F 1111
Aritmética digital: operações e circuitos 7
Adição
De acordo com Tocci, Widner e Moss (2011), a operação em números binários
é realizada do mesmo modo quando se opera com números decimas, como
expressado em (3):
0 0010110 (22)
Sinal
+ 0 0011011 (27) (4)
0 0110001 (49)
0 1000
+ 1 1011 (5)
Carry 1 0 0011
1 1001
+ 0 0101 (6)
1 1110
1 1001
+ 1 1011 (7)
Carry 1 1 0100
Existe uma condição chamada overflow, que acontece quando o resultado excede
o número de bits dos números somados, resultando em um transbordamento da
capacidade (conhecido como overflow). Um overflow pode ocorrer quando ambos
os números têm o mesmo sinal e o número transbordado aparece como um sinal
incorreto. Veja o exemplo da soma de dois números positivos de 8 bits cada um, para
a qual o resultado é um número de 9 bits, como é o caso de 125 + 58 = 183.
01111101
+ 00111010 Valor
Sinal incorreto
incorreto 1 0110111
Observe que o valor de 183 requer 8 bits para a sua representação, mas existem
somente 7 bits para fazê-lo, além de um bit de sinal. Então, nessa operação, temos
um overflow; quando o sistema que processa essa operação somente suporta 8 bits
(7 + 1 bit de sinal), o resultado apresentado será incorreto.
Resultado
Subtração binária
Resto
Como apresentado na Figura 4, uma ALU é formada por pelo menos dois
registradores (registrador A e B) e um registrador acumulador, além de uma
unidade de memória, um sistema de controle e um circuito lógico combinacional
que realiza as operações aritméticas. Segundo Tocci,l Widner e Moss (2011),
uma ALU opera da seguinte maneira: 1) a unidade de controle define quais
endereços de posição da memória serão somados ao valor armazenado no
registrador acumulador; a unidade de controle recebe instruções da unidade
14 Aritmética digital: operações e circuitos
0 0 1 1 1
Primeira parcela
+ 1 0 1 0 1
Armazenada
em registrador
acumulador
Armazenada em
Segunda parcela 0 0 1 1 1
registrador B
+
Soma 1 1 1 0 0
(A ser somado na
Carry 0 0 1 1 1 próxima posição)
De acordo com a Figura 5, o processo se inicia com a soma dos bits LSB
da primeira e segunda parcela. Nesse caso, há um carry de 1, pois 1 + 1 = 10.
O carry corresponde ao bit excedente da operação da primeira coluna e é
utilizado na operação da segunda coluna. Agora, na operação da segunda,
estão envolvidos 3 bits na operação da soma, os bits da 1ª e da 2ª parcela e o
carry (1 + 0 + 1 = 10), o que produz um novo carry, trasladado à 3ª coluna
da operação. Observe que esse processo se repete a cada coluna, ou seja,
a cada posição de bit do registrador. Como o processo é realizado bit a bit nos
registradores, é possível usar um circuito lógico baseado em flip-flops para
tal finalidade, como apresentado na Figura 6.
TOCCI, R. J.; WIDNER, N. S.; MOSS, G. L. Sistemas digitais: princípios e aplicações. 11. ed.
São Paulo: Pearson, 2011.
FLOYD, T. L. Sistemas digitais: fundamentos e aplicações. 9. ed. Porto Alegre: Bookman,
2007.
TOKHEIM, R. Fundamentos de eletrônica digital: sistemas combinacionais. 7. ed. Porto
Alegre: AMGH, 2013a. (Série Tekne, v. 1).
TOKHEIM, R. Fundamentos de eletrônica digital: sistemas sequenciais. 7. ed. Porto Alegre:
AMGH, 2013b. (Série Tekne, v. 2).