1 / 22

Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I

Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I. Ivan Saraiva Silva. A representação em complemento de dois é mais adequada Única representação para o zero Realização de subtrações de forma mais simples. Representação Binária. Representação Binária.

perry-avery
Download Presentation

Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Organização e Arquitetura de Computadores IAritmética para ComputadoresParte I Ivan Saraiva Silva

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

  3. Representação Binária

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

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

  6. Carry e Overflow Soma de números com sinais opostos – 5 – 10 1 1 1 0 1 1 1 1 0 1 1 0 + 10 + 5 0 0 1 0 1 0 0 0 0 1 0 1 + 5 0 0 0 1 0 1 – 5 1 1 1 0 1 1 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 1 1 0 1 1 0 – 5 – 24 1 1 1 0 1 1 1 0 1 0 0 0 – 10 1 1 0 1 1 0 – 34 0 1 1 1 1 0 + 30 2 Carry sem Overflow 1 Carry Overflow

  8. 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 Carry e Overflow

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

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

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

  12. Cout : Solução 2 YCin Cout = XY + Cin (X Y) 00 01 11 10 X 0 1 1 solução é preferível porque usa XOR também existente na expressão de S 1 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 reduzirX+Ypara 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 Cin S2 S HA2 S1 C2 X Y HA1 Cout C1 S = S2 = S1  Cin C2 = S1 . Cin Cout = C1 + C2 S1 = X  Y C1 = X . Y

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

  16. Subtrator Completo Bin 0 1 0 1 0 1 0 1 Bout 0 1 1 1 0 0 0 1 X00001111 Y00110011 D01101001 D = X  Y  Bin Bout = XYBin + XYBin + XYBin + XYBin YBin 00 01 11 10 X Bout = XY + XBin + YBin = XY + Bin (X + Y) 1 1 1 0 1 1

  17. 5. Somador com Carry Look-Ahead (vai-um antecipado) Problema com Somador Anterior p.ex. 1 1 1 1 0 0 0 1 1 0 0 0 0 + • 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 • 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 X1 0 0 0 0 1 : Y1 0 1 0 1 0 : X0 0 0 0 0 0 : Y0 0 0 0 0 1 : S1 0 1 1 0 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 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. 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. C0 P2 = A2 B2 P1 = A1 B1 P0 = A0 B0 P2 = A2 B2 P1 = A1 B1 C3 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 A 0-3 A 12-15 B 0-3 A 4-7 B 4-7 B 12-15 somador 4 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

More Related