ARQUITETURA DE COMPUTADORES
Representação de Dados
Professor: Airton Ribeiro de Sousa E-mail:
[email protected]
•1
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 (Valor) (Ex: 1, 7, 5+2, 90%, …)
• NÚMERO: ideia que os símbolos representam. Um número pode ser representado por diversos numerais (Ex: 5 = 7 – 2 = 4 + 1 = 10 / 2) •2
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
•3
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) •4
ARQUITETURA DE COMPUTADORES • 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 • Representação Numérica Para Computador: • Toda Informação Humana Pode Ser Bem Representada Com Zeros e Uns. • Os Seres Humanos Tem Facilidades Para Entender O Formato Decimal
• As Máquinas Tem Facilidades Para Entender o Formato Numérico Binário
•9
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)
•10
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.
•11
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.
•12
Figura retirada do livro Introdução a Arquitetura de Computadores, Miles J. Murdocca
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.
•13
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)
•14
ARQUITETURA DE COMPUTADORES • Soma binária
•15
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 magnitude • Complemento de um • Complemento de dois • Excesso de 4.
•16
ARQUITETURA DE COMPUTADORES • Magnitude 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
•17
ARQUITETURA DE COMPUTADORES • Complemento de um
• Os bits são trocados onde os zeros se tornam um e os uns se tornam zeros. • Exemplo: +2510 = 000110012 -2510 = 111001102
• Possui duas representações de zeros: +0 = 000000002, -0 = 111111112. • Faixa de valores: +12710, e o menor número -12710, usando 8 bits de representação •18
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.
•19
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):
•20
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. •21
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
•22
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.
•23