Transcript
Page 1: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 11

Circuitos combinatórios típicos:Circuitos combinatórios típicos:circuitos aritméticoscircuitos aritméticos

Prof. Carlos SêrroProf. João Paulo Carvalho

SISTEMAS DIGITAISSISTEMAS DIGITAIS

Page 2: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 22

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Circuitos aritméticosCircuitos aritméticos

Circuitos aritméticos são aqueles que Circuitos aritméticos são aqueles que realizam operações aritméticas sobre realizam operações aritméticas sobre números binários números binários

O circuito aritmético mais simples é o O circuito aritmético mais simples é o que soma números de apenas 1 bitque soma números de apenas 1 bit

Basta partir da conhecida tabela da Basta partir da conhecida tabela da soma binária para o obter um soma binária para o obter um semi-semi-somadorsomador

Page 3: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 33

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Semi-somadorSemi-somador

Tabela de verdade lógica de um semi-Tabela de verdade lógica de um semi-somadorsomador

ABAB SomaSoma TransporteTransporte

0000 00 00

0101 11 00

1010 11 00

1111 00 11

A+BA+B A=0A=0 A=1A=1

B=0B=0 00 11

B=1B=1 11 1010

Page 4: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 44

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Semi-somadorSemi-somador

Logigrama de um semi-somadorLogigrama de um semi-somador

ABAB SomaSoma TransporteTransporte

0000 00 00

0101 11 00

1010 11 00

1111 00 11

O nome semi-somador vem do facto de este circuito não O nome semi-somador vem do facto de este circuito não permitir somar o transporte que venha de bits de menor permitir somar o transporte que venha de bits de menor pesopeso

BAS

BACout⊕=⋅=

Page 5: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 55

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador CompletoSomador Completo

A um somador de 1 bit que tenha em A um somador de 1 bit que tenha em conta o transporte de somas conta o transporte de somas anteriores chama-se anteriores chama-se somador somador completocompleto

Page 6: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 66

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador CompletoSomador Completo

Tabela de verdade lógica e equaçõesTabela de verdade lógica e equações

B00 01 11 10

A

0

1 0

0

1 1

0

1

0 1

Cin

B00 01 11 10

A

0

1 1

1

1 0

1

0

0 0

Cin

A B Cin S Cout

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

in

inin

inin

CBA

BACBAC

BACBACS

⊕⊕=⋅⋅+⋅⋅+⋅⋅+⋅⋅=

( )BACBA

BCACBAC

in

ininout

⊕⋅+⋅=

⋅+⋅+⋅=

Porquê?

Page 7: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 77

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador CompletoSomador Completo

Logigrama de um somador completoLogigrama de um somador completo

Semi-somadores

CIBAS ⊕⊕= ( )BACIBA

BCIACIBACO

⊕⋅+⋅=

⋅+⋅+⋅=

Page 8: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 88

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somadores de n bitsSomadores de n bits

Assumindo blocos de somadores Assumindo blocos de somadores completos, é possível construir completos, é possível construir somadores de n bitssomadores de n bits

Exemplo: Um somador de 4 bitsExemplo: Um somador de 4 bits

Page 9: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 99

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somadores de n bitsSomadores de n bits

Somador Somador iterativoiterativo de 4 bits de 4 bits

Cn-1

Cn

An

Bn

Sn

Somador completo

Cn-1

Cn

An

Bn

Sn

Cn-1

Cn

An

Bn

Sn

Cn-1

Cn

An

Bn

Sn

Cn-1

Cn

An

Bn

Sn

A0 1

A2

A3

AB0

S0

B1

S1

B2

S2

B3

S3

Ci

CoC0

C3

Estrutura iterativa(série)

Page 10: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1010

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somadores de n bitsSomadores de n bits

Símbolo IEC de um somador sompleto de 4 bits

0

3 0

3

0

3

CI CO

P

Q

S

:

Page 11: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1111

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

SubtracçõesSubtracções

O algoritmo da subtracção numa base O algoritmo da subtracção numa base qualquer é semelhante ao da adiçãoqualquer é semelhante ao da adição Se o aditivo é maior ou igual ao Se o aditivo é maior ou igual ao

subtractivo, faz-se a subtracção (em subtractivo, faz-se a subtracção (em decimal)decimal) Neste caso não é gerado transporte para a Neste caso não é gerado transporte para a

coluna seguintecoluna seguinte Se o aditivo é menor do que o subtractivo, Se o aditivo é menor do que o subtractivo,

adiciona-se a base ao aditivo (em decimal) adiciona-se a base ao aditivo (em decimal) e só depois se faz a subtracçãoe só depois se faz a subtracção Neste caso gera-se um transporte igual a 1 para Neste caso gera-se um transporte igual a 1 para

a coluna seguintea coluna seguinte

Page 12: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1212

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

SubtracçõesSubtracções

Ex. na base 10Ex. na base 10

15 15 (10)(10)

-- 7 7 (10)(10)

8 8 (10)(10)

Ex. na base 16Ex. na base 16

B5 B5 (16)(16)

-- E E (16)(16)

A7 A7 (16)(16)

Page 13: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1313

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Números com SinalNúmeros com Sinal

A representação de números inteiros A representação de números inteiros tem de ter em conta que os números tem de ter em conta que os números podem ser positivos, negativos ou o podem ser positivos, negativos ou o número 0número 0

Uma das alternativas é a Uma das alternativas é a representação por representação por módulo e sinalmódulo e sinal, em , em que o bit mais significativo indica o que o bit mais significativo indica o sinal. Se esse bit for 1 o número é sinal. Se esse bit for 1 o número é negativo, se for 0 é positivonegativo, se for 0 é positivo

Page 14: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1414

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Números com SinalNúmeros com Sinal

Exemplo para números de 4 bits:Exemplo para números de 4 bits:

RepresentaçRepresentaçãoão

Número Número representadorepresentado

RepresentaçRepresentaçãoão

Número Número representarepresenta

dodo

00000000 00 10001000 -0-0

00010001 +1+1 10011001 -1-1

00100010 +2+2 10101010 -2-2

00110011 +3+3 10111011 -3-3

01000100 +4+4 11001100 -4-4

01010101 +5+5 11011101 -5-5

01100110 +6+6 11101110 -6-6

01110111 +7+7 11111111 -7-7

Page 15: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1515

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Módulo e sinalMódulo e sinal

Inconvenientes:Inconvenientes: Duas representações diferentes para o Duas representações diferentes para o

zerozero O módulo e o sinal são processados de O módulo e o sinal são processados de

forma diferenteforma diferente É necessário escolher a operação a É necessário escolher a operação a

realizar de acordo com a operação realizar de acordo com a operação desejada e o sinal dos números envolvidosdesejada e o sinal dos números envolvidos

Page 16: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1616

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Módulo e sinalMódulo e sinal

Por exemplo:Por exemplo: Se pretendermos fazer a operação (+5) + Se pretendermos fazer a operação (+5) +

(-3), o que é realmente necessário fazer é (-3), o que é realmente necessário fazer é a subtracção 5-3 ficando o sinal positivoa subtracção 5-3 ficando o sinal positivo

Se o problema for realizar (-5) + (+3), Se o problema for realizar (-5) + (+3), então há que realizar também uma então há que realizar também uma subtracção mas do módulo do número subtracção mas do módulo do número negativo menos o do positivo, isto é, 5-3, negativo menos o do positivo, isto é, 5-3, ficando depois o sinal negativoficando depois o sinal negativo

Page 17: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1717

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Módulo e sinalMódulo e sinal

Obviamente, tudo isto complica a Obviamente, tudo isto complica a realização das operações (e, por realização das operações (e, por consequência, dos circuitos) que consequência, dos circuitos) que tenham que realizar essas operaçõestenham que realizar essas operações

Page 18: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1818

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Chama-se Chama-se complemento para 2complemento para 2nn de um de um número X de n bits, ao resultado da número X de n bits, ao resultado da operação 2operação 2nn – X – X

Por exemplo, o complemento para 2 Por exemplo, o complemento para 2 de 0101 é:de 0101 é:

1000010000

- 0101- 0101

1011 1011

Page 19: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 1919

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Se um número X tem n bits, então o Se um número X tem n bits, então o seu complemento para 2 é seu complemento para 2 é representado por n bitsrepresentado por n bits

O complemento para 2 do O complemento para 2 do complemento para 2 de um número X complemento para 2 de um número X é X:é X: 22nn - (2 - (2nn – X) = X – X) = X

Page 20: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2020

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Formas alternativas de encontrar o Formas alternativas de encontrar o complemento para 2 de um número X:complemento para 2 de um número X: Inverter todos os bits de X e somar 1 ao Inverter todos os bits de X e somar 1 ao

resultadoresultado Manter todos os 0’s menos significativos e Manter todos os 0’s menos significativos e

ainda o primeiro 1 de X, e inverter os ainda o primeiro 1 de X, e inverter os restantes bits mais significativosrestantes bits mais significativos

Page 21: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2121

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Na representação de números com sinal em Na representação de números com sinal em complemento para 2, o bit mais significativo do complemento para 2, o bit mais significativo do número também indica o sinalnúmero também indica o sinal Se for 1 o número é negativo, se for 0 é positivoSe for 1 o número é negativo, se for 0 é positivo

Na representação de números com sinal em Na representação de números com sinal em complemento para 2complemento para 2 Um número positivo é representado pelo seu módulo Um número positivo é representado pelo seu módulo

(como na notação de sinal e módulo)(como na notação de sinal e módulo) Um número negativo é representado pelo complemento Um número negativo é representado pelo complemento

para 2 do seu módulopara 2 do seu módulo

Page 22: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2222

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Por exemplo, o número +6 é Por exemplo, o número +6 é representado em notação de representado em notação de complemento para 2 com 4 bits por complemento para 2 com 4 bits por 0110, e o número -6 é representado por 0110, e o número -6 é representado por 1010:1010: 6 = 0110 6 = 0110 ►► complementando bit a bit, 1001 complementando bit a bit, 1001

►►1001 +1 = 1010 = -6 1001 +1 = 1010 = -6 Repare-se que a determinação do Repare-se que a determinação do

complemento para 2 de um número complemento para 2 de um número positivo de n bits deixa positivo de n bits deixa automaticamente o bit de sinal a 1automaticamente o bit de sinal a 1

Page 23: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2323

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Os 16 números possíveis de representar em Os 16 números possíveis de representar em complemento para 2 com 4 bits são:complemento para 2 com 4 bits são:

RepresentaçRepresentaçãoão

Número Número representadorepresentado

RepresentaçãRepresentaçãoo

Número Número representarepresenta

dodo

00000000 00 10001000 -8-8

00010001 +1+1 10011001 -7-7

00100010 +2+2 10101010 -6-6

00110011 +3+3 10111011 -5-5

01000100 +4+4 11001100 -4-4

01010101 +5+5 11011101 -3-3

01100110 +6+6 11101110 -2-2

01110111 +7+7 11111111 -1-1

Page 24: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2424

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

O intervalo de representação em O intervalo de representação em complemento para 2 é complemento para 2 é

[-2[-2n-1n-1, +2, +2n-1n-1-1]-1] Com 4 bits dá [-8,+7]Com 4 bits dá [-8,+7] Com 5 bits dá [-16,+15]. Etc.Com 5 bits dá [-16,+15]. Etc. A razão da assimetria entre o número de A razão da assimetria entre o número de

positivos e o de negativos radica no facto de positivos e o de negativos radica no facto de não haver duas representações para o 0 não haver duas representações para o 0 nesta notaçãonesta notação

Page 25: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2525

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Com esta representação, pode operar-se Com esta representação, pode operar-se sobre os números como em binário purosobre os números como em binário puro

O bit de transporte que resultar para O bit de transporte que resultar para além do último deve ser descartadoalém do último deve ser descartado

Não precisamos de nos preocupar com o Não precisamos de nos preocupar com o bit de sinal dos operandos e do resultadobit de sinal dos operandos e do resultado

Desde que o resultado caiba em n bits, Desde que o resultado caiba em n bits, ele está correctoele está correcto

Page 26: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2626

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

ExemplosExemplos

Soma de 2 positivos

(+2) + (+5) = +7

001001010111

Soma de 2 negativos

1110 101111001

(-2) + (-5) = -7

Ignora-se o transporte porque sai dos 4 bits utilizados na representação

Page 27: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2727

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

ExemplosExemplos

Soma de 1 positivo com 1 negativo com resultado negativo

Soma de 1 positivo com 1 negativo com resultado positivo

(+5) + (-3) = +2 0101 110110010

(+2) + (-5) = -3001010111101

Ignora-se o transporte porque sai dos 4 bits utilizados na representação

Page 28: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2828

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Quando a operação envolve dois Quando a operação envolve dois números com o mesmo sinal, é números com o mesmo sinal, é possível que o resultado não possa ser possível que o resultado não possa ser representado com o número de bits representado com o número de bits disponível. disponível.

Porque não “cabe” em n bitsPorque não “cabe” em n bits A esta situação chama-se OVERFLOWA esta situação chama-se OVERFLOW

Page 29: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 2929

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Por exemplo, 4 + 5 = 9, que não é Por exemplo, 4 + 5 = 9, que não é representável com 4 bits em notação representável com 4 bits em notação de complemento para 2de complemento para 2

O resultado é incoerente pois dá, em notação decomplemento para 2, um número negativo: (-7)

010001011001

Page 30: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 3030

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

O overflow nunca ocorre em operações O overflow nunca ocorre em operações de adição entre números com sinal de adição entre números com sinal contrário. contrário.

Prova-se que o overflow ocorre sempre Prova-se que o overflow ocorre sempre que o transporte para o bit de sinal é que o transporte para o bit de sinal é diferente do transporte para o exterior diferente do transporte para o exterior dos n bitsdos n bits

Page 31: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 3131

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Complemento para 2Complemento para 2

Geometricamente temosGeometricamente temos

0 - 0000

1 - 0001

2 - 0010

3 - 0011

4 - 0100

5 - 0101

6 - 0110

7 - 0111

-1 - 1111

-2 - 1110

-8 - 1000-7 - 1001

-6 - 1010

-5 - 1011

-4 - 1100

-3 - 1101

Page 32: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 3232

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador/Subtractor binárioSomador/Subtractor binário

Em complemento para 2, realizar a Em complemento para 2, realizar a subtracção x-y é o mesmo que subtracção x-y é o mesmo que realizar a soma x + (-y)realizar a soma x + (-y)

Mas para isso precisamos de obter o Mas para isso precisamos de obter o simétrico do subtractivo nessa simétrico do subtractivo nessa notação notação no fundo, obter o complemento para 2 do no fundo, obter o complemento para 2 do

subtractivosubtractivo

Page 33: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 3333

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador/Subtractor binárioSomador/Subtractor binário

Se o conseguirmos fazer de forma fácil, Se o conseguirmos fazer de forma fácil, apenas precisamos de um somador apenas precisamos de um somador para fazer somas e subtracções em para fazer somas e subtracções em notação de complemento para 2notação de complemento para 2

Para obter o complemento para 2 do Para obter o complemento para 2 do subtractivo fazemos:subtractivo fazemos: Obtemos o seu complemento para 1, por Obtemos o seu complemento para 1, por

troca de 1s com 0s (usando um conjunto de troca de 1s com 0s (usando um conjunto de XORs)XORs)

Somamos 1 ao resultado que obtivermosSomamos 1 ao resultado que obtivermos

Page 34: Outubro de 2005 Sistemas Digitais 1 Circuitos combinatórios típicos: circuitos aritméticos Prof. Carlos Sêrro Prof. João Paulo Carvalho SISTEMAS DIGITAIS

Outubro de 2005Outubro de 2005 Sistemas DigitaisSistemas Digitais 3434

Pro

f. C

arl

os

Sêrr

oPro

f. C

arl

os

Sêrr

oPro

f. João P

aulo

Carv

alh

oPro

f. João P

aulo

Carv

alh

o

Somador/Subtractor binárioSomador/Subtractor binário

0 3 0

3

0 3

CICO

P

Q

S

=1

=1

=1

=1

A

B

Resultado

Controlo

Controlo Operação 0 A + B

1 A - B

x ⊕ 1 = xx ⊕ 0 = x

1++=− BABA


Top Related