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

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Parte 1: Organização de Computadores
Operações Aritméticas no Sistema Binário
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
Arquitetura de Computadores 3º SEMESTRE FALM – Faculdade Luiz Meneghel Cedido por: Prof. João Angelo Martini Universidade Estadual de Maringá Departamento.
Aritmética Computacional
Arquitetura de Computadores
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Representação de números
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
FOLHA DE CÁLCULO 1.
Universidade Bandeirante de São Paulo Fundamentos da Álgebra
Representação de Dados e Sistemas de Numeração Aula 4
Multiplicação e Divisão Serial Moraes/Ney - 07/novembro/2007
Excel Profa. Cristina M. Nunes.
Eletrônica Digital Operações Aritméticas Binárias
Eletrônica Digital Projeto de Circuitos Combinacionais Aritméticos
Circuitos aritméticos
William Stallings Arquitetura e Organização de Computadores 8a Edição
Revisão Prova 2 Métodos de Acesso: BTree e Hash AULA 20 Profa. Sandra de Amo GBC053 – BCC
Resolução.
FAFIMAN – Prof. Flávio Uber FAFIMAN – Departamento de Informática Curso: Ciência da Computação Professor: Flávio Rogério Uber Arquitetura e Organização.
25/02/ Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves.
MC542 Organização de Computadores Teoria e Prática
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
Introdução à informática
EXPRESSÕES ARITMÉTICAS
EXPRESSÕES ARITMÉTICAS
Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva.
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
FUNÇÃO MODULAR.
Decodificador 2 para 4 (2 : 4)
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Provas de Concursos Anteriores
Conversão entre base decimal e binária
Introdução a Tecnologia da Informação
Sistemas Numéricos Sistemas Numéricos de Interesse
Técnica de modelagem de Máquina de Estados em VHDL
Circuitos Digitais - Somadores e Subtradores SOMADORES E SUBTRADORES.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
INTRODUÇÃO À ENGENHARIA
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Circuitos combinatórios típicos: circuitos aritméticos
Teoremas Booleanos e Simplificação Algébrica
Operações Aritméticas em Binário
Multiplexadores e Demultiplexadores
Projeto de Circuitos Combinacionais Aritméticos
Lemas (Sudkamp)  .
Coordenação Geral de Ensino da Faculdade
SISTEMAS DIGITAIS ALGEBRA DE BOOLE E SIMPLIFICAÇÃO DE CIRC. LÓGICOS
Representação Digital da Informação
Aula 17 1 Análise Sintáctica Compiladores, Aula Nº 17 João M. P. Cardoso.
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
ICC – 4.2. Aritmética Binária
Exercício 1 (POSCOMP ) De acordo com o teorema de De Morgan, o complemento de X + Y . Z é: X + Y . Z X . Y + Z X. (Y + Z) X . Y . Z.
Infra-Estrutura de Hardware
Funcionamento básico de um processador de 8 bits
1 2 Observa ilustração. Cria um texto. Observa ilustração.
ELETRÔNICA DIGITAL Circuitos Aritméticos
Representação de dados
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Subtrator e Somador BCD
Operações Aritméticas no Sistema binário
Transcrição da apresentaçã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

Aritmética Computacional Aula de Hoje Aritmética Computacional

Aritmética Computacional 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): 1 3 7 6 4 6 1 8 3 7 1 + 3 7 6 4 6 1 + 3 7 6 4 6 1 7 + 3 7 6 4 6 1 3 7 + Cada posição só pode representar um dígito, por isso, gera um carry (vai um)

Aritmética Computacional Adição em Binário : Exemplo Cada posição só pode representar um dígito, por isso, gera um carry + 1 + 1 + 1 10 + cin 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 + 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 + + cout Soma

Aritmética Computacional Entradas Saídas Cin Cin A B Cin S Cout 1 A +B Cout S

Aritmética Computacional Entradas Saídas A B Cin S Cout 1 A B Cin A B Cin A B Cin S = A B Cin + A B Cin + A B Cin + A B Cin A B Cin

Aritmética Computacional Entradas Saídas A B Cin S Cout 1 A B Cin A B Cin Cout = A B Cin + A B Cin + A B Cin + A B Cin A B Cin A B Cin

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

Aritmética Computacional Simplificando as expressões Cout = A B Cin + A B Cin + A B Cin + A B Cin B B 1 P2=BCin A A P3=ACin Cin Cin Cin P1=AB Cout = AB+BCin+ACin

Aritmética Computacional Circuito Somador S = A + B + Cin Cout = AB+BCin+ACin A + B + Cin B + Cin BCin AB AB+BCin+ACin ACin

Somador de 4 bits B3 A3 B2 A2 B1 A1 B0 A0 C0 Somador Somador Somador

Somador Bit Slice B3 A3 Somador C4 S3 C3 Para gerar o carry seguinte há 2 estágios de portas lógicas Atraso de 1 porta lógica Atraso de 1 porta lógica

Somador de 4 bits Somador Ripple-Carry B3 A3 B2 A2 B1 A1 B0 A0 C0 Ripple-Carry: Ondulação ou Propagação do Carry. Carry-Out de um estágio se transforma no Carry-In do estágio seguinte. Ai e Bi “alimentam” os somadores em paralelo, mas o circuito deve esperar a propagação dos Carries para concluir a operação.

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 6 1 6 7 6 5 8 - 7 6 5 8 7 6 5 8 8 - - 8 1

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

Aritmética Computacional Subtração em Binário : Exemplo Gera um “empresta-1” (carry out) da coluna seguinte: a 1a coluna passa a valer 102=210 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 0 1 1 - - - - - - 1 1 1 1 1 1 1 1 1 1 1 1 1 cin 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 - 1 1 1 1 1 1 1 1 Subtração

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

Soluções 1) Tabela Verdade para o Subtrator Entradas Saídas A B Cin S Cout 1

Soluções 2) Entradas Saídas A B Cin S Cout 1 1 S = A B Cin + A B Cin + A B Cin + A B Cin

Soluções 2) Entradas Saídas A B Cin S Cout 1 1 S = A B Cin + A B Cin + A B Cin + A B Cin Cout = A B Cin + A B Cin + A B Cin + A B Cin

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

Soluções 2) 1 Simplificando as expressões Cout = A B Cin + A B Cin + A B Cin + A B Cin B B P3=ACin 1 P2=BCin A A Cin Cin Cin P1=AB Cout = AB+BCin+ACin

Soluções Circuito Subtrator 3) S = A + B + Cin Cout = AB+BCin+ACin

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

Exemplo: ULA Simplificada B

Adição e Subtração em Complemento de 2 Complemento de 2 do valor -710 Exemplos de Adição: 7 (+5) 2 - 710=01112 1000 + 1 1001 a) + 510=01012 - Cin=0 1 1001 0101 1110 Cin=0 Overflow=0 + Cout=0 =-210 0001 + 1 0010 Cout=0 Complemento de 2 de -210 em Complemento de 2

Adição e Subtração em Complemento de 2 Complemento de 2 do valor -410 Exemplos de Adição: 4 (+4) - 410=01002 1011 + 1 1100 b) + Cin=1 1 1100 0100 0000 Cin=1 Overflow=0 + Cout=1 1 =010 1111 + 1 0000 Cout=1 Complemento de 2 de 010 em Complemento de 2 Despreza o carry

Adição e Subtração em Complemento de 2 Exemplos de Adição: +3 (+4) 7 310=00112 c) + 410=01002 + Cin=0 0011 0100 0111 Cin=0 Overflow=0 + Cout=0 =710 Cout=0 em Complemento de 2

Adição e Subtração em Complemento de 2 Complemento de 2 do valor -410 Exemplos de Adição: 1011 + 1 1100 4 (-1) 5 d) - 410=01002 + 110=00012 Complemento de 2 do valor -110 - 1110 + 1 1111 Cin=1 1 1100 1111 1011 + Cin=1 1 =-510 Overflow=0 Cout=1 Cout=1 0100 + 1 0101 em Complemento de 2 Complemento de 2 de -510 Despreza o carry

Adição e Subtração em Complemento de 2 Exemplos de Adição: 2 números positivos somados não podem resultar num número negativo +5 (+4) 9 510=01012 e) + 410=01002 + Cin=1 1 0101 0100 1001 Cin=1 Overflow=1 + Cout=0 =910 Erro de Overflow 10012=910 Cout=0 em Complemento de 2 Não dá para representar 9 com registrador de 4 bits, com 1 bit de sinal

Adição e Subtração em Complemento de 2 Complemento de 2 do valor -710 Exemplos de Adição: 1000 + 1 1001 7 (-6) 13 - 710=01112 f) + 610=01102 Complemento de 2 do valor -610 - 1001 + 1 1010 Cin=0 1001 1010 0011 + Cin=0 1 =310 Overflow=1 Cout=1 Cout=1 em Complemento de 2 2 números negativos somados não podem resultar num número positivo Despreza o carry

Adição e Subtração em Complemento de 2 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

Adição e Subtração em Complemento de 2 Complemento de 2 do valor 710 Exemplos de Subtração: 2 (+7) 5 210=00102 1000 + 1 1001 a) - 710=01112 - Cin=0 0010 1001 1011 Cin=0 Overflow=0 + Cout=0 =-510 0100 + 1 0101 Cout=0 Complemento de 2 de -510 em Complemento de 2

Adição e Subtração em Complemento de 2 Complemento de 2 do valor 210 Exemplos de Subtração: 5 (+2) 3 510=01012 1101 + 1 1110 b) - 210=00102 Cin=1 1 0101 1110 0011 Cin=1 Overflow=0 + Cout=1 1 =310 Cout=1 em Complemento de 2 Despreza o carry

Adição e Subtração em Complemento de 2 Complemento de 2 do valor -510 Exemplos de Subtração: 5 (+2) 7 - 510=01012 1010 + 1 1011 c) - 210=00102 Complemento de 2 do valor 210 - 1101 + 1 1110 Cin=1 1 1 1011 1110 1001 + Cin=1 1 =-710 Overflow=0 Cout=1 Cout=1 0110 + 1 0111 em Complemento de 2 Complemento de 2 de -710 Despreza o carry

Adição e Subtração em Complemento de 2 Complemento de 2 do valor 210 Exemplos de Subtração: 5 (-2) 7 510=01012 1101 + 1 1110 d) - 210=00102 Complemento de 2 do valor -210 0001 + 1 0010 Cin=0 Complemento de 2 de -2=2 0101 0010 0111 + Cin=0 Overflow=0 =710 Cout=0 Cout=0 em Complemento de 2

Adição e Subtração em Complemento de 2 Complemento de 2 do valor 710 Exemplos de Subtração: 7 (-7) 14 710=01112 1000 + 1 1001 e) - Complemento de 2 do valor -710 0110 + 1 0111 Cin=0 1 1 1 Complemento de 2 de -7=7 0111 1110 + Cin=1 Overflow=1 =-210 Cout=0 Erro de Overflow Cout=0 em Complemento de 2 011102=1410 Não dá para representar 14 com registrador de 4 bits, com 1 bit de sinal

Adição e Subtração em Complemento de 2 Complemento de 2 do valor 610 Exemplos de Subtração: (-6) (+4) 10 610=01102 1001 + 1 1010 f) - 410=01002 Complemento de 2 do valor 410 - 1011 + 1 1100 Cin=0 1010 1100 0110 + Cin=0 Overflow=1 1 =610 Cout=1 Erro de Overflow Cout=0 em Complemento de 2 2 números negativos somados não podem resultar num número positivo

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

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

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

Circuito Somador/Subtrator em Complemento de 2 C=Controle da Operação C=0  Ai+Bi C=1  Ai-Bi Cin A B S Cout S0 S1 A1 A0 C0 B1 B0 B_SEL0 B_SEL1 S2 S3 A3 A2 B3 B2 B_SEL2 B_SEL3 Complemento de 2 de B A0 B0 +0 A0 B0 +1 C=0 C=1

Exercícios 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). O custo do “novo” circuito somador/subtrator é maior ou menor que o do circuito anterior?

Soluções 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). A3 A2 B3 B2 A1 A0 B1 B0 MUX MUX MUX MUX C0 B_SEL3 B_SEL2 A B S Cin Cout B_SEL1 A B S Cin Cout B_SEL0 A B A B S3 S2 S1 S0 Cout Cout Cin Cout Cin S S S3 S2 S1 S0

Soluções 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

Somador de Alto Desempenho Somador Convencional Somador Ripple-Carry B3 A3 B2 A2 B1 A1 B0 A0 C0 Somador Somador Somador Somador C4 S3 C3 S2 C2 S1 C1 S0 Somador Convencional: Atrasos para propagar o carry

Somador de Alto Desempenho Somador Carry Lookahead B3 A3 B2 A2 B1 A1 B0 A0 CL CL CL C0 Somador Somador Somador Somador C4 S3 C3 S2 C2 S1 C1 S0 CL: Lógica para antecipar o carry sem passar pelo somador

Somador de Alto Desempenho Expressão do Carry do Somador A B C-out 0 0 0 “nada” 0 1 C-in “propaga” 1 0 C-in “propaga” 1 1 1 “gera” Ci+1 = AiBi + AiCi +BiCi 1. Fatorando a expressão Ci+1 = AiBi + Ci (Ai+Bi) 2. Chamando AiBi de Gi e Ai+Bi de Pi Ci+1 = Gi + PiCi 3. Substituindo os índices para obter os carries para um somador de 4 bits C1 = G0 + P0C0 4. Para simplificar a análise, vamos considerar C0=0 para soma C1 = G0

Somador de Alto Desempenho Expressão do Carry do Somador C2 = G1 + P1C1 5. Substituindo C1=G0 C2 = G1 + P1G0 6. Obtendo C3 C3 = G2 + P2C2 7. Substituindo C2 = G1 + P1G0 C3 = G2 + P2(G1 + P1G0)  C3 = G2 + P2G1 + P2P1G0 8. Obtendo C4 C4 = G3 + P3C3  C4 = G3 + P3(G2 + P2G1 + P2P1G0)  C4 = G3 + P3G2 + P3P2G1 + P3P2P1G0

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

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

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