circuitos digitais unidade aritmética e lógica - ula ...johann/circuitos/aula14b.pdf · 0-3 b 0-3...

3
Circuitos Circuitos Digitais Digitais ULA Multifunção Multiplicadores Aula 14 INF01058 Circuitos Digitais Unidade Aritmética Unidade Aritmética e e Lógica Lógica - ULA - ULA Exemplo Exemplo de de uma uma ULA Simples de 4 Bits - 12 ULA Simples de 4 Bits - 12 Entradas Entradas, 5 , 5 Saídas Saídas F 0-3 ALU ALU C 4 C in M S 0-1 B 0-3 A 0-3 M = Modo 1 funções aritméticas 0 funções lógicas S = Seleção da função cada estágio cada estágio S 1 B i C i+1 F i S 0 A i M C in Circuitos Digitais Funções Lógicas Funções Lógicas com M = 0 com M = 0 - O valor de C in não importa - C i+1 pode ser 0 ou 1, dependendo de A i e B i , mas isto não afeta o estágio seguinte Portanto: F i depende apenas de A i , B i e da seleção S 0 e S 1 S 1 0 0 1 1 S 0 0 1 0 1 F i A i A i A i B i A i B i = A i B i (função equivalência) Circuitos Digitais Funções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e C in in = 0 = 0 M = 1 faz com que C i se propague através do estágio S 1 0 0 1 1 S 0 0 1 0 1 F F i = A i F = A F i = A i F = A F = 1’s de A F i = B i A i C i F = A mais B F i = B i A i C i F = A mais B = B + 1’s de A ou B – A em 1’s Funções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e C in in = 1 = 1 F F 0 = A 0 1 F 0 = A 0 1 F 0 = A 0 B 0 1 F 0 = A 0 B 0 1 S 1 0 0 1 1 S 0 0 1 0 1 F 0 = A 0 mais 1 F = A mais 1 F 0 = A 0 mais 1 F = A mais 1 = 2’s de A F 0 = A 0 mais B 0 mais 1 F = A mais B mais 1 F 0 = A 0 mais B 0 mais 1 F = A mais B mais 1 = B – A em 2’s Circuitos Digitais Para M=1, S1=1 e Cin (0) =(0,1) a ULA converte-se em um bloco Somador/Subtrator A i B i Cout Soma/Dif. (i) Cin Full adder Circuitos Digitais Comparador X Y COMP = 1 se X = Y = 0 se X Y X Y COMP 0 0 1 0 1 0 1 0 0 1 1 1 COMP = X Y + X Y = X Y

Upload: vanmien

Post on 04-Oct-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

CircuitosCircuitosDigitaisDigitais

ULA MultifunçãoMultiplicadores

Aula 14

INF01058

Circuitos Digitais

Unidade Aritmética Unidade Aritmética e e Lógica Lógica - ULA- ULAExemplo Exemplo de de uma uma ULA Simples de 4 Bits - 12 ULA Simples de 4 Bits - 12 EntradasEntradas, 5 , 5 SaídasSaídas

F0-3

ALUALU

C4

Cin

MS0-1

B0-3A0-3 M = Modo• 1 funções aritméticas• 0 funções lógicas

S = Seleção da função

cada estágiocada estágio

S1Bi

Ci+1

Fi

S0Ai

MCin

Circuitos Digitais

Funções Lógicas Funções Lógicas com M = 0com M = 0

- O valor de Cin não importa- Ci+1 pode ser 0 ou 1, dependendo de Ai e Bi, mas isto não

afeta o estágio seguinte Portanto: Fi depende apenas de Ai, Bi e da seleção S0 e S1

S10011

S00101

FiAiAiAi ⊕ BiAi ⊕ Bi = Ai ⊕ Bi (função equivalência)

Circuitos DigitaisFunções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e CCin in = 0= 0

M = 1 faz com que Ci se propague através do estágio

S10011

S00101

FFi = Ai F = AFi = Ai F = A F = 1’s de AFi = Bi ⊕ Ai ⊕ Ci F = A mais BFi = Bi ⊕ Ai ⊕ Ci F = A mais B = B + 1’s de A ou B – A em 1’s

Funções Aritméticas Funções Aritméticas com M = 1 e com M = 1 e CCin in = 1= 1

FF0 = A0 ⊕ 1F0 = A0 ⊕ 1F0 = A0 ⊕ B0 ⊕ 1F0 = A0 ⊕ B0 ⊕ 1

S10011

S00101

F0 = A0 mais 1 F = A mais 1F0 = A0 mais 1 F = A mais 1 = 2’s de AF0 = A0 mais B0 mais 1 F = A mais B mais 1F0 = A0 mais B0 mais 1 F = A mais B mais 1

= B – A em 2’s

Circuitos Digitais

Para M=1, S1=1 e Cin(0) =(0,1) a ULA converte-se em um bloco Somador/Subtrator

Ai Bi

Cout

Soma/Dif.(i)

Cin Fulladder

Circuitos Digitais

Comparador

X

YCOMP = 1 se X = Y

= 0 se X ≠ Y

X Y COMP

0 0 1

0 1 01 0 0

1 1 1

COMP = X Y + X Y = X ⊕ Y

Circuitos Digitais

Planta Baixa tipo Bit-Slice

Bit 3

Bit 2

Bit 1

Bit 0

Re g

i st e

r

Add

er

Shi f

ter

Mul

tipl

exer

Control

Dat

a -In

Dat

a-O

ut Bit-Slice de mesma altura“Tiling” de elementos aritméticos e registradores

Circuitos Digitais

Multiplicador de 2 bits. Síntese de circuito combinacional

X1 X0 Y1 Y0 P3 P2 P1 P0

0 0 0 0 0 0 0 00 0 0 1 0 0 0 00 0 1 0 0 0 0 00 0 1 1 0 0 0 00 1 0 0 0 0 0 00 1 0 1 0 0 0 10 1 1 0 0 0 1 00 1 1 1 0 0 1 11 0 0 0 0 0 0 01 0 0 1 0 0 1 01 0 1 0 0 1 0 01 0 1 1 0 1 1 01 1 0 0 0 0 0 01 1 0 1 0 0 1 11 1 1 0 0 1 1 01 1 1 1 1 0 0 1

P3 = m15

P2 = ∑ m (10, 11, 14)

P1 = ∑ m (6, 7, 9, 11, 13, 14)

P0 = ∑ m (5, 7, 13, 15)

1 1

1 1

1 1

P1X1X0

Y1Y000 01 11 10

00

01

11

10

P1 = X1X0Y1 + Y1Y0X1 + X1X0Y0 + Y1Y0X0

0

00

00

0 0 0 0

0

Circuitos Digitais

Multiplicador através de ‘Rede de Somadores’

A ⇒ a3 a2 a1 a0 B ⇒ b3 b2 b1 b0

_____________________________________________

a3.b0 a2.b0 a1.b0 a0.b0a3.b1 a2.b1 a1.b1 a0.b1

a3.b2 a2.b2 a1.b2 a0.b2 a3.b3 a2.b3 a1.b3 a0.b3 +

__________________________________________________________________________________________

P7 P6 P5 P4 P3 P2 P1 P0

(A x B = P)(A x B = P)

• Os produtos an.bn são obtidos através da função AND entre an e bn.

• As somas são realizadas com somadores completos (FA) e meio-somadores (HA)

• Há diversas formas de agrupar as somas, cuidando sempre para que os carry-outs

(‘vai um’) gerados sejam considerados na coluna seguinte.

Circuitos Digitais

Uso de Produtos Parciais

1 0 1 1

1 0 1 0 1 0

0 0 0 0 0 0

1 0 1 0 1 0

1 0 1 0 1 0

1 0 1 0 1 0

×

1 1 1 0 0 1 1 1 0

+

Produtos Parciais

Operação AND

Circuitos Digitais

Multiplicador tipo array de 4 bits(Produto Z tem 8 bits)

HA FA FA HA

FA FA FA HA

FA FA FA HA

X0X1X2X3 Y1

X0X1X2X3 Y2

X0X1X2X3 Y3

Z1

Z2

Z3Z4Z5Z6

Z0

Z7

16 ANDS 4 Half-Adders 8 Full-Adders

Circuitos Digitais

Multiplicador de M bits x N bits -Caminhos críticos

HA FA FA HA

HAFAFAFA

FAFA FA HA

Critical Path 1

Critical Path 2

Critical Path 1 & 2

Circuitos Digitais

Multiplicador tipo carry-saveHA HA HA HA

FAFAFAHA

FAHA FA FA

FAHA FA HA

Vector Merging Adder

Circuitos Digitais

Multiplicador Wallace Tree

Circuitos Digitais

Multiplicadores - Sumário• Otimização específica das Células de FA, HA, AND

• Identificar o caminho crítico combinacional

• Outras técnicas utilizadas na prática

- Recodificação do Multiplicando (Codificação de Booth)- Pipelinização do multiplicador

Otimizações no nível sistema (Barramentos p/ Operandos)

- Atraso logarítmico versus Linear (Árvore deWallace para Multiplicação)