1 / 47

Arquitetura de Computadores

Arquitetura de Computadores. Representação de dados. Arquitetura de Computadores. Representação de dados: Símbolo : marca visual ou gráfica que representa um objeto que desejamos identificar (ex: A, 1, % , ...) Numeral : símbolo designado para representar um número (ex: 1, 7, 5+2, 90%, …)

Download Presentation

Arquitetura de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura de Computadores Representação de dados

  2. Arquitetura de Computadores • Representação de dados: • Símbolo: marca visual ou gráfica que representa um objeto que desejamos identificar (ex: A, 1, % , ...) • Numeral: símbolo designado para representar um número (ex: 1, 7, 5+2, 90%, …) • Número: idéia que os símbolos representam. Um número pode ser representado por diversos numerais (ex: 5 = 7 – 2 = 4 + 1 = 10 / 2)

  3. Arquitetura de Computadores • Sistema de Numeração Posicional: • Cada algarismo componente do número têm um valor relativo conforme sua posição no número. Seu valor absoluto é modificado por um fator (peso), o qual varia conforme a posição do algarismo, sendo crescente da direita para a esquerda • Ex: Sistema de numeração decimal • 100,00

  4. Arquitetura de Computadores • Algarismos e Números: • Em vez de criar infinitos símbolos (algarismos) para representar cada número desejado, pode-se agrupar valores e simplificar sua representação • Ex: No base 10, até o valor 9, os números são escritos com algarismos diferentes, mas o valor seguinte, 10, é representado por 2 algarismos (1 e 0), pois não temos o algarismo “10” • 10 = 1 (grupo de 10 unidades) + 0 (unidades) • O que fazemos para representar o valor 10 ? • Esgotadas as possibilidades com os algarismos individuais, utilizamos os 2 “menores” dígitos ou algarismos da base para representar o valor 10 • Recombinação dos algarismos da base • Pode-se usar esta recombinação para representar qualquer valor, aumentando-se apenas a quantidade de dígitos utilizados na representação • Ex: 11, 12, 13, …, 19, 20, 21, …, 29, 30, …, 99, 100, 101, …, 999, 1000, …

  5. Arquitetura de Computadores BASE: quantidade de símbolos ou dígitos ou algarismos diferentes que o referido sistema emprega para representar os números Toda a estrutura de formação dos números e realização de operações aritméticas em um sistema posicional está relacionada com o valor da BASE do referido sistema Sistema Decimal: 10 símbolos (base 10) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Sistema Binário: 2 símbolos (base 2) 0, 1 Sistema Hexadecimal: 16 símbolos (base 16) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

  6. Arquitetura de Computadores • Ex: Sistema decimal • 2622 = 2000 + 600 + 20 + 2 • 2000 = 2x1000 = 2x103 • 600 = 6x100 = 6x102 • 20 = 2x10 = 2x101 • 2 = 2x1 = 2x100

  7. Arquitetura de Computadores • Neste exemplo o fator (peso) que modifica o valor do algarismo conforme sua posição, é, em cada parcela, uma potência de 10 (1000, 100, 10 e 1) a partir da potência 0 (algarismo mais à direita do número, ou menos significativo), sendo crescente para a esquerda (potência 1, potência 2, …) até o último algarismo (mais significativo) • É um potência de 10 porque o sistema usado como exemplo é o sistema DECIMAL. Isso conduz a um conceito fundamental dos sistemas posicionais: o de BASE

  8. Arquitetura de Computadores • Algarismos e Números: • Qualquer número pode ser interpretado como tendo um VALOR dado pela seguinte expressão: • onde: • k = base do sistema • bi = um algarismo da base • n = quantidade de algarismos inteiros no número • m = quantidade de algarismos fracionários número

  9. Arquitetura de Computadores • Ex: 541.2510 = 5  102 + 4  101 + 1  100 + 2  10-1 + 5  10-2 = (500)10 + (40)10 + (1)10 + (2/10)10 + (5/100)10 = (541.25)10 • Onde temos: • k = base do sistema = 10 • bi(s) = algarismos = 5, 4, 1, 2, 5 • n = qtd algarismos inteiros = 3 (5, 4, 1) • m = qtd algarismos fracionários = 2 (2, 5)

  10. Arquitetura de Computadores • Representação numérica para computador: • Toda informação humana pode ser bem representada com zeros e uns. • Existem vários tipos de representações que de uma mesma informação. Ex: 10d = 1010b = 0Ah = 12o = ..... • Os seres humanos tem facilidades para entender o formato decimal • As máquinas tem facilidades para entender o formato Numérico Binário

  11. Arquitetura de Computadores • Limites computacionais • A arquitetura de um computador define o número de bits que o um processador pode usar para calcular valores. Este número de bits pode limitar a quantidade de dados que poderão ser processados, se as informações forem muito grandes. • Uma outra situação comum é que os operando podem não exceder os limites, mas os resultados podem, gerando um overflow. • Ex: em 8 bits é facil somar 100 + 100 = 200d, mas 100x100 = 10000 (Overflow)

  12. Arquitetura de Computadores • Números de Ponto Fixo • Os números de ponto fixo, são representados sempre com número de dígitos fixo, com uma virgula em posição fixa em relação ao número. Ex: 0,23 5,34 9,11 • Podemos representar também como números binários: Ex: 11,00 01,11 11,11 • A virgula não existe nos computadores, apenas na cabeça dos programadores.

  13. Arquitetura de Computadores • Intervalo de Representação e Precisão numérica de ponto fixo • Uma representação de ponto fixo pode ser caracterizada pelo intervalo de representação de números que podem ser expressos. (a distância entre maior e o menor número) • A precisão é dada pela distância entre dois números adjacentes. • Exemplo de Intervalo: 0,00 pode ir até 9,99, logo é denotado como [0,00 , 9,99] • Exemplo de Precisão: 9,98 e 9,99, a diferença é 0,01, logo a precisão é de 0,01 • Exemplo de Erro: o erro é a precisão/2, logo é 0,005. Figura retirada do livro Introdução a Arquitetura de Computadores, Miles J. Murdocca

  14. Arquitetura de Computadores • Outras formas de representações • [0,00 , 9,99] , [00,0 , 99,9] , [000, 999] ou • [-49, 50] , [ -99,0] • Representações e precisão são pontos importantes em arquitetura de computadores porque ambos são finitos ma implementação da arquitetura. • Problema: No mundo real, os números são infinitos.

  15. Arquitetura de Computadores • Lei associativa da álgebra nem sempre funciona em computadores • A + (B + C) = (A + B) + C • Se o intervalo numérica for de [-9 , 9 ] e sendo a = 7, b = 4 e c = -3, então: • A + (B + C) = 7 + (4 – 3) = 8 • (A + B) + C = (7 + 4) – 3) = - 2 ( Overflow)

  16. Arquitetura de Computadores • Conversão de bases

  17. Arquitetura de Computadores • Convertendo números de pontos fixos: • Exemplo: Convertendo 23,37510 para base binária • A conversão é feita em 2 etapas: • Parte INTEIRA + parte FRACIONÁRIA (se houver) • PARTE INTEIRA: Continuação • Em cada divisão, o resto encontrado é um algarismo significativo do número na nova base • O primeiro resto encontrado é o valor do algarismo menos significativo (mais à direita) e o último será o algarismo mais significativo (mais à esquerda) • Toda a aritmética envolvida no cálculo é da base de origem (neste caso, base 10) • Utilizar uma tabela de equivalência dos algarismos das bases K e 10, para saber como representar os algarismos encontrados (resto), se necessário, na base K

  18. Arquitetura de Computadores • Parte Inteira

  19. Arquitetura de Computadores • Parte Fracionária

  20. Arquitetura de Computadores • Portanto, para representar um número na base 10 em uma base qualquer K, converte-se primeiro a parte inteira, depois a parte fracionária, e utiliza-se ambas na notação “Inteiro , Fração” • Logo: • 23,375 = ( )2 • 23 = 10111 • 0,375 = 0,011 • 23,375 = 10111,011

  21. Arquitetura de Computadores • Base 10 para Base K: PARTE FRACIONÁRIA: Método de Multiplicações Sucessivas • Ex 2: Nem sempre pode-se converter uma fração finita em uma fração finita em outra base

  22. Arquitetura de Computadores • Base K para Base 10: • Ex 1: 100011,012 = ( ) 10 100011,012 = 1  25 + 0  24 + 0  23 + 0  22 + 1  21 + 1  20 + 0  2-1 + 1  2-2 = 32 + 2 + 1 + 0,25 = 35,2510 • Ex 2: 6738 = ( ) 10 6738 = 6  82 + 7  81 + 3  80 = 384 + 56 + 3 = 44310

  23. Arquitetura de Computadores • Soma Binária

  24. Arquitetura de Computadores • Representação numérica sinalizado • Para um número binário de 8 bits, temos 256 possibilidades. • Se temos que representar os números negativos também, devemos separar uma parte destas possibilidades para representar estes números. • Temos 4 principais formas de sinalizar um número negativo: • Sinal de Magnetude • Complemento de um • Complemento de dois • Excesso de 4.

  25. Arquitetura de Computadores • Magnetude de sinal • Basta colocar o bit mais significativo com o sinal 1, para representar um número negativo • Exemplo: +2510 = 000110012 -2510 = 100110012 • Duas representações de Zeros. Ex: 00000000 e 10000000 • Intervalos de números de +127 e – 127 em decimal

  26. Arquitetura de Computadores • Complemento de um • Os bits são trocados, os Zeros se tornam Um e os Uns se tornam Zeros. • Exemplo: +2510 = 000110012 -2510 = 111001102 • Possui duas representação de zeros: +0 = 000000002, -0 = 111111112. • Faixa de valores: +12710, e o menor número -12710, usando 8 bits de representação

  27. Arquitetura de Computadores • Complemento de dois • Neste modo de representação, é executado o complemento de um, mais a somatória de 1. • Exemplo: +2510 = 000110012 -2510 = 111001112 Apenas uma representação numérica do Zero: +0 = 000000002, -0 = 000000002. Faixa de valores: +12710, e o menor número é -12810, para 8 bits.

  28. Arquitetura de Computadores • Representação de Excesso • O número é tratado sem sinal, então o valor é deslocado (shifted) do mesmo. • Exemplo: (para criar um numero de excesso, basta somar 128 ao número em um padrão de 8 bits) +1210 = 100011002 -1210 = 011101002 • Ünica representação do Zero • Maior número é +12710, enquanto que o menor número é -12810, usando 8-bit de representação

  29. Arquitetura de Computadores • Representação de Decimal em Binário • Números podem ser representados em base 10, mesmo usando codificação binária. • Cada dígito na base 10 ocupa quatro bits, o que é conhecido como decimal codificado em binário (BCD). Então, cada dígito utiliza os primeiros 10 padrões de binários de 4 dígitos. • Ex: 123 -> 0001 0010 0011

  30. Arquitetura de Computadores • Complemento de 9 e 10

  31. Arquitetura de Computadores

  32. Arquitetura de Computadores • Número de Pontos Flutuantes • Permite que grandes números e pequenos números possam ser representados usando somente poucos dígitos, de acordo com a precisão especificada. • A precisão é determinada pela quantidade de dígitos da fração (inclui a parte inteira e fracionária) e o dimensão do número é determinado pelo número de dígitos do campo expoente. • Examplo (+6.023 ´ 1023):

  33. Arquitetura de Computadores • Normalização • Um número na base 10, digamos 254 pode ser representada em ponto flutuante na forma de 254 x 100 , ou equivalentemente: • 25.4 x 101, ou • 2.54 x 102, ou • .254 x 103, ou • .0254 x 104, ou • Ou de outras formas infinitas, que podem gerar problemas na hora de comparar dois números. • Devido a este problema, os números de ponto flutuante são normalizados.Normalmente, mas nem sempre os números são deslocados para a esquerda logo após a virgula. Ex: .254 ´ 103.

  34. Arquitetura de Computadores • Exemplo de ponto flutuante • Vamos representar o número .254 x 10 3 numa base normalizada de base 8, com bit de sinal e 3 bits de excesso de 4 para o expoente. • Passo 1, converter a base • .254 ´ 103 = 25410. Usando o método já conhecido, temos 25410 = 376 ´ 80: 254/8 = 31 R 6 31/8 = 3 R 7 3/8 = 0 R 3 • Passo 2, normalizar:376 ´ 80 = .376 ´ 83. • Passo 3: Preencher os campos de bits, com o sinal, expoente de 3+4 = 7 (excesso ed 4) e 4 dígitos para fração = .3760: 0 111 . 011 111 110 000

  35. Arquitetura de Computadores • No exemplo anterior temos • base = 8; • S = 4; • M=3; • M = -4 • Representação do Zero = 0 000 000 000 000 000; • Com estes parametros é possivel calcular os seguintes valores: • Maior número representável • Menor número representável • O maior GAP entre dois números • O menor GAP entre dois números • O total de bits que são necessários para representar o número

  36. Arquitetura de Computadores • Erros, faixas e precisões: • Maior número representável: bM´ (1 - b-s) = 83´ (1 - 8-4) • Menor número representável: bm´b-1 = 8-4 - 1= 8-5 • Maior Gap: bM´b-s = 83 - 4 = 8-1 • Menor Gap: bm´b-s = 8-4 - 4= 8-8

  37. Arquitetura de Computadores • Erros, faixas e precisões: • Cálculo de número de números de representação • Há 5 componentes: • (A) O sinal de bits: 2x • (B) expoente: (M-m) + 1 • (C) Valor do primeiro dígito: b – 1 (Não pode ser Zero para primeiro dígito normalizado) • (D) Valor de cada um dos s-1 digitos restantes: Bs-1 • (E) representação especial para Zero: + 1 • Para este exemplo, temos: 2 ´ ((3 - 4) + 1) ´ (8 - 1) ´ 84-1 + 1 = número que podem ser representados (quantidade de padrões).

  38. Arquitetura de Computadores • Exemplo de Ponto Flutuante: • Menor número: 1/8 • Maior número: 7/4 • Menor gap: 1/32 • Maior gap: ¼ • Quantidades de números representáveis: 33

  39. Arquitetura de Computadores • O erro relativo é aproximadamente o mesmo para todos os números número • Se pegarmos a razão entre o maior gap com o maior número e comparar com a razão do menor gap com o menor número, teremos o mesmo valor.

  40. Arquitetura de Computadores • Conversão de números • Converter (9.375 ´ 10-2)10 na base 2 da notação científica • Tirar a notação científica: .09275 • Converter em notação binária : .09375 ´ 2 = 0.1875 .1875 ´ 2 = 0.375 .375 ´ 2 = 0.75 .75 ´ 2 = 1.5 .5 ´ 2 = 1.0 • Portanto: (.09375)10 = (.00011)2. • Finalmente converter para a base 2 normalizada: .00011 = .00011 ´ 20 = 1.1 ´ 2-4

  41. Arquitetura de Computadores • Padrão IEEE-754 de ponto flutuante

  42. Arquitetura de Computadores • Exemplo do padrão IEEE 754

  43. Arquitetura de Computadores • Exemplo de uso do padrão IEEE 754 • Representar -12.625 na precisão simples do formato IEEE-754: • Passo1: Converter para a base 2: -12.62510 = -1100.1012 • Passo2: Normalizar: -1100.1012 = -1.1001012´ 23 • Passo3: Preencher os campos de bits: • Sinal negativo, usar 1 • Expoente em excesso de 127 (não usar 128). O expoente é representado por um inteiro náo sinalizado: 3 + 127 = 130. • O bit 1 mais significativo é escondido. 1 1000 0010 . 1001 0100 0000 0000 0000 000

  44. Arquitetura de Computadores • De acordo com exercito norte americano, as falhar dos mísseis patriot, foram as perdas de precisão da conversão de 24 bits de inteiros para 24 bits de ponto flutuante.

  45. Arquitetura de Computadores • Tabela ASCII • A possui o valor de 41h. Para converter em maiuscula, basta somar 20h • O caracter 5 tem o valor de 35h, para converter para numero, basta subtrair de 30h.

  46. Arquitetura de Computadores

  47. Unicode

More Related