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

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

Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores"— Transcrição da apresentação:

1 Arquitetura de Computadores
Aritmética

2 Arquitetura de Computadores
Aritmética Usando a representação numérica aprendida no capítulo passado, iremos explorar os métodos aritméticos de adição, subtração, multiplicação e divisão Iremos ver os métodos diferentes para os números de ponto fixo X ponto flutuante Como encontrar overflow.

3 Arquitetura de Computadores
Adição e subtração de ponto fixo O processo de adição ou subtração pode ser implementado utilizando os métodos de complementos de um ou complemento de dois, sendo que este último é o mais comum. Complemento de dois: Números podem ser adicionados ou subtraídos usando a idéia representada pela figura ao lado. Para adicionar basta caminhar no sentido horário, para subtrair o caminho inverso Overflow acontece, quando ocorre uma transição do +3 para -4 ou do -4 para +3.

4 Arquitetura de Computadores
Overflow Overflow acontece quando dois positivos são somados e o resultado é negativo ou quando se adiciona dois números negativos e produzir um resultado com número positivo. Somar dois números com sinais diferentes nunca produzirá um overflow. Em complemento de dois no processo de soma é normal descartar o bit de excesso (carry) e não indica a ocorrencia de overflow. Exemplo de overflow: Soma: ( = 160)10, produzirá na base 8, o valor –9610 iusando o formato de complemento de dois: = 80 = 80 = -96 (complemento de dois)

5 Arquitetura de Computadores
Implementação de adição e subtração via hardware Adição com Ripple-Carry (excedentes propagados em onda) Subtração com Ripple-Borrow (empréstimo propagados em onda)

6 Arquitetura de Computadores
Adição com Ripple-Carry (excedentes propagados em onda) Exemplo: soma de dois números binários, usando dois operandos de 4 bits, carry e resultados como saídas.

7 Arquitetura de Computadores
Sistema de 16 bits Um sistema maior poder ser construído partir de cascatas de somadores de 4 bits

8 Arquitetura de Computadores
Subtração Um circuito de subtração pode ser implementado usando a seguinte tabela verdade:

9 Arquitetura de Computadores
Modelo Ripple-Borrow de subtração Pode ser composta pela combinação em cascata, para gerar circuitos maiores. A e B são valores que são entrada para a subtração, as saídas são as diferenças e “vai um”

10 Arquitetura de Computadores
Combinação Subtração/Soma É possível criar um único circuito que possa somar e subtrair utilizando portas lógicas XOR.

11 Arquitetura de Computadores
Subtração usando complemento de um É raramente usando hoje em dia O excedente da posição mais a esquerda não é eliminado, mas sim somado de volta na posição menos significativa da porção inteira. Ex:

12 Arquitetura de Computadores
Representação cíclica de números usando três bits, com números em complemento de um.

13 Arquitetura de Computadores
O último carry, complica adição de números não inteiros portando o complemento de um não é normalmente utilizado.

14 Arquitetura de Computadores
Multiplicação e Divisão em Ponto Fixo Pode ser feito usando operações de adição, subtração e deslocamentos Funcionam com ou sem sinalização

15 Arquitetura de Computadores
Multiplicação de números de ponto fixo sem sinal Multiplicação de dois numero de 4 bits produzirá como resultado 8 bits Multiplicação de número de 4 bits, sinalizado produz com resultado um número de 7 bits! Figura retirada do livro Introdução a Arquitetura de Computadores, Miles J. Murdocca

16 Arquitetura de Computadores
Multiplicador em Série

17 Arquitetura de Computadores
Exemplo de um multiplicador usando a multiplicação serial

18 Arquitetura de Computadores
Divisão sem sinal A ideia é subtrair sucessivamente o valor divisor do dividendo usando o menos de bits possível para esta operação. Exemplo de divisão usando a base 2 7/3 = 2, com resto 1 Equivalentemente, (0111/11=10), com resto 1

19 Arquitetura de Computadores
• Divisor Serial

20 Arquitetura de Computadores
Exemplo de divisão com sinal Divisor Serial

21 Arquitetura de Computadores
Extensão do sinal Um número negativo deve ser estendido de acordo com u numero de bits do resultado para dar certo.

22 Arquitetura de Computadores
Aritmética de Ponto Flutuante As operações aritméticas em números de ponto flutuante podem ser feitas usando as operações de ponto fixo descritas anteriormente, prestando atenção em manter a representação de ponto flutuante.

23 Arquitetura de Computadores
Aritmética de Ponto Flutuante O tratamento para a aritmética de ponto flutuante difere da aritmética de inteiros porque temos pensar também nos expoente e no magnetude dos operandos ( Normalização) As operações aritméticas em números de ponto flutuante podem ser feitas usando as operações de ponto fixo descritas anteriormente, prestando atenção em manter a representação de ponto flutuante.

24 Arquitetura de Computadores
Adição e subtração em ponto flutuante Difere de ponto flutuante da aritmética inteira porque os expoentes tem de ser tratados junto com as magnetudes dos operandos Exemplo: Somar (.101 ´ ´ 24)2 .101 ´ 23 = .010 ´ 24, perde-se .001 ´ 23 de precisão ( ) ´ 24 = ´ 24 = ´ 25 Trabalhando apenas com 3 dígitos, temos: .100 ´ 25, e perdendo mais ´ 24 no processo

25 Arquitetura de Computadores
A multiplicação e divisão em ponto flutuante A multiplicação e divisão em ponto flutuante são feitos de maneira similar a adição e subtração em ponto flutuante.

26 Arquitetura de Computadores
Aritmética de alto desempenho Muitas aplicações exigem mais velocidades nos cálculos matemáticos. Usar este métodos simples, não é produtivo Outras técnicas são necessárias para melhorar a velocidades dos cálculos matemáticos em adição, subtração, multiplicação e divisão em ponto flutuante.

27 Arquitetura de Computadores
Adição de alto desempenho Carry-Lookahead Addition Os carries são representados em termos de expressões de Gi e Pi Gi = aibi and Pi = ai + bi c0 = 0 c1 = G0 c2 = G1 + P1G0 c3 = G2 + P2G1 + P2P1G0 c4 = G3 + P3G2 + P3P2G1 + P3P2P1G0

28 Arquitetura de Computadores
Carry-Lookahead Addition Atraso máximo das portas para a geração do garry é de 3. O pior caso usando o controle para adição será 5.

29 Arquitetura de Computadores
Multiplicação de ponto flutuante A multiplicação de ponto flutuante é feito de modo similar a subtração de adição, exceto que o sinal, expoente e a fração do resultado são computados separadamente. Podem gerar resultados negativos ou positivos Os expoentes são somados na operação de multiplicação de números Os expoentes são subtraídos na operação de divisão As frações são multiplicados ou divididos de acordo com a operação, e são normalizados. Exemplo: (+.110 ´ 25) / (+.100 ´ 24)2 Passo 1: verificar o sinal: Positivo Passo 2: subtrair o expoente: 5-4 = 1 Passo 3: dividir a parte fracionária: 110/100 = 1.10 Passo 4: combinar os resultados: (+1.10 ´ 21) Passo 5: Normalizado: (+.110 ´ 22).

30 Arquitetura de Computadores
The Booth Algorithm A multiplicação por Booth reduz o numero de adição dos resultados intermediários, mas pode algumas vezes piorar mais do que melhorar. Números positivos e negativos são tratados da mesma forma.

31 Arquitetura de Computadores
Pior caso para o Booth O pior caso acontece quando o algoritmo de requere duas vezes mais adição na multiplicação serial.

32 Arquitetura de Computadores
Bit-Pair Recoding (Modified Booth Algorithm)

33 Arquitetura de Computadores
Coding of Bit Pairs

34 Arquitetura de Computadores
Parallel Pipelined Array Multiplier

35 Arquitetura de Computadores
Divisão de alto desempenho Técnica de divisão fracional no calculo de a/b Fazer parecer que números são inteiros, efetuar a divisão e escalar de modo que fique com um número real fracionário. Um método mais rápido é usar uma tabela intermediária e interação.

36 Arquitetura de Computadores
Newton’s Iteration for Zero Finding O objetivo é achar onde a função f(x) cruza o eixo x, através de uma estimativa inicial xi e calcular o erro entre f(xi) e Zero. Depois, um novo calculo é feito com novas estimativas de modo que o zero possa ser alcançado. Ex: a/b = a x (1/b) Tabela com estimativas iniciais para o x0

37 Arquitetura de Computadores
Aritmética Residual Implementado sem uso de Carry (portanto rápido) As comparações são mais difíceis de serem implementados sem converter os números em formatos normalizados A representação dos primeiros 20 decimais inteiros em um sistema dado por modulos

38 Arquitetura de Computadores
Exemplo de cálculo usando aritmética residual

39 Arquitetura de Computadores
Adição usando BCD A adição é realizada digito por dígito, não bit por bit. Exemplo ( = 318)10:

40 Arquitetura de Computadores
Subtração usando BCD Usa-se o complemento de 10 para efetuar a subtração Exemplo: ( = 192)10:

41 Arquitetura de Computadores
Sinal do numero em BCD Um número é considerado negativo em BCD complemento de 10, quando o número mais a esquerda estiver entre 0 e 4 inclusive.

42 Arquitetura de Computadores
Subtração em complemento de 10 Exemplo: ( = -13)10:


Carregar ppt "Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google