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
Top Related