Вы находитесь на странице: 1из 21

Universidade Federal de Pelotas

Instituto de Física e Matemática


Departamento de Informática
Bacharelado em Ciência da Computação

Técnicas Digitais
Aula 16
4. Circuitos Combinacionais: o multiplicador
matricial, deslocadores, projeto de uma ULA.

Profs. José Luís Güntzel & Luciano Agostini


{guntzel,agostini}@ufpel.edu.br
www.ufpel.edu.br/~guntzel/TD/TD.html
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
Exemplo 1
1100 (12) multiplicando

x 0110 (6) multiplicador

0000 1o produto parcial =zero

+ 1100 2o produto parcial = multiplicando

1100 3o produto parcial = multiplicando

0000 4o produto parcial =zero

1001000 (72) resultado

• São 4 produtos parciais a serem somados


• Porém, os somadores vistos até agora só podem somar dois
números por vez!!!
ComputaçãoUFPel slide 16.2 Profs. Güntzel & Agostini
Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
Exemplo 1: reorganizando…
1100 (12) multiplicando
x 0110 (6) multiplicador

+ 0000 1o produto parcial (= zero)

1100 2o produto parcial (= multiplicando)

11000
+
1100 3o produto parcial (= multiplicando)

1001000
+
0000 4o produto parcial (= zero)

1001000 (72) resultado

ComputaçãoUFPel slide 16.3 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
Exemplo 2: 1111 (15) multiplicando

x 1111 (15) multiplicador

+ 1111 1o produto parcial (= multiplicando)

1111 2o produto parcial (= multiplicando)

101101
+
1111 3o produto parcial (= multiplicando)

1101001
+
1111 4o produto parcial (= multiplicando)

11100001 (225) resultado

• Conclusão: n bits x m bits até n+m bits


ComputaçãoUFPel slide 16.4 Profs. Güntzel & Agostini
Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
Mas como multiplicar 2 números de 1 bit cada?

0 0 1 1
x x x x
0 1 0 1

0 0 0 1

• Resulta 1 sse os dois bits valem 1 operação E


• Nunca ocorre overflow!

ComputaçãoUFPel slide 16.5 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)

Generalização
B2 B1 B0 ← multiplicando

x A2 A1 A0 ← multiplicador

1a adição A0 B2 A0 B1 A0 B0 ← 10 produto parcial

+ 2a adição A1 B2 A1 B1 A1 B0 - ← 20 produto parcial

A2 B2 A2 B1 A2 B0 - - ← 30 produto parcial

M5 M4 M3 M2 M1 M0 ← resultado

ComputaçãoUFPel slide 16.6 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
O Multiplicador Matricial A0 B2 A0 B1 A0 B0

A1 B2 A1 B1 A1 B0

A2 B2 A2 B1 A2 B0 Carry out
Somador de 3 bits

Carry out
Somador de 3 bits

M5 M4 M3 M2 M1 M0

ComputaçãoUFPel slide 16.7 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
O Símbolo do Multiplicador no Nível RT

X Y
3 3

*
6

ComputaçãoUFPel slide 16.8 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Multiplicação Binária (números sem sinal)
Pergunta: qual é o custo de um multiplicador como este?
Resposta:
2 x custo do somador de 3 bits
+ A1 B2 A1 B1 A1 B0
A0 B2 A0 B1 A0 B0

9 x custo de uma NAND de 2 entradas 0

+ A2 B2 A2 B1 A2 B0 carry
out
Somador de 3 bits

9 x custo de um inversor
carry
out Somador de 3 bits

M5 M4 M3 M2 M1 M0

ComputaçãoUFPel slide 16.9 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Deslocamento de bits (shift)
Um deslocador (shifter) com uso de multiplexadores 2:1
A3 A2 A1 A0

entrada
serial

desloca

0 1 0 1 0 1 0 1

S3 S2 S1 S0

• Se desloca=1, este circuito desloca cada bit uma posição para a


esquerda
• Qual é o significado desta operação?
ComputaçãoUFPel slide 16.10 Profs. Güntzel & Agostini
Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Deslocamento de bits (shift)
Outro deslocador (shifter) com uso de multiplexadores 2:1
A3 A2 A1 A0

entrada
serial
desloca

1 0 1 0 1 0 1 0

S3 S2 S1 S0

• Se desloca=1, este circuito desloca cada bit uma posição para a


direita
• Qual é o significado desta operação?
ComputaçãoUFPel slide 16.11 Profs. Güntzel & Agostini
Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
M S1 S0 nome da função
0 0 0 complementa
0 0 1 E
extensor 0 1 0 identidade
lógico 0 1 1 OU
1 0 0 decrementa
a3 b3 a2 b2 a1 b1 a0 b0 1 0 1 soma
1 1 0 subtrai
1 1 1 incrementa

extensor
EL EA EL EA EL EA EL EA
aritmético

x3 y3 x2 y2 x1 y1 x0 y0
c3 c2 c1
c4 SC SC SC SC c0

f3 f2 f1 f0

ComputaçãoUFPel slide 16.12 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
M S1 S0 nome da função F X Y C0
0 0 0 complementa A’ A’ 0 0
0 0 1 E AEB AEB 0 0
0 1 0 identidade A A 0 0
0 1 1 OU A OU B A OU B 0 0
1 0 0 decrementa A-1 A todos 1s 0
1 0 1 soma A+B A B 0
1 1 0 subtrai A+B’+1 A B’ 1
1 1 1 incrementa A+1 A todos 0s 1

a3 b3 a2 b2 a1 b1 a0 b0

EL EA EL EA EL EA EL EA

x3 y3 x2 y2 x1 y1 x0 y0
c4 SC c3 SC c2 SC c1 SC c0

f3 f2 f1 f0

ComputaçãoUFPel slide 16.13 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
M S1 S0 nome da função F X Y C0
Projeto do 0 0 0 complementa A’ A’ 0 0
0 0 1 E AEB AEB 0 0
“Extensor Aritmético” 0
0
1
1
0
1
identidade
OU
A
A OU B
A
A OU B
0
0
0
0
1 0 0 decrementa A-1 A todos 1s 0
1 0 1 soma A+B A B 0
1 1 0 subtrai A+B’+1 A B’ 1
1 1 1 incrementa A+1 A todos 0s 1

a3 b3 a2 b2 a1 b1 a0 b0
Se M=1, yi:
S1 S0 bi yi
0 0 0 1
0 0 1 1
0 1 0 0
EL EA EL EA EL EA EL EA
0 1 1 1
1 0 0 1
x3 y3 x2 y2 x1 y1 x0 y0 1 0 1 0
c4 SC c3 SC c2 SC c1 SC c0 1 1 0 0
1 1 1 0

Se M=0, yi=0
f3 f2 f1 f0

ComputaçãoUFPel slide 16.14 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Projeto do “Extensor Aritmético”
S1 S0 bi yi
S1S0 00 01 11 10
0 0 0 1 bi
0 0 1 1 0 1 0 0 1
0 1 0 0 1 1 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0 yi = S1’.bi + S0’.bi’
1 1 0 0
1 1 1 0 (para M=1)

Incluindo M na equação anterior, segue:

yi = M.S1’.bi + M.S0’.bi’

ComputaçãoUFPel slide 16.15 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Projeto do “Extensor Aritmético”
yi = M.S1’.bi + M.S0’.bi’
bi

S0

S1
M

EA

yi

ComputaçãoUFPel slide 16.16 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
M S1 S0 nome da função F X Y C0
Projeto do 0 0 0 complementa A’ A’ 0 0
0 0 1 E AEB AEB 0 0
“Extensor Lógico” 0
0
1
1
0
1
identidade
OU
A
A OU B
A
A OU B
0
0
0
0
1 0 0 decrementa A-1 A todos 1s 0
1 0 1 soma A+B A B 0
1 1 0 subtrai A+B’+1 A B’ 1
1 1 1 incrementa A+1 A todos 0s 1

a3 b3 a2 b2 a1 b1 a0 b0

M S1 S0 xi
0 0 0 ai’
EL EA EL EA EL EA EL EA
0 0 1 ai.bi
0 1 0 ai
x3 y3 x2 y2 x1 y1 x0 y0
0 1 1 ai+bi
c4 SC c3 SC c2 SC c1 SC c0 1 ? ? ai

f3 f2 f1 f0

ComputaçãoUFPel slide 16.17 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Projeto do “Extensor Lógico”
M S1 S0 xi
0 0 0 ai’
0 0 1 ai.bi
0 1 0 ai
0 1 1 ai+bi
1 ? ? ai

M=0 M=1
S1S0 00 01 11 10 00 01 11 10
ai bi
00 1
01 1 1

11 1 1 1 1 1 1 1
10 1 1 1 1 1 1

xi = M’.S1’.S0’.ai’ + M’.S1.S0.bi + S0.ai.bi + S1.ai + M.ai

ComputaçãoUFPel slide 16.18 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Projeto do “Extensor Lógico”
xi = M’.S1’.S0’.ai’ + M’.S1.S0.bi + S0.ai.bi + S1.ai + M.ai
ai bi

S0

S1

EL

xi

ComputaçãoUFPel slide 16.19 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Circuito Final
a3 b3 a2 b2 a1 b1 a0 b0

S0

S1

EL EA EL EA EL EA EL EA

x3 y3 x2 y2 x1 y1 x0 y0
c3 c2 c1 c0
c4 SC SC SC SC

overflow f3 f2 f1 f0

ComputaçãoUFPel slide 16.20 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2
4. Circuitos Combinacionais
Projeto de uma ULA
Símbolos A B A B

S0
cout S0
S1
ULA ULA S1
M
cout ou oveflow M

oveflow F F

Descrição do funcionamento
M S1 S0 nome da função
0 0 0 complementa
0 0 1 E
0 1 0 identidade
0 1 1 OU
1 0 0 decrementa
1 0 1 soma
1 1 0 subtrai
1 1 1 incrementa

ComputaçãoUFPel slide 16.21 Profs. Güntzel & Agostini


Técnicas Digitais - semestre 2006/2

Вам также может понравиться