MC542 Organização de Computadores Teoria e Prática

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Parte 1: Organização de Computadores
Representação de Ponto Flutuante
Sistemas de Numeração.
Representação de Números
Arquitetura de Computadores
Aritmética Computacional
Arquitetura de Computadores
Palestras, oficinas e outras atividades
Sistemas de Numeração.
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Circuitos Lógicos e Organização de Computadores Capítulo 6 – Blocos com Circuitos Combinacionais 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.
Sistemas de Numeração O número é um conceito abstrato que representa a idéia de quantidade. Sistema de numeração é o conjunto de símbolos utilizados para.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Representação de números
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Representação de Dados e Sistemas de Numeração Aula 4
Multiplicação e Divisão Serial Moraes/Ney - 07/novembro/2007
William Stallings Arquitetura e Organização de Computadores 8a Edição
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
MO Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
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
MO Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC542 Organização de Computadores Teoria e Prática
Introdução à informática
Registradores de deslocamento (Shift Register)
CAP. 2 RESPOSTA EM FREQÜÊNCIA TE 054 CIRCUITOS ELETRÔNICOS LINEARES
As aulas não cobrem toda a matéria! Há que ler as folhas teóricas!
Faculdade Pitágoras Prof. Edwar Saliba Júnior Setembro de 2008
Provas de Concursos Anteriores
UNIDADE II.
Introdução a Tecnologia da Informação
Renda até 2 SM.
Sistemas Numéricos Sistemas Numéricos de Interesse
INTRODUÇÃO À ENGENHARIA
Sistemas de Numeração e Conversão de Base
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
Circuitos combinatórios típicos: circuitos aritméticos
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Operações Aritméticas em Binário
Representações Avançadas em Binário
Circuitos Seqüenciais Contadores
Coordenação Geral de Ensino da Faculdade
Representação Digital da Informação
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
ICC – 4.2. Aritmética Binária
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.
1 2 Observa ilustração. Cria um texto. Observa ilustração.
ELETRÔNICA DIGITAL Circuitos Aritméticos
Pet computação UFPE Aula de apoio aos feras: Sistemas de Numeração.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Olhe fixamente para a Bruxa Nariguda
Rio Verde - Goiás - Brasil
Sistemas de Numeração.
Máquina de Turing Universal
1 Prof. Humberto Pinheiro, Ph.D SISTEMAS DE MODULAÇÃO DPEE-CT-UFSM Modulação Geométrica Conversores Multiníveis Trifásicos com Diodo de Grampeamento.
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da.
Representação de Números Inteiros
Representação de Dados
Subtrator e Somador BCD
Operações Aritméticas no Sistema binário
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Transcrição da apresentação:

MC542 Organização de Computadores Teoria e Prática 2006 Prof. Paulo Cesar Centoducatte ducatte@ic.unicamp.br www.ic.unicamp.br/~ducatte Review today, not so fast in future

“Fundamentals of Digital Logic with VHDL Design” - (Capítulo 5) MC542 Circuitos Lógicos Representação de Números e Circuitos Aritméticos “Fundamentals of Digital Logic with VHDL Design” - (Capítulo 5) Review today, not so fast in future

Título do Capítulo Abordado Sumário Representação Posicional Adição de N´´umeros sem Sinal Números com Sinal (sinalizados) Somadores Rápidos Multiplicação Representações de Números Reais

Representação Posicional Representação de Inteiros sem Sinal Sistema Binário: D = dn-1 dn-2 … d1 d0 V(D) = dn-1x10n-1 + dn-2x10n-2 + … + d1x101 + d0x100 B = bn-1 bn-2 … b1 b0 V(B) = bn-1x2n-1 + bn-2xbn-2 + … + b1x21 + b0x20 n-1 = ∑ bix2i i=0

Representação Posicional Conversão entre Decimal e Binário V(B) = bn-1x2n-1 + bn-2xbn-2 + … + b1x21 + b0x20 V(B) = bn-1x2n-1 + bn-2xbn-2 + … + b1x21 + b0 V(B) = bn-1x2n-2 + bn-2xbn-3 + … + b1 + b0 2 2 Conversão de Decimal para Binário: Divisão sucessiva por 2

Exemplo

Octal e Hexadecimal

Adição de Números sem Sinal 0 1 0 1 0 x + + 0 0 1 1 0 y c s 0 1 1 0 Carry Soma x y c s 1

Adição de Números sem Sinal X = x x x x x 0 1 1 1 1 ( 15 ) 4 3 2 1 10 + Y = y y y y y 0 1 0 1 0 ( 10 ) 4 3 2 1 10 1 1 1 0 Generated carries S = s s s s s 1 1 0 0 1 ( 25 ) 4 3 2 1 10

Adição de Números sem Sinal Somador Completo a partir de ½ Somador HA c x i HA c c y i + 1 i c i s i x i y i c i + 1

Somador Ripple-Carry x y x y x y n – 1 n – 1 1 1 c 1 c c FA c c n n ” c 1 c c FA c c n n ” 1 2 FA FA s s s n – 1 1 MSB position LSB position

Representação de Números Negativos Sinal e Magnitude b b b n – 1 1 Número sem Sinal Magnitude MSB b b b b n – 1 n – 2 1 Número com Sinal Magnitude Sign 0 denotes + 1 denotes – MSB

Representação de Números Negativos Complemento de 1 Em complemento de “Um” o número negativo K, com n-bits, é obtido subtraíndo seu positivo P de 2n - 1 K = (2n – 1) - P Exemplo: se n = 4 então: K = (24 – 1) – P K = (16 – 1) – P K = (1111)2 - P K = -7 -> P = 7 7 = (0111)2 -7 = (1111)2 - (0111)2 -7 = (1000)2

Representação de Números Negativos Complemento de 2 Em complemento de “Dois” o número negativo K, com n-bits, é obtido subtraíndo seu positivo P de 2n K = (2n - 1) + 1 - P K = 2n - P K = (2n - 1) – P + 1 Exemplo: se n = 4 então: K = 24 – P K = 16 – P K = (10000)2 - P K = -7 -> P = 7 7 = (0111)2 -7 = (10000)2 - (0111)2 -7 = (1001)2

Representação de Números Negativos

Adição e Subtração Complemento de 1 ( + 5 ) 0 1 0 1 ( – 5 ) 1 0 1 0 + ( + 2 ) + 0 0 1 0 + ( + 2 ) + 0 0 1 0 ( + 7 ) 0 1 1 1 ( - 3 ) 1 1 0 0 ( + 5 ) 0 1 0 1 ( – 5 ) 1 0 1 0 + ( – 2 ) + 1 1 0 1 + ( – 2 ) + 1 1 0 1 ( + 3 ) 1 0 0 1 0 ( – 7 ) 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0

Adição e Subtração Complemento de 2 ( + 5 ) 0 1 0 1 ( – 5 ) 1 0 1 1 + ( + 2 ) + 0 0 1 0 + ( + 2 ) + 0 0 1 0 ( + 7 ) 0 1 1 1 ( – 3 ) 1 1 0 1 ( + 5 ) 0 1 0 1 ( – 5 ) 1 0 1 1 + ( – 2 ) + 1 1 1 0 + ( – 2 ) + 1 1 1 0 ( + 3 ) 1 0 0 1 1 ( – 7 ) 1 1 0 0 1 ignore ignore

Subtração em Complemento de 2 ( + 5 ) 0 1 0 1 0 1 0 1 – ( + 2 ) – 0 0 1 0 + 1 1 1 0 ( + 3 ) 1 0 0 1 1 ignore ( – 5 ) 1 0 1 1 1 0 1 1 – ( + 2 ) – 0 0 1 0 + 1 1 1 0 ( – 7 ) 1 1 0 0 1 ignore ( + 5 ) 0 1 0 1 0 1 0 1 – ( – 2 ) – 1 1 1 0 + 0 0 1 0 ( + 7 ) 0 1 1 1 ( – 5 ) 1 0 1 1 1 0 1 1 – ( – 2 ) – 1 1 1 0 + 0 0 1 0 ( – 3 ) 1 1 0 1

Complemento de 2 0000 1111 0001 1110 0010 – 1 + 1 – 2 + 2 1101 0011 – 3 + 3 1100 – 4 + 4 0100 – 5 + 5 1011 0101 – 6 + 6 – 7 + 7 – 8 1010 0110 1001 0111 1000

Unidade Somador-Subtrator y y y n – 1 1 Add ¤ Sub control x x x n – 1 1 c n -bit adder c n s s s n – 1 1

Overflow Quando há overflow? Como detectar se houve overrflow? ( + 7 ) 0 1 1 1 ( – 7 ) 1 0 0 1 + ( + 2 ) + 0 0 1 0 + ( + 2 ) + 0 0 1 0 ( + 9 ) 1 0 0 1 ( – 5 ) 1 0 1 1 c = c = 4 4 c = 1 c = 3 3 ( + 7 ) 0 1 1 1 ( – 7 ) 1 0 0 1 + ( – 2 ) + 1 1 1 0 + ( – 2 ) + 1 1 1 0 ( + 5 ) 1 0 1 0 1 ( – 9 ) 1 0 1 1 1 c = 1 c = 1 4 4 c = 1 c = 3 3

Somadores Rápidos Carry-Lookahead Desempenho do somador Ripple Carry de n-bits Se cada somador completo tem um atraso de Δt Então, o atraso de todo o somador será de n Δt

Somadores Rápidos Carry-Lookahead Ci+1 = xiyi + xici + yici Ci+1 = xiyi + (xi + yi)ci Ci+1 = gi + pici Ci+1 = gi + pi (gi-1 + pi-1 ci-1) Ci+1 = gi + pigi-1 + pipi-1ci-1

Somadores Rápidos Ripple Carry em termos de g e p x y x y 1 1 g p g p 1 1 c 1 c c 2 Stage 1 Stage 0 s s 1

Somadores Rápidos Carry-Lookahead x y x y 1 1 x y g p g p 1 1 c c 2 c 1 s s 1

Somadores Rápidos Carry-Lookahead x y x y x y 31 – 24 31 – 24 15 – 8 15 – 8 7 – 7 – c 8 c Block Block Block c c c 32 3 24 16 1 s s s 31 – 24 15 – 8 7 –

Carry-Lookahead Hierarquico x y x y x y 31 – 24 31 – 24 15 – 8 15 – 8 7 – 7 – Block Block Block c 3 c 1 24 G P G P G P 3 3 1 1 s s s 31 – 24 15 – 8 7 – c c c 32 16 8 Second-level lookahead

Multiplicação Multiplicando M (14) 1 1 1 0 Multiplicador Q (11) ´ 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 Produto P (154) 1 0 0 1 1 0 1 0 Multiplicação: lapis e papel

Multiplicação Multiplicando M (11) 1 1 1 0 Multiplicador Q (14) ´ 1 0 1 1 Produto Parcial 0 1 1 1 0 + 1 1 1 0 Produto Parcial 1 1 0 1 0 1 + 0 0 0 0 Produto Parcial 2 0 1 0 1 0 + 1 1 1 0 Produto P (154) 1 0 0 1 1 0 1 0

Multiplicação

Multiplicação Números com Sinal Multiplicando M (+14) 0 1 1 1 0 Multiplicador Q (+11) x 0 1 0 1 1 Produto Parcial 0 0 0 0 1 1 1 0 + 0 1 1 1 0 Produto Parcial 1 0 1 0 1 0 1 + 0 0 0 0 0 Produto Parcial 2 0 0 1 0 1 0 + 0 1 1 1 0 Produto Parcial 3 0 1 0 0 1 1 + 0 0 0 0 0 Produto P (+154) 0 0 1 0 0 1 1 0 1 0 Multiplicando Possitivo

Multiplicação Números com Sinal Multiplicando M ( 14) – 1 0 0 1 0 Multiplicador Q (+11) ´ 0 1 0 1 1 Partial product 0 1 1 1 0 0 1 0 + 1 1 0 0 1 0 Partial product 1 1 1 0 1 0 1 1 + 0 0 0 0 0 Partial product 2 1 1 1 0 1 0 1 + 1 1 0 0 1 0 Partial product 3 1 1 0 1 1 0 0 + 0 0 0 0 0 Product P ( 154) – 1 1 0 1 1 0 0 1 1 0 Multiplicando Negativo

Representações de Números Reais Notação Científica: ± Mantissa x 10E Mantissa = x.yyyyyy Se Mantissa não possui zeros a esquerda do ponto decimal -> normalizado Padrão IEEE-754 Normalizado Bit Escondido (-1)s x (1 + Fração) x 2E

IEEE-754 de Precisão Simples 32 bits S E M Sign 8-bit 23 bits of mantissa 0 denotes + excess-127 1 denotes – exponent

IEEE-754 de Precisão Dupla 64 bits S E M Sign 11-bit excess-1023 52 bits of mantissa exponent

IEEE-754 Valores Representados Exponent Fraction Represents e = 0 = Emim - 1 f = 0  0 e = 0 = Emim - 1 f  0 0.f x 2 Emim  e  Emax 1.f x 2e e = Emax + 1 f = 0   e = Emax + 1 f  0 NaN Emim

IEE-754: Exemplo -0,75 = -0,11 Normalizando è 1,1 x 2 0 1 1 1 1 1 1 0 10 2 Normalizando è 1,1 x 2 -1 31 30 23 22 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Qual o decimal correspondente ? IEE-754: Exemplo Qual o decimal correspondente ? 31 30 23 22 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N= - ( 1+0.25) x 2 (129-127) = -1,25 x 4 = -5,0

BCD Binary-Coded-Decimal

Adição Usando BCD X 0 1 1 1 7 + Y + 0 1 0 1 + 5 Z 1 1 0 0 12 + 0 1 1 0 carry 1 0 0 1 0 S = 2 X 1 0 0 0 8 + Y + 1 0 0 1 + 9 Z 1 0 0 0 1 17 + 0 1 1 0 carry 1 0 1 1 1 S = 7

Adição Usando BCD

Somador BCD - Código VHDL LIBRARY ieee ; USE ieee.std_logic_1164.all ; USE ieee.std_logic_unsigned.all ; ENTITY BCD IS PORT (X, Y : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; S : OUT STD_LOGIC_VECTOR(4 DOWNTO 0) ) ; END BCD ; ARCHITECTURE Behavior OF BCD IS SIGNAL Z : STD_LOGIC_VECTOR(4 DOWNTO 0) ; SIGNAL Adjust : STD_LOGIC ; BEGIN Z <= ('0' & X) + Y ; Adjust <= '1' WHEN Z > 9 ELSE '0' ; S <= Z WHEN (Adjust = '0') ELSE Z + 6 ; END Behavior ;

Simulação Funcional do Somador BCD

? c out Four-bit adder Two-bit adder s 3 2 1 z x y in