arquitetura de computadores

47
1 Arquitetura de Computadores Representação de dados

Upload: vladimir-holman

Post on 01-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

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%, …) - PowerPoint PPT Presentation

TRANSCRIPT

1

Arquitetura de Computadores

Representação de dados

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

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)

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

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

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

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, …

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

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

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

Arquitetura de Computadores

Ex: Sistema decimal

2622 = 2000 + 600 + 20 + 2

2000 = 2x1000 = 2x103

600 = 6x100 = 6x102

20 = 2x10 = 2x101

2 = 2x1 = 2x100

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

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

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

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

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

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)

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

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

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

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)

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

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.

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

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

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

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.

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

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)

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

Arquitetura de Computadores

Conversão de bases

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

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

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

Arquitetura de Computadores

Parte Inteira

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

Arquitetura de Computadores

Parte Fracionária

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

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

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

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

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

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

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

Arquitetura de Computadores

Soma Binária

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

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.

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

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

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

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

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

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.

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

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

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

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

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

Arquitetura de Computadores

Complemento de 9 e 10

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

Arquitetura de Computadores

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

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):

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

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.

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

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

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

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

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

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

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

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).

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

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

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

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.

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

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

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

Arquitetura de Computadores

Padrão IEEE-754 de ponto flutuante

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

Arquitetura de Computadores

Exemplo do padrão IEEE 754

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

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

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

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.

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

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.

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

Arquitetura de Computadores

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

Unicode