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 - 4027 João Angelo Martini UniversidadeEstadual de Maringá Departamento de Informática Mestrado em Ciência da Computação Tópicos em Arquitetura de Computadores - 4027 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) 3 7 6 4 6 1 + 3 7 6 4 6 1 7 + 1 3 7 6 4 6 1 3 7 + 3 7 6 4 6 1 8 3 7 1 +

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)1 0 1 + d)1 1 10 + 1 0 1 0 1 0 0 1 1 1 + 1 0 1 0 1 0 0 1 1 1 0 + 1 0 1 0 1 0 0 1 1 1 0 0 + 1 0 1 0 1 0 0 1 1 1 1 0 0 + 1 0 1 0 1 0 0 1 1 1 1 1 0 0 + 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 + 111 111 0 0 c in c out Soma

5 5 Aritmética Computacional ABC in SC out 00000 00110 01010 01101 10010 10101 11001 11111 EntradasSaídas A +B S C in C out C in

6 6 Aritmética Computacional ABC in SC out 00000 00110 01010 01101 10010 10101 11001 11111 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 00000 00110 01010 01101 10010 10101 11001 11111 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 0010 0111 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 7 6 5 8 - 7 6 5 8 - 1 6 8 7 6 5 8 8 - 6 1

15 15 Aritmética Computacional Subtração em Binário Exemplo a)0 0 - b)0 1 - c)1 0 1 - d)1 1 0 - 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 =2 10 1 0 0 0 1 1 - 1 0 0 0 1 1 - 1 0 0 0 1 1 - 1 1 1 c in Subtração 1 1 1 0 1 0 0 0 1 1 - 1 1 1 01 1 1 1 0 0 0 1 1 - 1 1 1 01 1 1 0 1 0 0 0 1 1 - 1 1 1 01 1 1 01 1 1 1 0 0 0 1 1 - 1 1 1 01 1 1 01 1 10

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 00000 00111 01011 01101 10010 10100 11000 11111 EntradasSaídas Tabela Verdade para o Subtrator 1)

19 19 Soluções ABC in SC out 00000 00111 01011 01101 10010 10100 11000 11111 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 00000 00111 01011 01101 10010 10100 11000 11111 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 0111 0010 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) 2 7 10 =0111 2 1000 + 1 1001 Complemento de 2 do valor -7 10 1001 0101 1110 =-2 10 1 5 10 =0101 2 + C out =0 C in =0 C out =0 Overflow=0 em Complemento de 2 0001 + 1 0010 Complemento de 2 de -2 10 - - 0 0 +

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

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

29 29 Adição e Subtração em Complemento de 2 Exemplos de Adição: d) 4 (-1) 5 4 10 =0100 2 1011 + 1 1100 Complemento de 2 do valor -4 10 1100 1111 1011 =-5 10 1 + C out =1 C in =1 C out =1 Overflow=0 em Complemento de 2 0100 + 1 0101 Complemento de 2 de -5 10 - 1 Despreza o carry - 1 10 =0001 2 1110 + 1 1111 Complemento de 2 do valor -1 10 +

30 30 Adição e Subtração em Complemento de 2 Exemplos de Adição: e) +5 (+4) 9 5 10 =0101 2 0101 0100 1001 =9 10 1 + C out =0 C in =1 C out =0 Overflow=1 em Complemento de 2 + + 4 10 =0100 2 0 Erro de Overflow 1001 2 =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) 13 7 10 =0111 2 1000 + 1 1001 Complemento de 2 do valor -7 10 1001 1010 0011 =3 10 0 + C out =1 C in =0 C out =1 Overflow=1 em Complemento de 2 - 1 Despreza o carry - 6 10 =0110 2 1001 + 1 1010 Complemento de 2 do valor -6 10 2 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 33 2 10 =0010 2 Adição e Subtração em Complemento de 2 Exemplos de Subtração: a) 2 (+7) 5 7 10 =0111 2 1000 + 1 1001 Complemento de 2 do valor 7 10 0010 1001 1011 =-5 10 + C out =0 C in =0 C out =0 Overflow=0 em Complemento de 2 0100 + 1 0101 Complemento de 2 de -5 10 - 0 0 -

34 34 Adição e Subtração em Complemento de 2 Exemplos de Subtração: b) 5 (+2) 3 5 10 =0101 2 1101 + 1 1110 Complemento de 2 do valor 2 10 0101 1110 0011 =3 10 2 10 =0010 2 + C out =1 C in =1 C out =1 Overflow=0 em Complemento de 2 1 1 - Despreza o carry

35 35 1101 + 1 1110 Complemento de 2 do valor 2 10 Adição e Subtração em Complemento de 2 Exemplos de Subtração: c) 5 (+2) 7 5 10 =0101 2 1010 + 1 1011 Complemento de 2 do valor -5 10 1011 1110 1001 =-7 10 2 10 =0010 2 + C out =1 C in =1 C out =1 Overflow=0 em Complemento de 2 1 1 - Despreza o carry - - 1 0110 + 1 0111 Complemento de 2 de -7 10

36 36 Adição e Subtração em Complemento de 2 Exemplos de Subtração: d) 5 (-2) 7 5 10 =0101 2 1101 + 1 1110 Complemento de 2 do valor 2 10 0101 0010 0111 =7 10 2 10 =0010 2 + C out =0 C in =0 C out =0 Overflow=0 em Complemento de 2 0 0 - 0001 + 1 0010 Complemento de 2 do valor -2 10 Complemento de 2 de -2=2

37 37 Adição e Subtração em Complemento de 2 Exemplos de Subtração: e) 7 (-7) 14 7 10 =0111 2 1000 + 1 1001 Complemento de 2 do valor 7 10 0111 1110 =-2 10 + C out =0 C in =0 C in =1 C out =0 Overflow=1 em Complemento de 2 0 1 - 0110 + 1 0111 Complemento de 2 do valor -7 10 Complemento de 2 de -7=7 11 Erro de Overflow 01110 2 =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) 10 6 10 =0110 2 1001 + 1 1010 Complemento de 2 do valor 6 10 1010 1100 0110 =6 10 + C out =0 C in =0 C out =1 Overflow=1 em Complemento de 2 1 0 - 1011 + 1 1100 Complemento de 2 do valor 4 10 Erro de Overflow - 4 10 =0100 2 2 números negativos somados não podem resultar num número positivo

39 39 Circuito Somador/Subtrator em Complemento de 2 ABS 000 011 101 110 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 000 011 101 110 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 000 011 101 110 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