A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva.

Apresentações semelhantes


Apresentação em tema: "Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva."— Transcrição da apresentação:

1 Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I
Ivan Saraiva Silva

2 Representação Binária
A representação em complemento de dois é mais adequada Única representação para o zero Realização de subtrações de forma mais simples

3 Representação Binária

4 Carry e Overflow Carry = “vai-um” nas operações de soma 1 1 0 1
• Overflow = estouro no limite de representação p.ex não pode ser representado em 6 bits • Carry ≠ Overflow pode ser igual eventualmente em determinadas operações

5 Carry e Overflow Soma de dois números positivos + 5 + 24 0 0 0 1 0 1
+ 10 + 10 + 15 + 34 - 30 nenhum Carry sem Overflow 1 Carry Overflow

6 Carry e Overflow Soma de números com sinais opostos – 5 – 10
+ 10 + 5 + 5 – 5 2 Carry sem Overflow nenhum Carry sem Overflow

7 Carry e Overflow Soma de dois números negativos – 5 – 10 1 1 1 0 1 1
– 5 – 24 – 10 – 34 + 30 2 Carry sem Overflow 1 Carry Overflow

8 Carry e Overflow determinação do Overflow a partir dos sinais
se forem somados 2 números com mesmo sinal, e o resultado tiver o mesmo sinal, não há Overflow se forem somados 2 números com mesmo sinal, e o resultado tiver sinal contrário, há Overflow se forem somados 2 números com sinais opostos, nunca há Overflow determinação do Overflow a partir do Carry se houver número par de Carry: não há Overflow se houver número ímpar de Carry: há Overflow

9 1. Meio Somador S = XY + XY = XY C = X . Y S X S HA Y C C X 1 Y 1 S 1
1 Y 1 S 1 C 1 S = XY + XY = XY C = X . Y X Y S X S HA Y C C

10 2. Somador Completo X S Y FA Cin Cout
1 Y 1 Cin 1 S 1 Cout 1 X S Y FA Cin Cout S = XYCin + XYCin + XYCin + XYCin Cout= XYCin + XYCin + XYCin + XYCin

11 S Cout: Solução 1 Cout = XY + XCin + YCin = XY + Cin (X+Y)
X 1 1 1 1 1 não há aparentemente nenhuma minimização a fazer no entanto S = X  Y  Cin XOR é comutativo e associativo Cout: Solução 1 YCin X Cout = XY + XCin + YCin = XY + Cin (X+Y) 1 1 1 1 1

12 Cout : Solução 2 Cout = XY + Cin (X Y)
Cout = XY + Cin (X Y) X 1 1 1 solução é preferível porque usa XOR também existente na expressão de S 1 1 Para comprovar que as 2 soluções são equivalentes Cout = XY + Cin (X Y) não é =1 se X=1 e Y=1, mas este caso já é coberto pelo 1º termo pode-se portanto reduzir X+Y para XY Cout = XY + Cin (X+Y) igual a 1 se X=1, ou Y=1, ou X=1 e Y=1

13 Circuito obtido a partir das expressões para S e Cout
HA HA X Y S Cout Cin

14 Se reconhece dois HA’s S HA2 HA1 Cout S1 = X  Y C1 = X . Y
Cin S2 S HA2 S1 C2 X Y HA1 Cout C1 S1 = X  Y C1 = X . Y S = S2 = S1  Cin C2 = S1 . Cin Cout = C1 + C2

15 3. Somador de N Bits 4. Subtratores FA 0 FA1 FA2 S0 S1 S2
X2 Y2 X0 Y0 X1 Y1 C1 C2 C3 Cin =0 FA 0 FA1 FA2 S0 S1 S2 4. Subtratores Meio Subtrator ( X – Y ) D = Diferença B = Borrow X 1 Y 1 D 1 B 1 D = X  Y B = X . Y

16 Subtrator Completo D = X  Y  Bin Bout = XY + XBin + YBin
Bout = XYBin + XYBin + XYBin + XYBin YBin X Bout = XY + XBin + YBin = XY + Bin (X + Y) 1 1 1 1 1

17 + 5. Somador com Carry Look-Ahead (vai-um antecipado)
Problema com Somador Anterior p.ex. + Existe um carry em cada estágio Bits de carry e soma do último estágio só estão disponíveis após os tempos de propagação dos estágios anteriores Este somador usa o que se chama “Ripple Carry”

18 Alternativa 1 X0 : Y0 1 : X1 1 : Y1 1 : S1 1 :
Calcular cada Si diretamente em função de Xi, Yi, Xi -1,Yi -1, ... construir tabela-verdade implementar circuito com lógica de 2 níveis p.ex. soma com 2 estágios X0 : Y0 1 : X1 1 : Y1 1 : S1 1 : Vantagem: Tempo de propagação só de 2 portas Desvantagem: Equações muito grandes quando N é grande Exige muitas portas, com muitas entradas

19 Alternativa 2 Gi = Xi . Yi Pi = Xi  Yi Unidade Somadora Ci Si Ai Pi
Um estágio causa carry se a) GERAR um carry, pois Xi = 1 e Yi = 1 ou b) PROPAGAR um carry vindo do estágio anterior Ci = 1 e (Xi = 1 ou Yi = 1) Gi = Xi . Yi Pi = Xi  Yi mas não ambos, pois então recai-se no caso a Unidade Somadora Ci Si Ai Pi Bi Gi

20 ou seja Expandindo as Equações C1 = G0 + P0 C0
C2 = G1 + P1 C1 = G1 + P1 (G0 + P0C0) C3 = G2 + P2 C2 = G2 + P2 (G1 + P1 (G0 + P0C0)) = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C0 ou seja C3 = 1 se for gerado carry no estágio 2 (G2) , ou for propagado carry do estágio 2, gerado no estágio 1 (P2 G1 ), ou for propagado carry dos estágios 2 e 1, gerado no estágio 0 (P2 P1G0 ), ou etc.

21 C3 C0 P2 = A2 B2 P1 = A1 B1 P0 = A0 B0 P2 = A2 B2 P1 = A1 B1
G0 = A0 . B0 P2 = A2 B2 G1 = A1 . B1 G2 = A2 . B2 Analisando tempo de propagação: Ci em cada estágio tem tempo de propagação de 3 portas Ci em cada estágio não depende de Ci-1 Ci é calculado em função de Ai, Bi, Ai-1, Bi-1,… Si em cada estágio tem tempo de propagação de 4 portas

22 Solução intermediária por exemplo supondo um somador de 16 bits
com carry antecipado somador 4 bits com carry antecipado somador 4 bits com carry antecipado C0 C3 C11 S 0-3 S 4-7 S 12-15 dentro de cada somador de 4 bits as equações não crescem demais gasto moderado de portas e entradas tempo de propagação = 4 x tempo de um somador com carry antecipado


Carregar ppt "Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva."

Apresentações semelhantes


Anúncios Google