arquitetura de computadores - lanwan.com.br · •2 arquitetura de computadores ao longo dos anos,...

31
ARQUITETURA DE COMPUTADORES Representação de Dados 1 Professor: Airton Ribeiro de Sousa E-mail: [email protected]

Upload: dinhmien

Post on 17-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

ARQUITETURA DE COMPUTADORES

Representação de Dados

•1 Professor: Airton Ribeiro de Sousa

E-mail: [email protected]

Page 2: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

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

Page 3: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•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

Page 4: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•4

ARQUITETURA DE COMPUTADORES

Page 5: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•5

ARQUITETURA DE COMPUTADORES

Page 6: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•6

ARQUITETURA DE COMPUTADORES

Exemplo -Tabela ASCII (Padrão ASCII)

Page 7: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•7

ARQUITETURA DE COMPUTADORES

Padrão Unicode

Page 8: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•8

ARQUITETURA DE COMPUTADORES

Padrão Unicode

Page 9: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

•9

ARQUITETURA DE COMPUTADORES

Exemplo: Padrão Unicode

Page 10: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 11: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 12: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 13: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 14: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

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

Page 15: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• Ex: Sistema Decimal

• 2622 = 2000 + 600 + 20 + 2

• 2000 = 2X1000 = 2X103

• 600 = 6X100 = 6X102

• 20 = 2X10 = 2X101

• 2 = 2X1 = 2X100

•15

ARQUITETURA DE COMPUTADORES

Page 16: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 17: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 18: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 19: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 20: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 21: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 22: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 23: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• Soma binária

•23

ARQUITETURA DE COMPUTADORES

Page 24: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 25: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 26: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 27: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 28: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 29: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 30: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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

Page 31: ARQUITETURA DE COMPUTADORES - lanwan.com.br · •2 ARQUITETURA DE COMPUTADORES Ao longo dos anos, muitos padrões e convenções foram estabelecidas para determinar certos aspectos

• 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