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

Slides:



Advertisements
Apresentações semelhantes
ASSUNTO 6: Operãções com números racionais
Advertisements

Parte 1: Organização de Computadores
Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
Resolução de equações não lineares
Aritmética Computacional
Lógica booleana e implementação de funções booleanas
Arquitetura de Computadores
INTRODUÇÃO À LÓGICA DIGITAL
Monômios e Polinômios.
Celso C. Ribeiro Caroline T. Rocha
Álgebra Booleana e Circuitos Lógicos
Lógica Booleana A álgebra booleana é baseada totalmente na lógica. Desta forma, os circuitos lógicos executam expressões booleanas. As expressões booleanas.
VISÃO GERAL Profa. Fernanda Denardin Walker
PORTAS LÓGICAS Prof. Wanderley.
Máquinas de Estado Eletrônica Digital.
Eletrônica Digital Projeto de Circuitos Combinacionais Aritméticos
Eletrônica Digital Multiplexadores e Demultiplexadores
Adição e subtração Capítulo 4: Jean Pierre Descamps; Géry Jean Antoine Bioul; Gustavo D.Sutter Synthesis of Arithmetic Circuits – New Jersey, John Wiley.
Circuitos aritméticos
Portas e Funções Lógicas, Tabelas Verdade e Circuitos Lógicos
Ivan Saraiva Silva Aula 1 - Álgebra Booleana
FUNÇÃO COMPOSTA, FUNÇÃO INVERSA E FUNÇÃO MODULAR
Resolução.
Vetorização MO801/MC972.
Introdução a circuitos lógicos
MC542 Organização de Computadores Teoria e Prática
6. Estruturas p/ Sistemas Discretos
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.
POTENCIAÇÃO DE NÚMEROS RACIONAIS
Revisão de Circuitos Lógicos MO801/MC912. Conteúdo Níveis lógicos Portas lógicas Formas de onda Sinais básicos Elementos de armazenamento Registradores.
O MICROPROCESSADOR INTEL 8080
Universidade do Estado de Santa Catarina – CCT/UDESC
EQUAÇÕES POLINOMIAIS Prof. Marlon.
Decodificador 2 para 4 (2 : 4)
Circuitos combinatórios
Vamos Agora Obter Expressão Booleana a partir do Circuito
Projeto de Somador com e sem Sinal
Simplificação de Expressões Booleanas e Circuitos Lógicos
Arquitetura de Computadores
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Funções.
Circuitos Digitais - Somadores e Subtradores SOMADORES E SUBTRADORES.
Circuitos combinatórios típicos: circuitos aritméticos
MATEMÁTICA UNIDADE 7 Conteúdo: FUNÇÃO MODULAR Duração: 10 40’ 11/11/13
ASSUNTO 7: Operãções com números inteiros (SUBTRAÇÃO)
Conceitos de Lógica Digital
Projeto de Circuitos Combinacionais Aritméticos
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores.
Exercícios Referentes à Prova P1
SISTEMAS DIGITAIS ALGEBRA DE BOOLE E SIMPLIFICAÇÃO DE CIRC. LÓGICOS
SISTEMAS DIGITAIS CIRCUITOS COMBINACIONAIS
SISTEMAS DIGITAIS AULA 5
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
Conceitos de Lógica Digital
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
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
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Resoluções de equações Métodos iterativos
ELETRÔNICA DIGITAL Circuitos Aritméticos
Circuitos Lógicos e Álgebra de Boole
Aritmética Computacional Operações Complexas
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Subtrator e Somador BCD
UNIDADE LÓGICA ARITMÉTICA (ULA)
FUNDAMENTOS DE COMPUTAÇÃO
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Organização e Arquitetura de Computadores A.L.Lapolli – Organização e Arquitetura de Computadores Objetivo: Objetivo: Realizar as quatro.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Subtratores e Comparadores
Transcrição da apresentação:

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

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

Representação Binária

Carry e Overflow 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 Soma de dois números positivos + 5 + 24 0 0 0 1 0 1 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

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

Carry e Overflow Soma de dois números negativos – 5 – 10 1 1 1 0 1 1 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

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

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

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

S Cout: Solução 1 Cout = XY + XCin + YCin = XY + Cin (X+Y) 00 01 11 10 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 00 01 11 10 X Cout = XY + XCin + YCin = XY + Cin (X+Y) 1 1 1 1 1

Cout : Solução 2 Cout = XY + Cin (X Y) 00 01 11 10 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

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

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

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

Subtrator Completo D = X  Y  Bin Bout = XY + XBin + YBin Bout = XYBin + XYBin + XYBin + XYBin YBin 00 01 11 10 X Bout = XY + XBin + YBin = XY + Bin (X + Y) 1 1 1 1 1

+ 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”

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

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

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.

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

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