arquitetura de computadores - lanwan.com.br · •2 arquitetura de computadores ao longo dos anos,...
TRANSCRIPT
ARQUITETURA DE COMPUTADORES
Representação de Dados
•1 Professor: Airton Ribeiro de Sousa
E-mail: [email protected]
•2
ARQUITETURA DE COMPUTADORES
Ao longo dos anos, muitos padrões e convenções foram
estabelecidas para determinar certos aspectos da organização de
computadores. Existem várias maneiras pelas quais computadores
podem armazenar e manipular números e caracteres.
A unidade de informação mais básica em um sistema digital é
chamada de bit, que é uma abreviação de binary digit ou digíto
binário. Um bit, de forma mais clara, nada mais é que um estado de
“ligado” ou “desligado” (ou “alto” e “baixo”) dentro de um circuito de
computador.
•3
ARQUITETURA DE COMPUTADORES
Em 1964, os projetistas do computador mainframe IBM
System/360 estabeleceram como convenção o uso grupos de 8
bits como a unidade básica de endereçamento de memória do
computador, que foi denominada como byte.
Palavras em um computador consistem de dois ou mais bytes, ou
seja, possuem 16 bits, 32 bits, 64 bits ou qualquer tamanho faça
sentido dentro do contexto da organização do computador
•4
ARQUITETURA DE COMPUTADORES
•5
ARQUITETURA DE COMPUTADORES
•6
ARQUITETURA DE COMPUTADORES
Exemplo -Tabela ASCII (Padrão ASCII)
•7
ARQUITETURA DE COMPUTADORES
Padrão Unicode
•8
ARQUITETURA DE COMPUTADORES
Padrão Unicode
•9
ARQUITETURA DE COMPUTADORES
Exemplo: Padrão Unicode
• 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)
•10
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
•11
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)
•12
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, … •13
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
•14
ARQUITETURA DE COMPUTADORES
• Ex: Sistema Decimal
• 2622 = 2000 + 600 + 20 + 2
• 2000 = 2X1000 = 2X103
• 600 = 6X100 = 6X102
• 20 = 2X10 = 2X101
• 2 = 2X1 = 2X100
•15
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
•16
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
•17
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)
•18
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.
•19
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.
•20 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.
•21
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)
•22
ARQUITETURA DE COMPUTADORES
• Soma binária
•23
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.
•24
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
•25
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
•26
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.
•27
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):
•28
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.
•29
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
•30
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.
•31
ARQUITETURA DE COMPUTADORES