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

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

Tópicos em Arquitetura de Computadores - 4027 João Angelo Martini UniversidadeEstadual de Maringá Departamento de Informática Mestrado em Ciência da Computação.

Apresentações semelhantes


Apresentação em tema: "Tópicos em Arquitetura de Computadores - 4027 João Angelo Martini UniversidadeEstadual de Maringá Departamento de Informática Mestrado em Ciência da Computação."— Transcrição da apresentação:

1 Tópicos em Arquitetura de Computadores João Angelo Martini UniversidadeEstadual de Maringá Departamento de Informática Mestrado em Ciência da Computação Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência da Computação

2 2 Aula de Hoje Aritmética Computacional

3 3 Circuitos Aritméticos: circuitos utilizados para construir a ULA (Unidade Lógica e Aritmética) Adição Exemplo de adição em decimal (dígitos de 0 a 9): Cada posição só pode representar um dígito, por isso, gera um carry (vai um)

4 4 Aritmética Computacional Adição em Binário : Exemplo Cada posição só pode representar um dígito, por isso, gera um carry a)0 0 + b)0 1 + c) d) c in c out Soma

5 5 Aritmética Computacional ABC in SC out EntradasSaídas A +B S C in C out C in

6 6 Aritmética Computacional ABC in SC out EntradasSaídas A B C in S = A B C in + A B C in + A B C in + A B C in

7 7 Aritmética Computacional ABC in SC out EntradasSaídas C out = A B C in + A B C in + A B C in + A B C in A B C in

8 8 Aritmética Computacional S = A B C in + A B C in + A B C in + A B C in Simplificando as expressões S = A (B C in + B C in )+ A (B C in + B C in ) Fazendo X = B + C in e X = B C in Como B + C in = B C in + B C in e B C in = B C in + B C in S = A + X S = A X+ A X S = A + B + C in A e A em evidência S = A (B + C in )+ A (B C in )

9 9 Aritmética Computacional C out = A B C in + A B C in + A B C in + A B C in Simplificando as expressões B A A B C in P 2 =BC in P 3 =AC in P 1 =AB C out = AB+BC in +AC in

10 10 Aritmética Computacional Circuito Somador C out = AB+BC in +AC in S = A + B + C in B + C in A + B + C in AB BC in AC in AB+BC in +AC in

11 11 Somador de 4 bits Somador S0S0 S1S1 S2S2 S3S3 C1C1 C2C2 C3C3 C4C4 C0C0 A0A0 B0B0 A1A1 B1B1 A2A2 B2B2 A3A3 B3B3

12 12 Somador Bit Slice Somador S3S3 C3C3 C4C4 A3A3 B3B3 Atraso de 1 porta lógica Para gerar o carry seguinte há 2 estágios de portas lógicas

13 13 Somador de 4 bits Somador S0S0 S1S1 S2S2 S3S3 C1C1 C2C2 C3C3 C4C4 C0C0 A0A0 B0B0 A1A1 B1B1 A2A2 B2B2 A3A3 B3B3 Somador Ripple-Carry Ripple-Carry: Ondulação ou Propagação do Carry. Carry-Out de um estágio se transforma no Carry-In do estágio seguinte. A i e B i “alimentam” os somadores em paralelo, mas o circuito deve esperar a propagação dos Carries para concluir a operação.

14 14 Aritmética Computacional Subtração Exemplo de subtração em decimal (dígitos de 0 a 9): Empresta 1 da coluna da esquerda para formar a dezena

15 15 Aritmética Computacional Subtração em Binário Exemplo a)0 0 - b)0 1 - c) d) Gera um “empresta-1” (carry out) da coluna seguinte: a 1 a coluna passa a valer 2 10 =10 2 O carry out será subtraído da coluna seguinte na continuação da operação 1

16 16 Aritmética Computacional Subtração em Binário : Exemplo Gera um “empresta-1” (carry out) da coluna seguinte: a 1 a coluna passa a valer 10 2 = c in Subtração

17 17 Exercícios 1.Obter a Tabela Verdade para o circuito subtrator de 1 bit (considere como entradas: A, B e C in ; e como saídas: S e C out ). 2.Obtenha as expressões para a subtração S e para o C out a partir da Tabela Verdade. 3.Desenhe o diagrama de portas lógicas do circuito subtrator.

18 18 Soluções ABC in SC out EntradasSaídas Tabela Verdade para o Subtrator 1)

19 19 Soluções ABC in SC out EntradasSaídas S = A B C in + A B C in + A B C in + A B C in 2)

20 20 Soluções ABC in SC out EntradasSaídas S = A B C in + A B C in + A B C in + A B C in C out = A B C in + A B C in + A B C in + A B C in 2)

21 21 Soluções S = A B C in + A B C in + A B C in + A B C in Simplificando as expressões S = A (B C in + B C in )+ A (B C in + B C in ) Fazendo X = B + C in e X = B C in Como B + C in = B C in + B C in e B C in = B C in + B C in S = A + X S = A X+ A X S = A + B + C in A e A em evidência S = A (B + C in )+ A (B C in ) 2)

22 22 Soluções C out = A B C in + A B C in + A B C in + A B C in Simplificando as expressões B A A B C in P 2 =BC in P 3 =AC in P 1 =AB 2) C out = AB+BC in +AC in

23 23 Soluções Circuito Subtrator S = A + B + C in 3) C out = AB+BC in +AC in

24 24 ULA: Somador e Subtrator RI UC Somador Subtrator ULA CPU ULA com 2 circuitos para efetuar a adição e a subtração

25 25 Exemplo: ULA Simplificada A B

26 26 Adição e Subtração em Complemento de 2 Exemplos de Adição: a) 7 (+5) = Complemento de 2 do valor = = C out =0 C in =0 C out =0 Overflow=0 em Complemento de Complemento de 2 de

27 27 Adição e Subtração em Complemento de 2 Exemplos de Adição: b) 4 (+4) = Complemento de 2 do valor = C out =1 C in =1 C out =1 Overflow=0 em Complemento de Complemento de 2 de Despreza o carry +

28 28 Adição e Subtração em Complemento de 2 Exemplos de Adição: c) +3 (+4) = = C out =0 C in =0 C out =0 Overflow=0 em Complemento de =

29 29 Adição e Subtração em Complemento de 2 Exemplos de Adição: d) 4 (-1) = Complemento de 2 do valor = C out =1 C in =1 C out =1 Overflow=0 em Complemento de Complemento de 2 de Despreza o carry = Complemento de 2 do valor

30 30 Adição e Subtração em Complemento de 2 Exemplos de Adição: e) +5 (+4) = = C out =0 C in =1 C out =0 Overflow=1 em Complemento de = Erro de Overflow =9 10 Não dá para representar 9 com registrador de 4 bits, com 1 bit de sinal 2 números positivos somados não podem resultar num número negativo

31 31 Adição e Subtração em Complemento de 2 Exemplos de Adição: f) 7 (-6) = Complemento de 2 do valor = C out =1 C in =0 C out =1 Overflow=1 em Complemento de Despreza o carry = Complemento de 2 do valor números negativos somados não podem resultar num número positivo +

32 32 Adição e Subtração em Complemento de 2 Subtração A Subtração pode ser efetuada usando um circuito Somador Minuendo - Subtraendo Subtração Usa o Complemento de 2 do Subtraendo e soma-o ao Minuendo

33 = Adição e Subtração em Complemento de 2 Exemplos de Subtração: a) 2 (+7) = Complemento de 2 do valor = C out =0 C in =0 C out =0 Overflow=0 em Complemento de Complemento de 2 de

34 34 Adição e Subtração em Complemento de 2 Exemplos de Subtração: b) 5 (+2) = Complemento de 2 do valor = = C out =1 C in =1 C out =1 Overflow=0 em Complemento de Despreza o carry

35 Complemento de 2 do valor 2 10 Adição e Subtração em Complemento de 2 Exemplos de Subtração: c) 5 (+2) = Complemento de 2 do valor = = C out =1 C in =1 C out =1 Overflow=0 em Complemento de Despreza o carry Complemento de 2 de -7 10

36 36 Adição e Subtração em Complemento de 2 Exemplos de Subtração: d) 5 (-2) = Complemento de 2 do valor = = C out =0 C in =0 C out =0 Overflow=0 em Complemento de Complemento de 2 do valor Complemento de 2 de -2=2

37 37 Adição e Subtração em Complemento de 2 Exemplos de Subtração: e) 7 (-7) = Complemento de 2 do valor = C out =0 C in =0 C in =1 C out =0 Overflow=1 em Complemento de Complemento de 2 do valor Complemento de 2 de -7=7 11 Erro de Overflow =14 10 Não dá para representar 14 com registrador de 4 bits, com 1 bit de sinal

38 38 Adição e Subtração em Complemento de 2 Exemplos de Subtração: f) (-6) (+4) = Complemento de 2 do valor = C out =0 C in =0 C out =1 Overflow=1 em Complemento de Complemento de 2 do valor 4 10 Erro de Overflow = números negativos somados não podem resultar num número positivo

39 39 Circuito Somador/Subtrator em Complemento de 2 ABS Entradas Saída Símbolo da Porta XOR TV da Porta XOR A B S Obs: Para obter o circuito somador/subtrator em complemento de 2 vamos usar a porta XOR

40 40 Circuito Somador/Subtrator em Complemento de 2 ABS Entradas Saída TV da Porta XOR X 0 S Se fixar uma entrada em 0 X=0 0 S=0 X=1 0 S=1 Deixando uma entrada de controle em 0, o dado “X” é copiado para a saída

41 41 Circuito Somador/Subtrator em Complemento de 2 ABS Entradas Saída TV da Porta XOR X 1 S Se fixar uma entrada em 1 X=0 1 S=1 X=1 1 S=0 Deixando uma entrada de controle em 1, o dado “X” é complementado na saída: S=X Para obter o complemento de 2 precisa somar 1 ao bit menos significativo do dado

42 42 Circuito Somador/Subtrator em Complemento de 2 C=Controle da Operação C=0  A i +B i C=1  A i -B i C in AB S C out AB S C in C out S0S0 S1S1 A1A1 A0A0 C0C0 B1B1 B0B0 B_SEL 0 B_SEL 1 AB S C in C out S2S2 S3S3 A3A3 A2A2 S2S2 S3S3 B3B3 B2B2 B_SEL 2 B_SEL 3 AB S C out S1S1 S0S0 A 0 B 0 +0 C=0 A 0 B 0 +1 C=1 Complemento de 2 de B

43 43 Exercícios 1.Projete um circuito somador/subtrator em complemento de 2 usando um MUX para fazer o controle da geração do complemento de 2 do dado (subtraendo). 2.O custo do “novo” circuito somador/subtrator é maior ou menor que o do circuito anterior?

44 44 Soluções 1.Projete um circuito somador/subtrator em complemento de 2 usando um MUX para fazer o controle da geração do complemento de 2 do dado (subtraendo). C in AB S C out AB S C in C out S0S0 S1S1 A1A1 A0A0 C0C0 B1B1 B0B0 B_SEL 0 B_SEL 1 AB S C in C out S2S2 S3S3 A3A3 A2A2 S2S2 S3S3 B3B3 B2B2 B_SEL 2 B_SEL 3 AB S C out S1S1 S0S0 MUX

45 45 Soluções 2.O custo do “novo” circuito somador/subtrator é maior ou menor que o do circuito anterior? Para circuitos de 4 bits: Circuito 1: 4 Portas XOR Circuito 2: 4x5=20 Portas Decisão de Projeto: -Arquitetura: decide se vai oferecer adição em Complemento de 2 -Organização: decide como implementar (escolhe entre o circuito 1 e o circuito 2) MUX

46 46 Somador de Alto Desempenho Somador S0S0 S1S1 S2S2 S3S3 C1C1 C2C2 C3C3 C4C4 C0C0 A0A0 B0B0 A1A1 B1B1 A2A2 B2B2 A3A3 B3B3 Somador Ripple-Carry Somador Convencional: Atrasos para propagar o carry Somador Convencional

47 47 Somador de Alto Desempenho Somador S0S0 S1S1 S2S2 S3S3 C1C1 C2C2 C3C3 C4C4 C0C0 A0A0 B0B0 A1A1 B1B1 A2A2 B2B2 A3A3 B3B3 CL: Lógica para antecipar o carry sem passar pelo somador Somador Carry Lookahead CL

48 48 Somador de Alto Desempenho C i+1 = A i B i + A i C i +B i C i Expressão do Carry do Somador C i+1 = A i B i + C i ( A i +B i ) 1. Fatorando a expressão 2. Chamando A i B i de G i e A i +B i de P i C i+1 = G i + P i C i 3. Substituindo os índices para obter os carries para um somador de 4 bits C 1 = G 0 + P 0 C 0 C 1 = G 0 4. Para simplificar a análise, vamos considerar C 0 =0 para soma ABC-out 000“nada” 01C-in“propaga” 10C-in“propaga” 111“gera”

49 49 Somador de Alto Desempenho C 2 = G 1 + P 1 C 1 Expressão do Carry do Somador C 2 = G 1 + P 1 G 0 5. Substituindo C 1 =G 0 6. Obtendo C 3 C 3 = G 2 + P 2 C 2 7. Substituindo C 2 = G 1 + P 1 G 0 C 3 = G 2 + P 2 (G 1 + P 1 G 0 ) C 4 = G 3 + P 3 C 3 8. Obtendo C 4 C 3 = G 2 + P 2 G 1 + P 2 P 1 G 0  C 4 = G 3 + P 3 (G 2 + P 2 G 1 + P 2 P 1 G 0 )  C 4 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 

50 50 Exercício 1.Faça o diagrama de blocos do circuito somador de 4 bits com a Lógica Carry Lookahead. 2.Calcule o atraso para gerar os carries.

51 51 Soluções 1.Faça o diagrama de blocos do circuito somador de 4 bits com a Lógica Carry Lookahead.

52 52 Soluções 2.Calcule o atraso para gerar os carries. Atraso de 3 Portas para gerar o carry 1 Porta 2 Portas O somador introduz mais um atraso de 2 Portas para gerar a Soma


Carregar ppt "Tópicos em Arquitetura de Computadores - 4027 João Angelo Martini UniversidadeEstadual de Maringá Departamento de Informática Mestrado em Ciência da Computação."

Apresentações semelhantes


Anúncios Google