SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
1
Circuitos Aritméticos Combinacionais
Tiago de Oliveira
2
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
3
Projeto de Circuitos Aritméticos
– Uma forma intuitiva de implementação de operações
aritméticas é através do uso de tabelas-verdade
descrevendo tais operações.
– Uma vez definida a tabela-verdade com as operações
aritméticas, basta implementar as respectivas funções
lógicas.
– Esta estratégia não é eficiente quando os vetores de
entrada (operandos A e B, por exemplo), têm um grande
número de bits, pois sabe-se que o tamanho da tabela-
verdade aumenta exponencialmente com o número de
sinais de entrada
4
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
5
Somador – Half-Adder (Meio Somador)
– Problema:
0 0 0 1
0 1 0 1
0 1 1 0
– Solução: Full-Adder (Somador Completo)
1011
0101
0110
0000
CoutSBA
+
1
S = A Ө B
Cout = A . B
6
Full-Adder (Somador Completo)
01011
11111
01101
10001
1
1
0
0
Y
0110
1000
1010
0000
SCarr
y
ZX
7
Full-Adder (Somador Completo) (continuação)
01011
11111
01101
10001
1
1
0
0
Y
0110
1000
1010
0000
SCarryZX
X Y Z
X Y Z
X Y Z
X Y Z
+
+
+
Carry = X Y Z + X Y Z +
X Y Z + X Y Z
8
Full-Adder (Somador Completo) (continuação)
01011
11111
01101
10001
1
1
0
0
Y
0110
1000
1010
0000
SCarryZX
X Y Z
X Y Z
+
S = X Y Z + X Y Z +
X Y Z + X Y Z
X Y Z
X Y Z
+
+
9
Full-Adder Utilizando Dois Half-Adder
10
Somador Paralelo de 4 bits
– Também conhecido como Somador Ripple Carry
11
Somador com Vai-Um Antecipado
– Também conhecido como Carry Look-Ahead Adder
– Utilização de duas novas variáveis:
• Pi = Ai Ө Bi (propagação do vai-um)
• Gi = Ai Bi (geração do vai)
– A soma e o carry podem ser computados da seguinte
forma:
• Si = Pi Ө Ci
• Ci+1 = Gi + Pi Ci
12
Somador com Vai-Um Antecipado (continuação)
– Expandindo a equação do carry, temos:
• C1 é o carry inicial (entrada)
• C2 = G1 + P1 Ci
• C3 = G2 + P2 C2 = G2 + P2 (G1 + P1 C1)
= G2 + P2 G1 + P2 P1 C1
• C4 = G3 + P3 C3
= G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C1
13
Gerador do Carry Look-Ahead
Look-ahead carry
generator
14
Somador Carry Look-Ahead de 4 bits
15
Comparação de Custo/Desempenho
– Comparação de custo e desempenho entre:
• Somador Carry Look-Ahead
• Somador Ripple Carry
– Levaremos em consideração duas métricas:
• Caminho Crítico
• Quantidade de portas lógicas gasta
16
Caminho Crítico
FAFAFAFAFAFAFAFA
22222221
Caminho Crítico do Somador Ripple Carry: 15 portas lógicas
Circuito Lógico do Somador Completo (FA)
17
Caminho Crítico (continuação)
Caminho Crítico do Somador Carry Look-Ahead: 4 portas lógicas
Gerador de
Carry
G8
P8A8
B8
C8
S8
2 1
1
Look-ahead carry
generator
18
Quantidade de Portas Lógicas
FAFAFAFA
5552
Somador Ripple Carry de 4 bits:
Circuito Lógico do Somador Completo (FA) = 5 portas lógicas
Total: 17 portas
lógicas
A última célula não
produz o vai-um
19
Quantidade de Portas Lógicas
Somador Carry Look-Ahead de 4 bits:
Look-ahead carry
generator
Total: 21 portas lógicas
20
Comentários sobre Custo/Desempenho
– Para operandos com uma grande quantidade de bits:
• O caminho crítico do somador carry look-ahead é menor se
comparado ao caminho crítico do somador ripple carry
• No entanto, o somador carry look-ahead gasta uma
quantidade bem mais significativa de portas lógicas do que o
somador ripple carry.
– Note que na geração do carry look-ahead existem portas
lógicas com uma grande quantidade de entradas, apesar da
implementação em dois níveis
– O somador com carry look-ahead gasta muita porta lógica
quando a quantidade de bits de entrada aumenta
21
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
22
Representação de Números Negativos
– Problema: Subtrair 2 de 1 = - 1
• Como representar o número negativo em binário?
– Solução:
• Sinal-magnitude (signed-magnitude)
• Sinal-complemento (signed-complement)
– complemento de um
– Complemento de dois
23
Números Negativos: Sinal-magnitude
– O bit mais significativo indica o sinal
• 0 => positivo
• 1 => negativo
– Os bits restantes indicam o valor absoluto
– Exemplo:
• (+12)10 = ( 0 0001100)2
• (-12)10 = ( 1 0001100)2
Bit de Sinal
24
Números Negativos: Complemento de Um
– O número negativo é representado pelo seu complemento
– Se o número for negativo:
• Inverter cada bit do valor absoluto
– Exemplo:
• (+12)10 = (0 0 0 0 1 1 0 0)2
• (-12)10 = (1 1 1 1 0 0 1 1)2
– O bit mais significativo ainda indica se o número é positivo ou
negativo:
• 0 => positivo
• 1 => negativo
– No entanto, para determinarmos o valor absoluto que
representa o número negativo temos que realizar um
determinado procedimento:
• Inverter todos os bits
Inverter todos os bits
25
Números Negativos: Complemento de Dois
– Para números negativos, realizamos o complemento de 1, invertendo
os bits, e depois somamos o valor “1”
– Da mesma forma que no complemento de um, o bit mais significativo
também indica se o número é positivo ou negativo:
• 0 => positivo
• 1 => negativo
– Exemplo:
• (+12)10 = (0 0 0 0 1 1 0 0)2
• (-12)10 => (0 0 0 0 1 1 0 0)2 – “12” em binário
1 1 1 1 0 0 1 1 – invertemos todos os bits (complemento de um)
0 0 0 0 0 0 0 1 – somamos “+1”
1 1 1 1 0 0 1 1
0 0 0 0 0 0 0 1
1 1 1 1 0 1 0 0
+
11
+
26
Complemento de Dois (continuação)
– Exemplo:
• (+0)10 = (0 0 0)2
• (-0)10 => (0 0 0)2 – “0” em binário
1 1 1 – invertemos todos os bits (complemento de um)
0 0 1 – somamos “+1”
1 1 1
0 0 1
1 0 0 0
+
11
+
Se houver vai-um (carry),
este deverá ser desprezado
27
Representação de Alguns Números
1000-8
111110001001-7
111010011010-6
110110101011-5
110010111100-4
101111001101-3
101011011110-2
100111101111-1
10001111-0
000000000000+0
000100010001+1
001000100010+2
001100110011+3
010001000100+4
010101010101+5
011001100110+6
011101110111+7
SINAL-MAGNITUDECOMPLEMENTO DE UMCOMPLEMENTO DE DOISDECIMAL
28
Comentários sobre as Representações
– Complemento de um e Sinal-Magnitude:
• Problema: duas representações distintas para o zero (0)
– Complemento de dois:
• Representa um número negativo a mais do que os
outros dois formatos
29
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
30
Soma/Subtração em Complemento de Dois
– Complemento de dois pode ser utilizado para
representar números negativos.
– Sendo assim, como podemos realizar a soma e a
subtração utilizando o complemento de dois?
– Regra: X + Y
• X pode ser positivo ou negativo em complemento de dois
• Y pode ser positivo ou negativo em complemento de dois
– Procedimento:
• Devemos apenas realizar a soma de modo convencional
• Na soma de números com sinal descartar o vai-um final
• O bit de sinal deve fazer parte do número quando
estivermos realizando a operação de soma
31
Soma em Complemento de Dois
– Regra: X + Y
– Exemplos:
Devemos descartar o
vai-um final
32
Subtração em Complemento de Dois
– Regra: X − Y
• X pode ser positivo ou negativo em complemento de dois
• Y pode ser positivo ou negativo em complemento de dois
– Procedimento:
• Devemos, primeiramente, realizar o complemento de dois de
Y
• Depois, devemos somar o operando X com o complemento
de dois de Y
• Na subtração de números com sinal descartar o vai-um final
• O bit de sinal deve fazer parte do número quando estivermos
realizando a operação de subtração
33
Subtração em Complemento de Dois (continuação)
– Exemplos:
• Realizar a subtração dos números com sinal abaixo:
Devemos descartar o
vai-um final
34
Subtração em Complemento de Dois (continuação)
– Curiosidade:
• (± A) − (+ B) = (± A) + (− B)
• (± A) − (− B) = (± A) + (+ B)
– Por isso, a subtração pode ser realizada através do
complemento de dois e da soma.
35
Circuito Somador/Subtrator de 4 bits
– Utilizando o complemento de dois para representar
números negativos, temos:
– Se S = 0, temos na saída do circuito A + B
– Se S = 1, temos na saída do circuito A − B
36
Overflow – Estouro de Representação
– Em um circuito digital já projetado e implementado, a
quantidade de bits utilizada para representar dados
(números, por exemplo) é fixa.
– Sendo assim, o que aconteceria se realizarmos a soma
dos seguintes números binários sem sinal:
1 1 1 1 (15)
0 0 0 1 (1)
1 1 1
+
1 0 0 0 0 (16)
Imagine um circuito com 4 bits
para a representação de dados
O número (16)10 não pode ser
representado com apenas 4 casas
– O vai-um final não pode ser utilizado para representar o
resultado, pois temos somente 4 bits.
– O vai-um final indica um overflow ou estouro de
representação
37
Overflow – Complemento de Dois
– E se estivermos trabalhando com números em
complemento de dois?
– Quando ocorre o overflow?
• O fato de ocorrer vai-um final não implica necessariamente
em overflow
– Regra para determinar o overflow:
• Observar o carry-in e o carry-out do bit mais significativo (bit
de sinal)
• Se os dois carries forem diferentes, ocorreu um overflow.
38
Overflow – Complemento de Dois (continuação)
– Exemplo:
0 1 0 0 0 1 1 0 (+ 70)
0 1 0 1 0 0 0 0 (+ 80)
1
+
1 0 0 1 0 1 1 0 (+ 150)
O carry_in = 1 e o carry_out = 0.
Portanto, ocorreu um overflow
Com 8 bits podemos representar
apenas de +127 até -128
39
Overflow – Complemento de Dois (continuação)
– Exemplo:
1 0 1 1 1 0 1 0 (- 70)
1 0 1 1 0 0 0 0 (- 80)
1 1 1
+
0 1 1 0 1 0 1 0 (- 150)
O carry_in = 0 e o carry_out = 1.
Portanto, ocorreu um overflow
Com 8 bits podemos representar
apenas de +127 até -128
40
Circuito para Detectar um Overflow
– Uma vez identificado um overflow, o processador deverá
gerar uma exceção e um programa especial deverá ser
chamado para o tratamento do erro.
– Em alguns casos, executa-se um procedimento para
avisar o usuário da ocorrência do overflow.
Detecta overflow de números com sinal
em complemento de dois (signed)
Detecta overflow de números sem sinal (unsigned)
41
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
42
Multiplicação
– Multiplicação utilizando um circuito combinacional
– Operandos de 2 bits cada
Operando A
Operando B
Resultado
Produto
parcial
43
Multiplicação (continuação)
– Operando A de 3 bits cada
– Operando B de 4 bits
B3 B2 B1 B0
A2 A1 A0
A0B3 A0B2 A0B1 A0B0
A1B3 A1B2 A1B1 A1B0
A2B3 A2B2 A2B1 A2B0
+
+
C6 C5 C4 C3 C2 C1 C0
x
AND dos B`s com A0
AND dos B`s com A1
AND dos B`s com A2
Precisamos de um
Somador de 4 bits
Precisamos de um
Somador de 4 bits
Resultado
44
Circuito do Multiplicador
45
Comentários sobre a Multiplicação
– Existem muitas maneiras diferentes de implementarmos o
circuito de multiplicação.
• Por exemplo, utilizando um circuito seqüencial
– Para evitarmos o overflow na multiplicação, precisamos de
uma saída contendo:
• Quantidade de bits do operando A + Quantidade de bits do
operando B
46
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
47
Comparador de Magnitude
– Para números sem sinal:
• O circuito deve indicar se dois números “A” e “B” são:
– Iguais: A == B
– Diferentes:
» A > B
» A < B
– Considere os números sem sinal:
– Para que A == B, todos os bits devem ser iguais entre A e B.
• Ai == Bi, i = 0, 1, 2, 3.
B = B3 B2 B1 B0
A = A3 A2 A1 A0
48
Comparador de Magnitude (continuação)
– Para que A == B, todos os bits devem ser iguais entre A e B.
• Ai == Bi, i = 0, 1, 2, 3.
– Isso pode ser conseguido com a função coincidência
• xi = Ai Bi + Ai Bi, i = 0, 1, 2, 3.
– Portanto:
• (A ==B) = x3 x2 x1 x0 Esta é a equação responsável
pelo circuito (A == B)
49
Comparador de Magnitude (continuação)
– Para que A > B ou A < B:
• Temos que percorrer o vetor binário, começando com o bit
mais significativo:
– Se A3 = 1 e B3 = 0, temos que A > B
– Se A3 = 0 e B3 = 1, temos que A < B
– Se A3 = 0 e B3 = 0, devemos analisar os bits A2 e B2
– Se A3 = 1 e B3 = 1, devemos analisar os bits A2 e B2
– Assim, temos:
• (A > B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0
• (A < B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0
Esta é a equação responsável
pelo circuito (A < B)
Esta é a equação responsável
pelo circuito (A > B)
50
Circuito Comparador de Magnitude
51
Comparação Utilizando a Subtração
– O complemento de dois e a operação de subtração podem ser
utilizados para a comparação de números sem sinal (unsigned)
– Procedimento:
• Realizar a subtração em complemento de dois
– M − N
» M é um número binário sem sinal
» N é um número binário sem sinal
– Como M − N = M + (− N), então:
» devemos realizar o complemento de dois de N
» e depois somar M com o complemento obtido.
– Se M ≥ N, então a soma acima produzirá um carry (vai-um)
» Se o resultado for igual a zero, então M == N
– Se M < N, então a soma não produzirá um carry.
52
Comparação Utilizando a Subtração (continuação)
– Quando realizamos a regra mostrada anteriormente para a comparação,
matematicamente temos:
M + (2n − N) = M − N + 2n (representação em decimal)
– Se M ≥ N, então a soma acima produzirá um carry (vai-um)
• Esse carry é justamente o 2n da expressão acima.
• Dessa forma, basta desprezarmos o vai-um para obtermos o valor M − N
– Se M < N, então a soma não produzirá um carry
• O resultado é um número negativo e devemos realizar o complemento
de dois da resposta para obtermos a magnitude correta do número
• Lembre-se de colocar um sinal de negativo (−) no resultado obtido
Quantidade de dígitos
do número N em binário
Para N ≠ 0, esta expressão representa o complemento de dois de N
Para N = 0, o complemento de dois é igual a zero
53
Comparação Utilizando a Subtração (continuação)
– Sendo assim, temos:
• Resposta = M − N + 2n
• Se fizermos o complemento de dois da resposta, temos:
2n − [M − N + 2n] = 2n − 2n – M + N= N – M
– Se M < N, então não haverá produção de carry.
– Basta realizarmos o complemento de dois do resultado e
colocarmos um sinal de negativo (–) na frente do número
obtido
• Com isso, representamos o número em sinal-magnitude
Isso representa o valor absouto (magnitude)
do resultado
54
Comparação Utilizando a Subtração (continuação)
– Exemplo (X – Y):
• X = 1010100 (Número sem sinal)
• Y = 1000011 (Número sem sinal)
Y = 1 0 0 0 0 1 1
0 1 1 1 1 0 0 (Inverter os bits)
+
0 0 0 0 0 0 1 (Somar 1)
0 1 1 1 1 0 1 (complemento de dois de Y)
• Como houve vai-um final, então A > B.
– Descartamos o vai-um e assim obtemos a resposta correta: 0010001
1 0 1 0 1 0 0 (X)
Vai-um final
+
1 0 0 1 0 0 0 1
0 1 1 1 1 0 1 (complemento de dois de Y)
• Realizar a Soma:
55
Comparação Utilizando a Subtração (continuação)
– Exemplo (Y – X):
• X = 1010100 (Número sem sinal)
• Y = 1000011 (Número sem sinal)
X = 1 0 1 0 1 0 0
0 1 0 1 0 1 1 (Inverter os bits)
+
0 0 0 0 0 0 1 (Somar 1)
0 1 0 1 1 0 0 (complemento de dois de Y)
• Como não houve vai-um final, então A < B.
– Devemos realizar o complemento de dois do resultado e colocar o
sinal de negativo na frente: − 0010001
1 0 0 0 0 1 1 (Y)
Não houve
Vai-um final
+
1 1 0 1 1 1 1
0 1 0 1 1 0 0 (complemento de dois de X)
• Realizar a Soma:
56
Tópicos deste Módulo
– Projeto de Circuitos Aritméticos
– Somadores
– Representação de Números Negativos
– Soma/Subtração em Complemento de Dois
– Multiplicação
– Comparadores de Magnitude
– Outros Blocos Aritméticos
57
Outros Blocos Aritméticos
– Divisores
– Números em ponto flutuante
• Uma palavra de N bits é dividida em duas partes:
– o expoente e
– a mantissa M
– Representação: M * Be, onde B é a base 2
– Incremento e Decremento
• Podemos reduzir o hardware quando trabalhamos com
constantes
– Multiplicação/Divisão por constantes
• Podemos reduzir o hardware quando trabalhamos com
constantes
– Funções trigonométricas
• Seno/Cosseno/Tangente
• Implementação de funções de aproximação
• Armazenamento de Tabelas contendo os resultados
– Zero fill e extensão de sinal
58
Zero Fill
0 1 1 0 1 0 1 1 (saída de um circuito qualquer que possui 8 bits)
0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 (entrada num circuito que possui 16 bits)
Preenchimento com zeros
59
Extensão de Sinal
0 1 1 0 1 0 1 1 (107 em decimal)
0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 (107 em decimal)
Preenchimento com zeros
– Número Positivo:
1 0 0 1 0 1 0 1 (−107 em decimal)
1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 (−107 em decimal)
Preenchimento com 1`s
– Número Negativo (complemento de dois):
60
Comentários sobre os Circuitos Aritméticos
– Blocos aritméticos também podem ser implementados utilizando
circuitos seqüenciais
– Existem muitas implementações diferentes para os blocos
aritméticos apresentados:
• Somadores:
– Carry save adder
– Carry select adder
– Carry look-ahead adder
– Ripple carry adder
– Implementações híbridas
• Multiplicadores:
– Utilizando circuitos combinacionais
– Utilizando circuitos seqüenciais
61
Sumário
– O somador ripple carry costuma ser mais lento do que o
somador com vai-um antecipado.
– No entanto, o somador com vai-um antecipado costuma ter um
custo maior.
– Podemos representar números negativos utilizando
complemento de dois:
• A subtração pode ser realizada utilizando o circuito digital de soma
– O circuito de multiplicação pode ser composto por um vários
somadores paralelos
– Comparadores de Magnitude:
• Podemos utilizar um circuito digital específico
• Podemos utilizar a subtração em complemento de dois e alguns
sinais de carry
– Existem diversos tipos de blocos aritméticos:
• Divisores/ Funções Trigonométricas/ Operações com Constantes/
Zero Fill/ Extensão de Sinal/ Implementações com circuitos
seqüenciais

Mais conteúdo relacionado

Mais procurados

Processamento digital de sinais
Processamento digital de sinaisProcessamento digital de sinais
Processamento digital de sinaisLuiz Henrique
 
Apostila Rsolvida de desenho tecnico
Apostila Rsolvida de desenho tecnicoApostila Rsolvida de desenho tecnico
Apostila Rsolvida de desenho tecnicoNome Sobrenome
 
Abnt nbr iso 4287 rugosidade - método do perfil - termos, definições e par...
Abnt nbr iso 4287    rugosidade - método do perfil - termos, definições e par...Abnt nbr iso 4287    rugosidade - método do perfil - termos, definições e par...
Abnt nbr iso 4287 rugosidade - método do perfil - termos, definições e par...Robsoncn
 
Exercícios Resolvidos: Equação da reta tangente
Exercícios Resolvidos: Equação da reta tangenteExercícios Resolvidos: Equação da reta tangente
Exercícios Resolvidos: Equação da reta tangenteDiego Oliveira
 
51725631 caderno-de-exercicios-desenho-tecnico (1)
51725631 caderno-de-exercicios-desenho-tecnico (1)51725631 caderno-de-exercicios-desenho-tecnico (1)
51725631 caderno-de-exercicios-desenho-tecnico (1)Heromo
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicionalAriel Rennó Chaves
 
Lei De Ampere
Lei De AmpereLei De Ampere
Lei De Amperedalgo
 
Tabela de identidades trigonometricas
Tabela de identidades trigonometricasTabela de identidades trigonometricas
Tabela de identidades trigonometricasRodrigo Sócrate
 
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...wilkerfilipel
 
Volume da Pirâmide
Volume da PirâmideVolume da Pirâmide
Volume da Pirâmideiglima1
 

Mais procurados (20)

Processamento digital de sinais
Processamento digital de sinaisProcessamento digital de sinais
Processamento digital de sinais
 
Apostila Rsolvida de desenho tecnico
Apostila Rsolvida de desenho tecnicoApostila Rsolvida de desenho tecnico
Apostila Rsolvida de desenho tecnico
 
Transistor bipolar de juncao (tbj) 2
Transistor bipolar de juncao (tbj)   2Transistor bipolar de juncao (tbj)   2
Transistor bipolar de juncao (tbj) 2
 
Transistor bipolar de juncao (TBJ) 1
Transistor bipolar de juncao (TBJ)   1Transistor bipolar de juncao (TBJ)   1
Transistor bipolar de juncao (TBJ) 1
 
Abnt nbr iso 4287 rugosidade - método do perfil - termos, definições e par...
Abnt nbr iso 4287    rugosidade - método do perfil - termos, definições e par...Abnt nbr iso 4287    rugosidade - método do perfil - termos, definições e par...
Abnt nbr iso 4287 rugosidade - método do perfil - termos, definições e par...
 
Distribuição normal
Distribuição normalDistribuição normal
Distribuição normal
 
Relatório de snell
Relatório de snellRelatório de snell
Relatório de snell
 
Estruturas Cristalinas
Estruturas CristalinasEstruturas Cristalinas
Estruturas Cristalinas
 
Exercícios Resolvidos: Equação da reta tangente
Exercícios Resolvidos: Equação da reta tangenteExercícios Resolvidos: Equação da reta tangente
Exercícios Resolvidos: Equação da reta tangente
 
4 cinematica dos fluidos exercícios
4 cinematica dos fluidos exercícios4 cinematica dos fluidos exercícios
4 cinematica dos fluidos exercícios
 
Lista
ListaLista
Lista
 
51725631 caderno-de-exercicios-desenho-tecnico (1)
51725631 caderno-de-exercicios-desenho-tecnico (1)51725631 caderno-de-exercicios-desenho-tecnico (1)
51725631 caderno-de-exercicios-desenho-tecnico (1)
 
Aula 6 probabilidade condicional
Aula 6   probabilidade condicionalAula 6   probabilidade condicional
Aula 6 probabilidade condicional
 
Lei De Ampere
Lei De AmpereLei De Ampere
Lei De Ampere
 
Diodos especiais
Diodos especiaisDiodos especiais
Diodos especiais
 
Tabela de identidades trigonometricas
Tabela de identidades trigonometricasTabela de identidades trigonometricas
Tabela de identidades trigonometricas
 
Raciocinio Lógico
Raciocinio LógicoRaciocinio Lógico
Raciocinio Lógico
 
Teorema da superposição
Teorema da superposiçãoTeorema da superposição
Teorema da superposição
 
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...
Estatística (exercícios resolvidos - Gráficos, amplitude, médio, desvio padrã...
 
Volume da Pirâmide
Volume da PirâmideVolume da Pirâmide
Volume da Pirâmide
 

Semelhante a Circuitos aritmeticos

Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacionalelliando dias
 
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdfAula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdfWilliamAlbertassi1
 
Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Jefferson Silva
 
Aritmetica binaria complemento
Aritmetica binaria complementoAritmetica binaria complemento
Aritmetica binaria complementoPaulo Henrique
 
Recuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRecuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRafael Marques
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOCarlos Pereira
 
PPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdfPPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdfJosianeRezende11
 
Arquitetura 4 complemento de 2
Arquitetura 4   complemento de 2Arquitetura 4   complemento de 2
Arquitetura 4 complemento de 2Paulo Fonseca
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informaçãoLuis Lino Ferreira
 
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdf
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdfn12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdf
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdfCarlosPereira558606
 

Semelhante a Circuitos aritmeticos (20)

Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdfAula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf
Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf
 
Org arq comp_2008_aula_09
Org arq comp_2008_aula_09Org arq comp_2008_aula_09
Org arq comp_2008_aula_09
 
aula6ads.pdf
aula6ads.pdfaula6ads.pdf
aula6ads.pdf
 
Circuitos Aritméticos
Circuitos AritméticosCircuitos Aritméticos
Circuitos Aritméticos
 
Aritmetica binaria complemento
Aritmetica binaria complementoAritmetica binaria complemento
Aritmetica binaria complemento
 
Recuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRecuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestre
 
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃOSISTEMAS digitais SISTEMAS DE NUMERAÇÃO
SISTEMAS digitais SISTEMAS DE NUMERAÇÃO
 
Aritmética Digital
Aritmética DigitalAritmética Digital
Aritmética Digital
 
PPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdfPPT_02_CalculoNumerico.pptx.pdf
PPT_02_CalculoNumerico.pptx.pdf
 
Apostila digital cefetes
Apostila digital cefetesApostila digital cefetes
Apostila digital cefetes
 
Ponto Flutuante
Ponto FlutuantePonto Flutuante
Ponto Flutuante
 
aula_03.pdf
aula_03.pdfaula_03.pdf
aula_03.pdf
 
Apostila clic2
Apostila clic2Apostila clic2
Apostila clic2
 
Arquitetura 4 complemento de 2
Arquitetura 4   complemento de 2Arquitetura 4   complemento de 2
Arquitetura 4 complemento de 2
 
Arquitetura 3
Arquitetura 3Arquitetura 3
Arquitetura 3
 
Tp representação de informação
Tp   representação de informaçãoTp   representação de informação
Tp representação de informação
 
Introdução
IntroduçãoIntrodução
Introdução
 
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdf
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdfn12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdf
n12-pra-ufcd-6024-13-circuitos-logicospdf_compress (1).pdf
 
Sistemas de numeracao .ppt
 Sistemas de numeracao .ppt Sistemas de numeracao .ppt
Sistemas de numeracao .ppt
 

Mais de unifesptk

Projeto ula
Projeto ula Projeto ula
Projeto ula unifesptk
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremasunifesptk
 
Covariancia e correlacao
Covariancia e correlacaoCovariancia e correlacao
Covariancia e correlacaounifesptk
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programmingunifesptk
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetosunifesptk
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIunifesptk
 
Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitaisunifesptk
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladoresunifesptk
 
Unix shell programming in 24 hours
Unix shell programming in 24 hoursUnix shell programming in 24 hours
Unix shell programming in 24 hoursunifesptk
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-toolunifesptk
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linearunifesptk
 
Notas de Aula de Probabilidade
Notas de Aula de ProbabilidadeNotas de Aula de Probabilidade
Notas de Aula de Probabilidadeunifesptk
 

Mais de unifesptk (17)

Projeto ula
Projeto ula Projeto ula
Projeto ula
 
Projeto ULA
Projeto ULAProjeto ULA
Projeto ULA
 
Algebra linear teoremas
Algebra linear teoremasAlgebra linear teoremas
Algebra linear teoremas
 
Covariancia e correlacao
Covariancia e correlacaoCovariancia e correlacao
Covariancia e correlacao
 
Pratical mpi programming
Pratical mpi programmingPratical mpi programming
Pratical mpi programming
 
Lista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a ObjetosLista IV de Programação Orientada a Objetos
Lista IV de Programação Orientada a Objetos
 
Aprendendo a mexer no quartus II
Aprendendo a mexer no quartus IIAprendendo a mexer no quartus II
Aprendendo a mexer no quartus II
 
Lexyacc
LexyaccLexyacc
Lexyacc
 
Apostila - Circuitos Digitais
Apostila - Circuitos DigitaisApostila - Circuitos Digitais
Apostila - Circuitos Digitais
 
Trabalho Final de Compiladores
Trabalho Final de CompiladoresTrabalho Final de Compiladores
Trabalho Final de Compiladores
 
Lista II
Lista IILista II
Lista II
 
Unix shell programming in 24 hours
Unix shell programming in 24 hoursUnix shell programming in 24 hours
Unix shell programming in 24 hours
 
Pcd
PcdPcd
Pcd
 
Tutorial poke-tool
Tutorial poke-toolTutorial poke-tool
Tutorial poke-tool
 
Pcd lista5
Pcd lista5Pcd lista5
Pcd lista5
 
Trabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra LinearTrabalho 5 - Aĺgebra Linear
Trabalho 5 - Aĺgebra Linear
 
Notas de Aula de Probabilidade
Notas de Aula de ProbabilidadeNotas de Aula de Probabilidade
Notas de Aula de Probabilidade
 

Último

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptxpamelacastro71
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 

Último (20)

QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Aula 1, 2 Bacterias Características e Morfologia.pptx
Aula 1, 2  Bacterias Características e Morfologia.pptxAula 1, 2  Bacterias Características e Morfologia.pptx
Aula 1, 2 Bacterias Características e Morfologia.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 

Circuitos aritmeticos

  • 1. 1 Circuitos Aritméticos Combinacionais Tiago de Oliveira 2 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos
  • 2. 3 Projeto de Circuitos Aritméticos – Uma forma intuitiva de implementação de operações aritméticas é através do uso de tabelas-verdade descrevendo tais operações. – Uma vez definida a tabela-verdade com as operações aritméticas, basta implementar as respectivas funções lógicas. – Esta estratégia não é eficiente quando os vetores de entrada (operandos A e B, por exemplo), têm um grande número de bits, pois sabe-se que o tamanho da tabela- verdade aumenta exponencialmente com o número de sinais de entrada 4 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos
  • 3. 5 Somador – Half-Adder (Meio Somador) – Problema: 0 0 0 1 0 1 0 1 0 1 1 0 – Solução: Full-Adder (Somador Completo) 1011 0101 0110 0000 CoutSBA + 1 S = A Ө B Cout = A . B 6 Full-Adder (Somador Completo) 01011 11111 01101 10001 1 1 0 0 Y 0110 1000 1010 0000 SCarr y ZX
  • 4. 7 Full-Adder (Somador Completo) (continuação) 01011 11111 01101 10001 1 1 0 0 Y 0110 1000 1010 0000 SCarryZX X Y Z X Y Z X Y Z X Y Z + + + Carry = X Y Z + X Y Z + X Y Z + X Y Z 8 Full-Adder (Somador Completo) (continuação) 01011 11111 01101 10001 1 1 0 0 Y 0110 1000 1010 0000 SCarryZX X Y Z X Y Z + S = X Y Z + X Y Z + X Y Z + X Y Z X Y Z X Y Z + +
  • 5. 9 Full-Adder Utilizando Dois Half-Adder 10 Somador Paralelo de 4 bits – Também conhecido como Somador Ripple Carry
  • 6. 11 Somador com Vai-Um Antecipado – Também conhecido como Carry Look-Ahead Adder – Utilização de duas novas variáveis: • Pi = Ai Ө Bi (propagação do vai-um) • Gi = Ai Bi (geração do vai) – A soma e o carry podem ser computados da seguinte forma: • Si = Pi Ө Ci • Ci+1 = Gi + Pi Ci 12 Somador com Vai-Um Antecipado (continuação) – Expandindo a equação do carry, temos: • C1 é o carry inicial (entrada) • C2 = G1 + P1 Ci • C3 = G2 + P2 C2 = G2 + P2 (G1 + P1 C1) = G2 + P2 G1 + P2 P1 C1 • C4 = G3 + P3 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C1
  • 7. 13 Gerador do Carry Look-Ahead Look-ahead carry generator 14 Somador Carry Look-Ahead de 4 bits
  • 8. 15 Comparação de Custo/Desempenho – Comparação de custo e desempenho entre: • Somador Carry Look-Ahead • Somador Ripple Carry – Levaremos em consideração duas métricas: • Caminho Crítico • Quantidade de portas lógicas gasta 16 Caminho Crítico FAFAFAFAFAFAFAFA 22222221 Caminho Crítico do Somador Ripple Carry: 15 portas lógicas Circuito Lógico do Somador Completo (FA)
  • 9. 17 Caminho Crítico (continuação) Caminho Crítico do Somador Carry Look-Ahead: 4 portas lógicas Gerador de Carry G8 P8A8 B8 C8 S8 2 1 1 Look-ahead carry generator 18 Quantidade de Portas Lógicas FAFAFAFA 5552 Somador Ripple Carry de 4 bits: Circuito Lógico do Somador Completo (FA) = 5 portas lógicas Total: 17 portas lógicas A última célula não produz o vai-um
  • 10. 19 Quantidade de Portas Lógicas Somador Carry Look-Ahead de 4 bits: Look-ahead carry generator Total: 21 portas lógicas 20 Comentários sobre Custo/Desempenho – Para operandos com uma grande quantidade de bits: • O caminho crítico do somador carry look-ahead é menor se comparado ao caminho crítico do somador ripple carry • No entanto, o somador carry look-ahead gasta uma quantidade bem mais significativa de portas lógicas do que o somador ripple carry. – Note que na geração do carry look-ahead existem portas lógicas com uma grande quantidade de entradas, apesar da implementação em dois níveis – O somador com carry look-ahead gasta muita porta lógica quando a quantidade de bits de entrada aumenta
  • 11. 21 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos 22 Representação de Números Negativos – Problema: Subtrair 2 de 1 = - 1 • Como representar o número negativo em binário? – Solução: • Sinal-magnitude (signed-magnitude) • Sinal-complemento (signed-complement) – complemento de um – Complemento de dois
  • 12. 23 Números Negativos: Sinal-magnitude – O bit mais significativo indica o sinal • 0 => positivo • 1 => negativo – Os bits restantes indicam o valor absoluto – Exemplo: • (+12)10 = ( 0 0001100)2 • (-12)10 = ( 1 0001100)2 Bit de Sinal 24 Números Negativos: Complemento de Um – O número negativo é representado pelo seu complemento – Se o número for negativo: • Inverter cada bit do valor absoluto – Exemplo: • (+12)10 = (0 0 0 0 1 1 0 0)2 • (-12)10 = (1 1 1 1 0 0 1 1)2 – O bit mais significativo ainda indica se o número é positivo ou negativo: • 0 => positivo • 1 => negativo – No entanto, para determinarmos o valor absoluto que representa o número negativo temos que realizar um determinado procedimento: • Inverter todos os bits Inverter todos os bits
  • 13. 25 Números Negativos: Complemento de Dois – Para números negativos, realizamos o complemento de 1, invertendo os bits, e depois somamos o valor “1” – Da mesma forma que no complemento de um, o bit mais significativo também indica se o número é positivo ou negativo: • 0 => positivo • 1 => negativo – Exemplo: • (+12)10 = (0 0 0 0 1 1 0 0)2 • (-12)10 => (0 0 0 0 1 1 0 0)2 – “12” em binário 1 1 1 1 0 0 1 1 – invertemos todos os bits (complemento de um) 0 0 0 0 0 0 0 1 – somamos “+1” 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 + 11 + 26 Complemento de Dois (continuação) – Exemplo: • (+0)10 = (0 0 0)2 • (-0)10 => (0 0 0)2 – “0” em binário 1 1 1 – invertemos todos os bits (complemento de um) 0 0 1 – somamos “+1” 1 1 1 0 0 1 1 0 0 0 + 11 + Se houver vai-um (carry), este deverá ser desprezado
  • 14. 27 Representação de Alguns Números 1000-8 111110001001-7 111010011010-6 110110101011-5 110010111100-4 101111001101-3 101011011110-2 100111101111-1 10001111-0 000000000000+0 000100010001+1 001000100010+2 001100110011+3 010001000100+4 010101010101+5 011001100110+6 011101110111+7 SINAL-MAGNITUDECOMPLEMENTO DE UMCOMPLEMENTO DE DOISDECIMAL 28 Comentários sobre as Representações – Complemento de um e Sinal-Magnitude: • Problema: duas representações distintas para o zero (0) – Complemento de dois: • Representa um número negativo a mais do que os outros dois formatos
  • 15. 29 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos 30 Soma/Subtração em Complemento de Dois – Complemento de dois pode ser utilizado para representar números negativos. – Sendo assim, como podemos realizar a soma e a subtração utilizando o complemento de dois? – Regra: X + Y • X pode ser positivo ou negativo em complemento de dois • Y pode ser positivo ou negativo em complemento de dois – Procedimento: • Devemos apenas realizar a soma de modo convencional • Na soma de números com sinal descartar o vai-um final • O bit de sinal deve fazer parte do número quando estivermos realizando a operação de soma
  • 16. 31 Soma em Complemento de Dois – Regra: X + Y – Exemplos: Devemos descartar o vai-um final 32 Subtração em Complemento de Dois – Regra: X − Y • X pode ser positivo ou negativo em complemento de dois • Y pode ser positivo ou negativo em complemento de dois – Procedimento: • Devemos, primeiramente, realizar o complemento de dois de Y • Depois, devemos somar o operando X com o complemento de dois de Y • Na subtração de números com sinal descartar o vai-um final • O bit de sinal deve fazer parte do número quando estivermos realizando a operação de subtração
  • 17. 33 Subtração em Complemento de Dois (continuação) – Exemplos: • Realizar a subtração dos números com sinal abaixo: Devemos descartar o vai-um final 34 Subtração em Complemento de Dois (continuação) – Curiosidade: • (± A) − (+ B) = (± A) + (− B) • (± A) − (− B) = (± A) + (+ B) – Por isso, a subtração pode ser realizada através do complemento de dois e da soma.
  • 18. 35 Circuito Somador/Subtrator de 4 bits – Utilizando o complemento de dois para representar números negativos, temos: – Se S = 0, temos na saída do circuito A + B – Se S = 1, temos na saída do circuito A − B 36 Overflow – Estouro de Representação – Em um circuito digital já projetado e implementado, a quantidade de bits utilizada para representar dados (números, por exemplo) é fixa. – Sendo assim, o que aconteceria se realizarmos a soma dos seguintes números binários sem sinal: 1 1 1 1 (15) 0 0 0 1 (1) 1 1 1 + 1 0 0 0 0 (16) Imagine um circuito com 4 bits para a representação de dados O número (16)10 não pode ser representado com apenas 4 casas – O vai-um final não pode ser utilizado para representar o resultado, pois temos somente 4 bits. – O vai-um final indica um overflow ou estouro de representação
  • 19. 37 Overflow – Complemento de Dois – E se estivermos trabalhando com números em complemento de dois? – Quando ocorre o overflow? • O fato de ocorrer vai-um final não implica necessariamente em overflow – Regra para determinar o overflow: • Observar o carry-in e o carry-out do bit mais significativo (bit de sinal) • Se os dois carries forem diferentes, ocorreu um overflow. 38 Overflow – Complemento de Dois (continuação) – Exemplo: 0 1 0 0 0 1 1 0 (+ 70) 0 1 0 1 0 0 0 0 (+ 80) 1 + 1 0 0 1 0 1 1 0 (+ 150) O carry_in = 1 e o carry_out = 0. Portanto, ocorreu um overflow Com 8 bits podemos representar apenas de +127 até -128
  • 20. 39 Overflow – Complemento de Dois (continuação) – Exemplo: 1 0 1 1 1 0 1 0 (- 70) 1 0 1 1 0 0 0 0 (- 80) 1 1 1 + 0 1 1 0 1 0 1 0 (- 150) O carry_in = 0 e o carry_out = 1. Portanto, ocorreu um overflow Com 8 bits podemos representar apenas de +127 até -128 40 Circuito para Detectar um Overflow – Uma vez identificado um overflow, o processador deverá gerar uma exceção e um programa especial deverá ser chamado para o tratamento do erro. – Em alguns casos, executa-se um procedimento para avisar o usuário da ocorrência do overflow. Detecta overflow de números com sinal em complemento de dois (signed) Detecta overflow de números sem sinal (unsigned)
  • 21. 41 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos 42 Multiplicação – Multiplicação utilizando um circuito combinacional – Operandos de 2 bits cada Operando A Operando B Resultado Produto parcial
  • 22. 43 Multiplicação (continuação) – Operando A de 3 bits cada – Operando B de 4 bits B3 B2 B1 B0 A2 A1 A0 A0B3 A0B2 A0B1 A0B0 A1B3 A1B2 A1B1 A1B0 A2B3 A2B2 A2B1 A2B0 + + C6 C5 C4 C3 C2 C1 C0 x AND dos B`s com A0 AND dos B`s com A1 AND dos B`s com A2 Precisamos de um Somador de 4 bits Precisamos de um Somador de 4 bits Resultado 44 Circuito do Multiplicador
  • 23. 45 Comentários sobre a Multiplicação – Existem muitas maneiras diferentes de implementarmos o circuito de multiplicação. • Por exemplo, utilizando um circuito seqüencial – Para evitarmos o overflow na multiplicação, precisamos de uma saída contendo: • Quantidade de bits do operando A + Quantidade de bits do operando B 46 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos
  • 24. 47 Comparador de Magnitude – Para números sem sinal: • O circuito deve indicar se dois números “A” e “B” são: – Iguais: A == B – Diferentes: » A > B » A < B – Considere os números sem sinal: – Para que A == B, todos os bits devem ser iguais entre A e B. • Ai == Bi, i = 0, 1, 2, 3. B = B3 B2 B1 B0 A = A3 A2 A1 A0 48 Comparador de Magnitude (continuação) – Para que A == B, todos os bits devem ser iguais entre A e B. • Ai == Bi, i = 0, 1, 2, 3. – Isso pode ser conseguido com a função coincidência • xi = Ai Bi + Ai Bi, i = 0, 1, 2, 3. – Portanto: • (A ==B) = x3 x2 x1 x0 Esta é a equação responsável pelo circuito (A == B)
  • 25. 49 Comparador de Magnitude (continuação) – Para que A > B ou A < B: • Temos que percorrer o vetor binário, começando com o bit mais significativo: – Se A3 = 1 e B3 = 0, temos que A > B – Se A3 = 0 e B3 = 1, temos que A < B – Se A3 = 0 e B3 = 0, devemos analisar os bits A2 e B2 – Se A3 = 1 e B3 = 1, devemos analisar os bits A2 e B2 – Assim, temos: • (A > B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0 • (A < B) = A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0 Esta é a equação responsável pelo circuito (A < B) Esta é a equação responsável pelo circuito (A > B) 50 Circuito Comparador de Magnitude
  • 26. 51 Comparação Utilizando a Subtração – O complemento de dois e a operação de subtração podem ser utilizados para a comparação de números sem sinal (unsigned) – Procedimento: • Realizar a subtração em complemento de dois – M − N » M é um número binário sem sinal » N é um número binário sem sinal – Como M − N = M + (− N), então: » devemos realizar o complemento de dois de N » e depois somar M com o complemento obtido. – Se M ≥ N, então a soma acima produzirá um carry (vai-um) » Se o resultado for igual a zero, então M == N – Se M < N, então a soma não produzirá um carry. 52 Comparação Utilizando a Subtração (continuação) – Quando realizamos a regra mostrada anteriormente para a comparação, matematicamente temos: M + (2n − N) = M − N + 2n (representação em decimal) – Se M ≥ N, então a soma acima produzirá um carry (vai-um) • Esse carry é justamente o 2n da expressão acima. • Dessa forma, basta desprezarmos o vai-um para obtermos o valor M − N – Se M < N, então a soma não produzirá um carry • O resultado é um número negativo e devemos realizar o complemento de dois da resposta para obtermos a magnitude correta do número • Lembre-se de colocar um sinal de negativo (−) no resultado obtido Quantidade de dígitos do número N em binário Para N ≠ 0, esta expressão representa o complemento de dois de N Para N = 0, o complemento de dois é igual a zero
  • 27. 53 Comparação Utilizando a Subtração (continuação) – Sendo assim, temos: • Resposta = M − N + 2n • Se fizermos o complemento de dois da resposta, temos: 2n − [M − N + 2n] = 2n − 2n – M + N= N – M – Se M < N, então não haverá produção de carry. – Basta realizarmos o complemento de dois do resultado e colocarmos um sinal de negativo (–) na frente do número obtido • Com isso, representamos o número em sinal-magnitude Isso representa o valor absouto (magnitude) do resultado 54 Comparação Utilizando a Subtração (continuação) – Exemplo (X – Y): • X = 1010100 (Número sem sinal) • Y = 1000011 (Número sem sinal) Y = 1 0 0 0 0 1 1 0 1 1 1 1 0 0 (Inverter os bits) + 0 0 0 0 0 0 1 (Somar 1) 0 1 1 1 1 0 1 (complemento de dois de Y) • Como houve vai-um final, então A > B. – Descartamos o vai-um e assim obtemos a resposta correta: 0010001 1 0 1 0 1 0 0 (X) Vai-um final + 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 (complemento de dois de Y) • Realizar a Soma:
  • 28. 55 Comparação Utilizando a Subtração (continuação) – Exemplo (Y – X): • X = 1010100 (Número sem sinal) • Y = 1000011 (Número sem sinal) X = 1 0 1 0 1 0 0 0 1 0 1 0 1 1 (Inverter os bits) + 0 0 0 0 0 0 1 (Somar 1) 0 1 0 1 1 0 0 (complemento de dois de Y) • Como não houve vai-um final, então A < B. – Devemos realizar o complemento de dois do resultado e colocar o sinal de negativo na frente: − 0010001 1 0 0 0 0 1 1 (Y) Não houve Vai-um final + 1 1 0 1 1 1 1 0 1 0 1 1 0 0 (complemento de dois de X) • Realizar a Soma: 56 Tópicos deste Módulo – Projeto de Circuitos Aritméticos – Somadores – Representação de Números Negativos – Soma/Subtração em Complemento de Dois – Multiplicação – Comparadores de Magnitude – Outros Blocos Aritméticos
  • 29. 57 Outros Blocos Aritméticos – Divisores – Números em ponto flutuante • Uma palavra de N bits é dividida em duas partes: – o expoente e – a mantissa M – Representação: M * Be, onde B é a base 2 – Incremento e Decremento • Podemos reduzir o hardware quando trabalhamos com constantes – Multiplicação/Divisão por constantes • Podemos reduzir o hardware quando trabalhamos com constantes – Funções trigonométricas • Seno/Cosseno/Tangente • Implementação de funções de aproximação • Armazenamento de Tabelas contendo os resultados – Zero fill e extensão de sinal 58 Zero Fill 0 1 1 0 1 0 1 1 (saída de um circuito qualquer que possui 8 bits) 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 (entrada num circuito que possui 16 bits) Preenchimento com zeros
  • 30. 59 Extensão de Sinal 0 1 1 0 1 0 1 1 (107 em decimal) 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 (107 em decimal) Preenchimento com zeros – Número Positivo: 1 0 0 1 0 1 0 1 (−107 em decimal) 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 (−107 em decimal) Preenchimento com 1`s – Número Negativo (complemento de dois): 60 Comentários sobre os Circuitos Aritméticos – Blocos aritméticos também podem ser implementados utilizando circuitos seqüenciais – Existem muitas implementações diferentes para os blocos aritméticos apresentados: • Somadores: – Carry save adder – Carry select adder – Carry look-ahead adder – Ripple carry adder – Implementações híbridas • Multiplicadores: – Utilizando circuitos combinacionais – Utilizando circuitos seqüenciais
  • 31. 61 Sumário – O somador ripple carry costuma ser mais lento do que o somador com vai-um antecipado. – No entanto, o somador com vai-um antecipado costuma ter um custo maior. – Podemos representar números negativos utilizando complemento de dois: • A subtração pode ser realizada utilizando o circuito digital de soma – O circuito de multiplicação pode ser composto por um vários somadores paralelos – Comparadores de Magnitude: • Podemos utilizar um circuito digital específico • Podemos utilizar a subtração em complemento de dois e alguns sinais de carry – Existem diversos tipos de blocos aritméticos: • Divisores/ Funções Trigonométricas/ Operações com Constantes/ Zero Fill/ Extensão de Sinal/ Implementações com circuitos seqüenciais