03 - Representacao de Dados

download 03 - Representacao de Dados

of 47

description

arquitetura de computadores

Transcript of 03 - Representacao de Dados

  • Arquitetura de ComputadoresRepresentao de dados

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresRepresentao de dados:

    Smbolo: marca visual ou grfica que representa um objeto que desejamos identificar (ex: A, 1, % , ...)

    Numeral: smbolo designado para representar um nmero (ex: 1, 7, 5+2, 90%, )

    Nmero: idia que os smbolos representam. Um nmero pode ser representado por diversos numerais (ex: 5 = 7 2 = 4 + 1 = 10 / 2)

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresSistema de Numerao Posicional:

    Cada algarismo componente do nmero tm um valor relativo conforme sua posio no nmero. Seu valor absoluto modificado por um fator (peso), o qual varia conforme a posio do algarismo, sendo crescente da direita para a esquerda

    Ex: Sistema de numerao decimal100,00

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresAlgarismos e Nmeros:Em vez de criar infinitos smbolos (algarismos) para representar cada nmero desejado, pode-se agrupar valores e simplificar sua representao

    Ex: No base 10, at o valor 9, os nmeros so escritos com algarismos diferentes, mas o valor seguinte, 10, representado por 2 algarismos (1 e 0), pois no temos o algarismo 1010 = 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 dgitos ou algarismos da base para representar o valor 10

    Recombinao dos algarismos da base

    Pode-se usar esta recombinao para representar qualquer valor, aumentando-se apenas a quantidade de dgitos utilizados na representao

    Ex: 11, 12, 13, , 19, 20, 21, , 29, 30, , 99, 100, 101, , 999, 1000,

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresBASE: quantidade de smbolos ou dgitos ou algarismos diferentes que o referido sistema emprega para representar os nmerosToda a estrutura de formao dos nmeros e realizao de operaes aritmticas em um sistema posicional est relacionada com o valor da BASE do referido sistema

    Sistema Decimal: 10 smbolos (base 10)0, 1, 2, 3, 4, 5, 6, 7, 8, 9

    Sistema Binrio: 2 smbolos (base 2) 0, 1

    Sistema Hexadecimal: 16 smbolos (base 16)0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresEx: Sistema decimal

    2622 = 2000 + 600 + 20 + 2

    2000 = 2x1000 = 2x103600 = 6x100 = 6x10220 = 2x10 = 2x1012 = 2x1 = 2x100

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresNeste exemplo o fator (peso) que modifica o valor do algarismo conforme sua posio, , em cada parcela, uma potncia de 10 (1000, 100, 10 e 1) a partir da potncia 0 (algarismo mais direita do nmero, ou menos significativo), sendo crescente para a esquerda (potncia 1, potncia 2, ) at o ltimo algarismo (mais significativo)

    um potncia de 10 porque o sistema usado como exemplo o sistema DECIMAL. Isso conduz a um conceito fundamental dos sistemas posicionais: o de BASE

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresAlgarismos e Nmeros:Qualquer nmero pode ser interpretado como tendo um VALOR dado pela seguinte expresso:

    onde: k = base do sistemabi = um algarismo da basen = quantidade de algarismos inteiros no nmerom = quantidade de algarismos fracionrios nmero

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresEx: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 = 10bi(s) = algarismos = 5, 4, 1, 2, 5 n = qtd algarismos inteiros = 3(5, 4, 1)m = qtd algarismos fracionrios = 2(2, 5)

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresRepresentao numrica para computador:Toda informao humana pode ser bem representada com zeros e uns.Existem vrios tipos de representaes que de uma mesma informao. Ex: 10d = 1010b = 0Ah = 12o = .....Os seres humanos tem facilidades para entender o formato decimalAs mquinas tem facilidades para entender o formato Numrico Binrio

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresLimites computacionaisA arquitetura de um computador define o nmero de bits que o um processador pode usar para calcular valores. Este nmero de bits pode limitar a quantidade de dados que podero ser processados, se as informaes forem muito grandes.Uma outra situao comum que os operando podem no exceder os limites, mas os resultados podem, gerando um overflow.Ex: em 8 bits facil somar 100 + 100 = 200d, mas 100x100 = 10000 (Overflow)

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresNmeros de Ponto FixoOs nmeros de ponto fixo, so representados sempre com nmero de dgitos fixo, com uma virgula em posio fixa em relao ao nmero. Ex: 0,23 5,34 9,11 Podemos representar tambm como nmeros binrios: Ex: 11,00 01,11 11,11 A virgula no existe nos computadores, apenas na cabea dos programadores.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresIntervalo de Representao e Preciso numrica de ponto fixo

    Uma representao de ponto fixo pode ser caracterizada pelo intervalo de representao de nmeros que podem ser expressos. (a distncia entre maior e o menor nmero)A preciso dada pela distncia entre dois nmeros adjacentes.Exemplo de Intervalo: 0,00 pode ir at 9,99, logo denotado como [0,00 , 9,99]Exemplo de Preciso: 9,98 e 9,99, a diferena 0,01, logo a preciso de 0,01Exemplo de Erro: o erro a preciso/2, logo 0,005.

    Figura retirada do livro Introduo a Arquitetura de Computadores, Miles J. Murdocca

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresOutras formas de representaes[0,00 , 9,99] , [00,0 , 99,9] , [000, 999] ou[-49, 50] , [ -99,0]

    Representaes e preciso so pontos importantes em arquitetura de computadores porque ambos so finitos ma implementao da arquitetura. Problema: No mundo real, os nmeros so infinitos.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresLei associativa da lgebra nem sempre funciona em computadoresA + (B + C) = (A + B) + C

    Se o intervalo numrica for de [-9 , 9 ] e sendo a = 7, b = 4 e c = -3, ento: A + (B + C) = 7 + (4 3) = 8(A + B) + C = (7 + 4) 3) = - 2 ( Overflow)

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresConverso de bases

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de Computadores Convertendo nmeros de pontos fixos:Exemplo: Convertendo 23,37510 para base binriaA converso feita em 2 etapas: Parte INTEIRA + parte FRACIONRIA (se houver)

    PARTE INTEIRA: ContinuaoEm cada diviso, o resto encontrado um algarismo significativo do nmero na nova baseO primeiro resto encontrado o valor do algarismo menos significativo (mais direita) e o ltimo ser o algarismo mais significativo (mais esquerda)Toda a aritmtica envolvida no clculo da base de origem (neste caso, base 10)Utilizar uma tabela de equivalncia dos algarismos das bases K e 10, para saber como representar os algarismos encontrados (resto), se necessrio, na base K

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresParte Inteira

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresParte Fracionria

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresPortanto, para representar um nmero na base 10 em uma base qualquer K, converte-se primeiro a parte inteira, depois a parte fracionria, e utiliza-se ambas na notao Inteiro , Frao

    Logo:

    23,375 = ( )223 = 101110,375 = 0,01123,375 = 10111,011

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresBase 10 para Base K: PARTE FRACIONRIA: Mtodo de Multiplicaes SucessivasEx 2: Nem sempre pode-se converter uma frao finita em uma frao finita em outra base

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresBase 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

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresSoma Binria

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresRepresentao numrica sinalizadoPara um nmero binrio de 8 bits, temos 256 possibilidades.Se temos que representar os nmeros negativos tambm, devemos separar uma parte destas possibilidades para representar estes nmeros.Temos 4 principais formas de sinalizar um nmero negativo:Sinal de MagnetudeComplemento de umComplemento de doisExcesso de 4.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresMagnetude de sinalBasta colocar o bit mais significativo com o sinal 1, para representar um nmero negativoExemplo:

    +2510 = 000110012-2510 = 100110012

    Duas representaes de Zeros. Ex: 00000000 e 10000000Intervalos de nmeros de +127 e 127 em decimal

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresComplemento de umOs bits so trocados, os Zeros se tornam Um e os Uns se tornam Zeros.Exemplo:+2510 = 000110012-2510 = 111001102Possui duas representao de zeros: +0 = 000000002, -0 = 111111112.Faixa de valores: +12710, e o menor nmero -12710, usando 8 bits de representao

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresComplemento de doisNeste modo de representao, executado o complemento de um, mais a somatria de 1.Exemplo:

    +2510 = 000110012-2510 = 111001112Apenas uma representao numrica do Zero: +0 = 000000002, -0 = 000000002.Faixa de valores: +12710, e o menor nmero -12810, para 8 bits.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresRepresentao de Excesso

    O nmero tratado sem sinal, ento o valor deslocado (shifted) do mesmo.Exemplo: (para criar um numero de excesso, basta somar 128 ao nmero em um padro de 8 bits)+1210 = 100011002-1210 = 011101002nica representao do ZeroMaior nmero +12710, enquanto que o menor nmero -12810, usando 8-bit de representao

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresRepresentao de Decimal em Binrio Nmeros podem ser representados em base 10, mesmo usando codificao binria.Cada dgito na base 10 ocupa quatro bits, o que conhecido como decimal codificado em binrio (BCD). Ento, cada dgito utiliza os primeiros 10 padres de binrios de 4 dgitos. Ex: 123 -> 0001 0010 0011

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresComplemento de 9 e 10

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de Computadores

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresNmero de Pontos FlutuantesPermite que grandes nmeros e pequenos nmeros possam ser representados usando somente poucos dgitos, de acordo com a preciso especificada.A preciso determinada pela quantidade de dgitos da frao (inclui a parte inteira e fracionria) e o dimenso do nmero determinado pelo nmero de dgitos do campo expoente.Examplo (+6.023 1023):

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresNormalizaoUm nmero na base 10, digamos 254 pode ser representada em ponto flutuante na forma de 254 x 100 , ou equivalentemente:25.4 x 101, ou2.54 x 102, ou.254 x 103, ou.0254 x 104, ouOu de outras formas infinitas, que podem gerar problemas na hora de comparar dois nmeros.Devido a este problema, os nmeros de ponto flutuante so normalizados.Normalmente, mas nem sempre os nmeros so deslocados para a esquerda logo aps a virgula. Ex: .254 103.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresExemplo de ponto flutuanteVamos representar o nmero .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 mtodo j conhecido, temos 25410 = 376 80:

    254/8 = 31 R 631/8 = 3 R 73/8 = 0 R 3Passo 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 dgitos para frao = .3760:0 111 . 011 111 110 000

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresNo exemplo anterior temos base = 8;S = 4;M=3;M = -4Representao do Zero = 0 000 000 000 000 000;Com estes parametros possivel calcular os seguintes valores:Maior nmero representvelMenor nmero representvelO maior GAP entre dois nmerosO menor GAP entre dois nmerosO total de bits que so necessrios para representar o nmero

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresErros, faixas e precises:

    Maior nmero representvel: bM (1 - b-s) = 83 (1 - 8-4)Menor nmero representvel: bm b-1 = 8-4 - 1 = 8-5Maior Gap: bM b-s = 83 - 4 = 8-1Menor Gap: bm b-s = 8-4 - 4= 8-8

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresErros, faixas e precises:Clculo de nmero de nmeros de representaoH 5 componentes:(A) O sinal de bits: 2x(B) expoente: (M-m) + 1 (C) Valor do primeiro dgito: b 1 (No pode ser Zero para primeiro dgito normalizado)(D) Valor de cada um dos s-1 digitos restantes: Bs-1(E) representao especial para Zero: + 1Para este exemplo, temos: 2 ((3 - 4) + 1) (8 - 1) 84-1 + 1 = nmero que podem ser representados (quantidade de padres).

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresExemplo de Ponto Flutuante:Menor nmero: 1/8Maior nmero: 7/4Menor gap: 1/32Maior gap: Quantidades de nmeros representveis: 33

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresO erro relativo aproximadamente o mesmo para todos os nmeros nmeroSe pegarmos a razo entre o maior gap com o maior nmero e comparar com a razo do menor gap com o menor nmero, teremos o mesmo valor.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresConverso de nmerosConverter (9.375 10-2)10 na base 2 da notao cientficaTirar a notao cientfica: .09275Converter em notao binria

    :.093752=0.1875.18752=0.375.3752=0.75.752=1.5.52=1.0Portanto: (.09375)10 = (.00011)2.Finalmente converter para a base 2 normalizada:

    .00011 = .00011 20 = 1.1 2-4

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresPadro IEEE-754 de ponto flutuante

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresExemplo do padro IEEE 754

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresExemplo de uso do padro IEEE 754Representar -12.625 na preciso simples do formato IEEE-754:Passo1: Converter para a base 2: -12.62510 = -1100.1012Passo2: Normalizar: -1100.1012 = -1.1001012 23Passo3: Preencher os campos de bits: Sinal negativo, usar 1Expoente em excesso de 127 (no usar 128). O expoente representado por um inteiro no sinalizado: 3 + 127 = 130.O bit 1 mais significativo escondido.

    1 1000 0010 . 1001 0100 0000 0000 0000 000

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresDe acordo com exercito norte americano, as falhar dos msseis patriot, foram as perdas de preciso da converso de 24 bits de inteiros para 24 bits de ponto flutuante.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de ComputadoresTabela ASCIIA possui o valor de 41h. Para converter em maiuscula, basta somar 20hO caracter 5 tem o valor de 35h, para converter para numero, basta subtrair de 30h.

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Arquitetura de Computadores

    Professor: Arlindo Tadayuki Noji Instituto de Ensino Superior Fucapi - CESF

    Unicode