Aritmética Digital

42
Aritmética Digital Operações e Circuitos Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Transcript of Aritmética Digital

Page 1: Aritmética Digital

Aritmética Digital

Operações e Circuitos

Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 2: Aritmética Digital

Adição Binária

É feita da mesma forma que uma operação de

adição decimal, o princípio é o mesmo.

LSD – Digito menos significativo (least

significant digit)

19/05/20152 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 3: Aritmética Digital

Adição Binária

Em uma operação de adição decimal, cada

coluna (posição) é somada da direita para a

esquerda. O mesmo ocorre com a adição

binária, entretanto, existem apenas 4 casos na

adição binária em qualuqer posição:

Caso 1 CARRY 0 0 0 0 + 0 = 0

Caso 2 1 0 1 1 + 0 = 1

Caso 3 1 1 1 0 1 + 1 = 10

Caso 4 1 1 1 1 1 + 1 = 11

19/05/20153 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 4: Aritmética Digital

Adição Binária

Todo e qualquer sistema digital executa a operação

de adição com apenas DOIS operandos de cada vez!

Os computadores modernos podem realizar UMA

operação de adição em nanossegundos.

Adição binária é a operação aritmética MAIS

importante de um sistema digital, pois outras

operações também são realizadas apenas com

adições.

Exemplos:

A) 011 + 110 = 1001

B) 1001 + 1111 = 11000

C) 11,011 + 10, 110 = 110, 001

19/05/20154 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 5: Aritmética Digital

Representação de Números com Sinal

Magnitude do número: faixa de representação

dos números binários

Exemplo: 0 à 63 = 000000 à 111111. Um

registrador de 6 bits pode armazenar essa faixa

de números binários.

Sinal do número: positivo (+) ou negativo (-)

Bit de sinal: é o bit que representa o sinal

positivo ou negativo no número binário.

0 no bit de sinal = sinal positivo

1 no bit de sinal = sinal negativo

19/05/20155 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 6: Aritmética Digital

Representação de Números com Sinal

Exemplos:

a6 A5 a4 a3 a2 a1 a0

0 1 1 0 1 0 0

(1bit) Bit de sinal (+) (6 bits) Magnitude = +(52)10

b6 b5 b4 b3 b2 b1 b0

1 1 1 0 1 0 0

(1bit) Bit de sinal (-) (6bits) Magnitude = - (52)10

19/05/20156 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 7: Aritmética Digital

Complemento de 1

Substitua cada bit do número binário pelo seu

completo, ou seja, onde for zero, coloque um e,

onde for um coloque zero.

1 0 1 1 0 1Número binário

original

0 1 0 0 1 0 Complemento de 1

19/05/20157 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 8: Aritmética Digital

Complemento de 2

Pegue o número em complemento de 1 e some

1 no bit menos significativo

1 0 1 1 0 1Número binário

original

0 1 0 0 1 0 Complemento de 1

1 +

0 1 0 0 1 1 Complemento de 2

19/05/20158 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 9: Aritmética Digital

Representação de números com sinal no

complemento de 2

MSB – Bit mais significativo (most significant

bit)

Números positivos: o bit de sinal zero é

inserido em frente ao MSB diretamente

Números negativos: o bit de sinal um é

inserido em frente ao MSB e a magnitude deve

estar em complemento de 2

0 1 0 1 1 0 1

Bit de sinal (+) Número binário real (verdadeiro) = +45 (10)

1 0 1 0 1 1 1

Bit de sinal (-) Número em complemento de 2 = -45 (10)

19/05/20159 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 10: Aritmética Digital

Representação de números com sinal no

complemento de 2

Números com sinal SEMPRE serão

representados no sistema de complemento a 2

A subtração pode ser efetuada a partir da

adição

Um ÚNICO circuito que faça as duas operações

poupa hardware na fabricação do circuito

integrado

19/05/201510 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 11: Aritmética Digital

Extensão de Sinal

O tamanho de um registrador determina o númerode digitos binários armazenados para cada número.

Cada registrador é composto por FLIP-FLOPS

Os sitemas digitais modernos armazenam osnúmeros binários em múltiplos pares de quatrobits.

Registradores de armazenamento: 4, 8, 12, 16, 32ou 64 bits.

Em um sistema de 8 bits, 7 representam amagnitude do número e 1 é reservado para o sinal(MSB)

E se precisarmos armazenar um número de 5bitsem um registrador de tamanho 8 bits?

19/05/201511 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 12: Aritmética Digital

Extensão de Sinal

Se o número tiver sinal positivo: basta

acrescentar zeros à esquerda;

Se o número tiver sinal negativo: devemos

acrescentar 1’s à frente;

0 0 0 0 1 0 0 1

Zeros acrescentados

(extensão do sinal para 8

bits)

BIT DE

SINALValor binário para +9 em 4 bits

1 1 1 1 0 1 1 1

Uns acrescentados

(extensão do sinal para 8

bits)

BIT DE

SINAL

Valor binário para -9 (magnitude no

complemento a 2)

19/05/201512 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 13: Aritmética Digital

Negação

Um número binário com sinal é negado pela

complementação a 2

Se o número é positivo, a negação o torna negativo

Se o número é negativo, a negação o torna positivo

0 0 0 0 1 0 0 1 +9 Número original

1 1 1 1 0 1 1 1 -9 Complemento a 2 (já é o número negado)

0 0 0 0 1 0 0 1 +9 Negar de novo

1 1 1 1 0 1 1 1 -9 Número original

0 0 0 0 1 0 0 1 +9 Complemento a 2 (já é o número negado)

1 1 1 1 0 1 1 1 -9 Negar de novo

19/05/201513 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 14: Aritmética Digital

Caso especial na representação do

complemento de 2

Os números binários que ficam nas

extremidades da magnitude, entre as faixas

positivas e negativas, são um caso particular.

O complemento de 2 destes números é o

próprio número

Exemplo:

1 0 0 0 +8

1 1 0 0 0 -8

0 0 1 1 1 C1

1

0 1 0 0 0 C2

19/05/201514 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 15: Aritmética Digital

Caso especial na representação do

complemento de 2

Qual a faixa de valores de números decimaisSEM SINAL que pode ser representada com umbyte?

R.: 256 ou 28 valores diferentes

Um byte = 8 bits

Não há bit de sinal

Portanto, os 8 bits são usados para representara magnitude do número binário

00000000 = 0(10)

1111111 = 255(10)

19/05/201515 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 16: Aritmética Digital

Caso especial na representação do

complemento de 2

Qual a faixa de valores de números decimais COM

SINAL que pode ser representada com um byte?

R.: A faixa é de -128 à + 127 em um total de 256

valores diferentes, incluindo zero.

Um byte = 8 bits

Há bit de sinal, portanto 1 bit é usado para o sinal

Portanto, 7 bits são usados para representar a

magnitude do número binário

10000000 = -128(10) = -27

0111111 = +127(10) = +27

19/05/201516 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 17: Aritmética Digital

Adição no sistema de complemento de 2

1. Somar dois números positivos

+9 0 1 0 0 1

+4 0 0 1 0 0

+13 0 1 1 0 1

BIT DE

SINAL

19/05/201517 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 18: Aritmética Digital

Adição no sistema de complemento de 2

2. Somar dois números positivos

IMPORTANTE: é necessário que a primeira e a

segunda parcela (ou primeiro e segundo

operandos) tenham a mesma quantidade de

bits

+9 0 1 0 0 1

+4 0 0 1 0 0

+13 0 1 1 0 1

BIT DE

SINAL

19/05/201518 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 19: Aritmética Digital

Adição no sistema de complemento de 2

3. Somar um número positivo com um número

negativo inferior

O CARRY gerado SEMPRE é desconsiderado

neste caso

CARRY 1 1

+9 0 1 0 0 1

-4 1 1 1 0 0

+5 1 0 0 1 0 1

O CARRY é

desconsiderado

BIT DE

SINAL

19/05/201519 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 20: Aritmética Digital

Adição no sistema de complemento de 2

4. Somar dois números negativos

O resultado está na forma de complemento a 2

com um bit de sinal e é negativo

Não esqueça de fazer o C2 de 9

Carry 1 1 1

-9 1 0 1 1 1

-4 1 1 1 0 0

-13 1 1 0 0 1 1

Bit de carry

desconsiderado

BIT DE

SINAL

19/05/201520 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 21: Aritmética Digital

Adição no sistema de complemento de 2

5. Números iguais com sinais opostos

Carry 1 1 1 1 1

-9 1 0 1 1 1

+9 0 1 0 0 1

0 1 0 0 0 0 0

Bit de carry

desconsiderado

BIT DE

SINAL

19/05/201521 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 22: Aritmética Digital

Subtração no sistema de complemento de 2

Qualquer operação de subtração em

complemento de 2 torna-se uma operação de

adição

Para subtrair um número binário (subtraendo)

de outro (minuendo):

19/05/201522 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 23: Aritmética Digital

Subtração no sistema de complemento de 2

Faça a operação de negação do subtraendo

Adicione esse número obitdo ao minuendo

Exemplo 1: (+9) – (+4) = 01001 – 00100

9 é o minuendo e 4 é o subtraendo, portanto,

fazer a negação de 4 (11100)

1 1 Carry

0 1 0 0 1 +9 Minuendo

1 1 1 0 0 -(+4) Subtraendo

1 0 0 1 0 1 +5 Resultado

O carry é desconsiderado. (+9) – (+4) = +5

19/05/201523 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 24: Aritmética Digital

Subtração no sistema de complemento de 2

Exemplo 2: (-4) - (+9)

Primeiro: identificar as magnitudes e os sinais

dos números binários 11100 – 01001

Segundo: -4 é o minuendo e 9 é o subtraendo,

portanto, fazer a negação de 9 (10111)

Terceiro: fazer a adição

1 1 1 CARRY

1 1 1 0 0 -4 Minuendo

1 0 1 1 1 -(+9) Subtraendo

1 1 0 0 1 1 -13 Resultado

19/05/201524 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 25: Aritmética Digital

Subtração no sistema de complemento de 2

Exemplo 3: (+9) – (-4)

Primeiro: identificar as magnitudes e os sinais

dos números binários 01001 – 11100

Segundo: fazer a operação de negação do

número 4 00100

Terceiro: fazer a adição

CARRY

0 1 0 0 1 +9 Minuendo

0 0 1 0 0 -(-4) Subtraendo

0 1 1 0 1 +13 Resultado

19/05/201525 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 26: Aritmética Digital

Subtração no sistema de complemento de 2

Exemplo 4: (-9) – (+4)

Primeiro: identificar as magnitudes e os sinais

dos números binários 10111 – 00100

Segundo: fazer a operação de negação do

número 4 11100

Terceiro: fazer a adição

1 1 1 CARRY

1 0 1 1 1 -9 Minuendo

1 1 1 0 0 -(+4) Subtraendo

1 1 0 0 1 1 -13 Resultado

19/05/201526 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 27: Aritmética Digital

Subtração no sistema de complemento de 2

Exemplo 5: (-9) – (-4)

Primeiro: identificar as magnitudes e os sinais

dos números binários 10111 – 11100

Segundo: fazer a operação de negação do

número 4 00100

Terceiro: fazer a adição

1 CARRY

1 0 1 1 1 -9 Minuendo

0 0 1 0 0 -(-4) Subtraendo

1 1 0 1 1 -5 Resultado

19/05/201527 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 28: Aritmética Digital

Subtração no sistema de complemento de 2

Exemplo 5: (+4) – (-4)

Primeiro: identificar as magnitudes e os sinais

dos números binários 00100 – 11100

Segundo: fazer a operação de negação do

número 4 00100

Terceiro: fazer a adição

1 CARRY

0 0 1 0 0 +4 Minuendo

0 0 1 0 0 -(-4) Subtraendo

0 1 0 0 0 +8 Resultado

19/05/201528 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 29: Aritmética Digital

Overflow Aritmético

Ocorre apenas quando dois números positivos

ou dois números negativos são somados

O bit de sinal fica incorreto e a magnitude do

número é menor do que o número resultando

(quantidade de bits insuficiente para

representar o número)

Essas somas dão um resultado ERRADO

Na subtração, o overflow ocorre quando o

minuendo e o subtraendo tem sinais diferentes

19/05/201529 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 30: Aritmética Digital

Overflow Aritmético

EXEMPLIFICANDO: +9 + 8 = +17

O resultado deve ser um número binário

positivo, pois estamos somando dois números

positivos

Entretanto, como pode ser observado na tabela,

o resultado no bit de sinal dá 1, indicando um

número negativo. Isto é errado!!! É o overflow

1 carry

0 1 0 0 1 +9

0 1 0 0 0 +8

1 0 0 0 1 +17

BIT DE

SINAL

Magnitude INCORRETA

19/05/201530 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 31: Aritmética Digital

Overflow Aritmético

O overflow pode ser detectado verificando se o

BIT DE SINAL do resultado tem o mesmo valor

dos BITS DE SINAL dos números que estão

sendo somados

Um circuito particular faz essa detecção

enviando um sinal para a unidade de controle

de que o resultado realizado pela unidade

aritmética está errado

19/05/201531 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 32: Aritmética Digital

Multiplicação de números binários

Igual ao processo decimal

1 0 0 1 Operando 1

1 0 1 1 Operando 2

1 0 0 1 1 * 1001 (produto parcial)

19/05/201532 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 33: Aritmética Digital

Multiplicação de números binários

Igual ao processo decimal

1 0 0 1 Operando 1

1 0 1 1 Operando 2

1 0 0 1 1 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

19/05/201533 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 34: Aritmética Digital

Multiplicação de números binários

Igual ao processo decimal

1 0 0 1 Operando 1

1 0 1 1 Operando 2

1 0 0 1 1 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

0 0 0 0 0 * 1001 (produto parcial)

19/05/201534 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 35: Aritmética Digital

Multiplicação de números binários

Igual ao processo decimal

1 0 0 1 Operando 1

1 0 1 1 Operando 2

1 0 0 1 1 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

0 0 0 0 0 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

19/05/201535 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 36: Aritmética Digital

Multiplicação de números binários

Igual ao processo decimal

1 0 0 1 Operando 1

1 0 1 1 Operando 2

1 0 0 1 1 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

0 0 0 0 0 * 1001 (produto parcial)

1 0 0 1 1 * 1001 (produto parcial)

1 1 0 0 0 1 1 Resultado final

19/05/201536 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

IMPORTANTE: a maioria das máquinas digitais pode SOMAR apenas DOIS

números binários de cada vez. Por isso, os produtos parciais obtidos durante a

multiplicação NÃO podem ser somados ao mesmo tempo, portanto, são somados

2 de cada vez.

Page 37: Aritmética Digital

Multiplicação de números binários

Somando os produtos parciais, dois a cada vez

1 0 0 1 1 * 1001 (1.º produto parcial)

1 0 0 11 * 1001 (2.º produto parcial deslocado à

esquerda)

1 1 0 1 1 1.º Resultado parcial: 1.º P + 2.º P

19/05/201537 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

1 1 0 1 1 1.º Resultado parcial: 1.º P + 2.º P

0 0 0 00 * 1001 (3.º produto parcial deslocado duas casas à

esquerda)

0 1 1 0 1 1 2.º Resultado parcial: 1.º P + 2.ºP + 3.º P.

Page 38: Aritmética Digital

Multiplicação de números binários

Somando os produtos parciais, dois a cada vez

19/05/201538 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

0 1 1 0 1 1 2.º Resultado parcial: 1.º P + 2.º P + 3.º P

1 0 0 11 * 1001 (4.º produto parcial deslocado três casas à

esquerda)

1 1 0 0 0 1 1 Resultado Final: 1.º P. + 2.º P. + 3.º P. + 4.º P.

Page 39: Aritmética Digital

Multiplicação de números binários

Somando os produtos parciais, dois a cada vez:

OUTRA FORMA DE EXECUTAR

19/05/201539 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

1 0 0 1 1.º Produto Parcial

1 0 0 1 2.º Produto Parcial deslocado à esquerda

1 1 0 1 1 Soma dos dois primeiros produtos parciais

0 0 0 0 3.º Produto Parcial deslocado à esquerda

0 1 1 0 1 1 Soma dos três primeiros produtos parciais

1 0 0 1 4.º Produto Parcial deslocado à esquerda

1 1 0 0 0 1 1 RESULTADO FINAL

Page 40: Aritmética Digital

Multiplicação no sistema de complemento

de 2

Multiplicando e Multiplicador positivos: fazer

a multiplicação como descrita anteriormente. O

resultado deve ser POSITIVO, portanto, bit de

sinal igual a zero.

Multiplicadndo e Multiplicador negativos:

deverão estar na forma de complemento a 2,

portanto, primeiro, antes da multiplicação,

encontrar o complemento a 2 dos números e

somente depois multiplicar.

19/05/201540 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 41: Aritmética Digital

Multiplicação no sistema de complemento

de 2

Um número positivo e outro negativo:

converter o número negativo em um número

positivo usando a técnica do complemento a 2.

O produto resultante deve ser negativo por

conta dos sinais diferentes, então, o resultado

deve ser convertido pelo complemento a 2, de

modo que o bit de sinal seja 1.

19/05/201541 Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Page 42: Aritmética Digital

Divisão binária

19/05/201542 Prof.ª M.ª Eng.ª Elaine Cecília Gatto