Representação de Dados



Documentos relacionados
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

CAPÍTULO 6 ARITMÉTICA DIGITAL

Aula 9. Introdução à Computação. ADS IFBA

Codificação 1. Introdução. C 2 R r {! + codificação

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Capítulo I : Noções Gerais

Estrutura de um Computador

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Álgebra de Boole. Sistema de Numeração e Códigos. Prof. Ubiratan Ramos

Representação de Dados

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

Arquitetura de Computadores

Organização de Computadores Hardware

ANO LETIVO 2015 / 2016

MÓDULO N.º 1 SISTEMAS DE NUMERAÇÃO HORAS / TEMPOS CONTEÚDOS OBJETIVOS AVALIAÇÃO

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Exemplo de Subtração Binária

Sistemas de Numeração (Aula Extra)

AULA 10 REPRESENTAÇÃO NUMÉRICA O

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Organização e Arquitetura de Computadores I

Em um sistema de numeração de base b qualquer, um número positivo é representado pelo polinômio:

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Projeto e Desenvolvimento de Algoritmos

Números base 2, 8, 10, 16. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

2 Formalidades referentes ao trabalho

Representação de Dados Inteiros com sinal

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Sistemas de Numeração

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

ARQUITETURA DE COMPUTADORES

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Programação ao nível da máquina. Operações lógicas e aritméticas

1 Fundamentos da Computação Prof. Bruno Guilhen

Números Binários. Apêndice A V1.0

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Eletrônica Digital para Instrumentação. Herman Lima Jr.

Operações aritméticas

Circuitos Digitais Cap. 5

Organização de Computadores 1

Representação de Dados

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Aula 6 Aritmética Computacional

2. Sistemas de Numeração, Operações e Códigos. 2. Sistemas de Numeração, Operações e Códigos 1. Números Decimais. Objetivos.

Figura 1 - O computador

Genericamente qualquer sistema de numeração pode ser caracterizado por:

Sistemas de Numeração

Arquitetura de Computadores. Arquitetura de Computadores 1

Representação de Dados e Sistemas de Numeração

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 16

MODULO II - HARDWARE

Aula 5. Simplificação de funções lógicas (cont.) Sistemas de numeração

Sistemas de Numeração. » WHAT WOULD LIFE BE WITHOUT ARITHMETIC, BUT A SCENE OF HORRORS? «Sydney Smith, Sistemas Posicionais

Hardware 2. O Gabinete. Unidades Derivadas do BYTE. 1 KB = Kilobyte = 1024B = 2 10 B. 1 MB = Megabyte = 1024KB = 2 20 B

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann

Programação de Computadores

Disciplina: : ELETRÔNICA DIGITAL

Fabio Bento

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer?

Aula 3 - Sistemas de Numeração

Aritmética Binária e. Bernardo Nunes Gonçalves

Figura 1 - Diagrama de um sistema de controle de temperatura que requer conversão analógico-digital para permitir o uso de técnicas de processamento

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

Marcos da Arquitetura de Computadores (1)

13 Números Reais - Tipo float

Representação Binária de Dados

Critérios de Avaliação. Sobre a Disciplina. Por que estudar Arquitetura? SIM NÃO 20/04/ provas. 01 trabalho

Escola Secundária de Emídio Navarro

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Organização e Arquitetura de Computadores I

Introdução à Engenharia de

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

Instituto Politécnico. Curso: Tec. Redes de Computadores. Disciplina: Organização de Computadores. Prof.: Fábio Lucena Veloso

Representação de Informação -- Texto -- Representação de Informação. Representação de Caracteres

Introdução à Programação 2006/07. Computadores e Programação

Arquitetura de Computadores

Introdução à Organização de Computadores Memória Principal

Representando Instruções no Computador

- Representação da Informação pelo computador - Sistemas de Numeração - Código Binário - Digitalização

Introdução. à Estrutura e Funcionamento de um Sistema Informático

ARQUITETURA DE COMPUTADORES

Aula 6. Sistemas de Numeração. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

O Computador. Evolução dos métodos de cálculo. Estrutura do Computador Digital

ESTRUTURAS DE DADOS II

Transcrição:

Representação de Dados

! Porquê usar binário?! 0 ou 1! Verdadeiro ou Falso! Aberto ou Fechado

! P AND Q! P OR Q! NOT P! P XOR Q

A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1 A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 A NOT A 0 1 1 0

! NOT(NOT(A)) = A! Leis de De Morgan:! NOT(A OR B) = NOT(A) AND NOT(B)! NOT(A AND B) = NOT(A) OR NOT(B)

! NAND! NOR

A OUT B

1 OUT 0

1 1 1 1 0 1

0 1 1 1 0 1

0 1 1 1 1 1

0 0 0 0 1 0

0 0 0 0 0 1

! NANDs! Gate Universal

! Decimal 233 10 =2*10 2 +3*10 1 +2*10 0! Binária 11101001 2 =1*2 7 +1*2 6 +1*2 5 +0*2 4+ 1*2 3 +0*2 2 +0*2 1 +1*2 0 = 233 10! Octal 351 8 = 3*8 2 +5*8 1 +1*8 0 = 233 10! Hexadecimal E7 16 = 14*16 1 +7*16 0 = 233 10

! Registos têm tamanho limitado 8, 16, 32, 64 bits! Maior Inteiro? 8: 0..255 10 16: 0.. 65.535 10 32: 0.. 4.294.967.295 10 64: 0.. 18.446.744.073.709.551.615 10! E o sinal?

! Sinal e Absoluto: -6 10 = 10000110 2 00000000 2 = 10000000 2 Subtração diferente de adição! Complemento para 1-6 10 = 11111001 2 Mesmos problemas! Complemento para 2-6 10 = 11111010 2

! 0 com 8 bits! C2(-0)= (2 8 0) mod 2 8 = 0! 80 com 8 bits: 01010000! C2(-80) com 8 bits: 10101111+1=10111111! Truque! Procurar o 1 mais à direita! Inverter depois daí! Intervalo: [-2 L-1 2 L-1-1]

! Complemento para 2 soma corretamente mesmo que sinais sejam diferentes! 5 -> 00001001! -3 -> Complementar(0000011) -> 11111101! Somando: 100000010

! max número sem sinal = 2 L -1! X >= 0,! Complementar(X) = 1111 1111 X = ( 2 L -1 X ) mod 2 L! X < 0,! C2(X)= Complementar( X )+1 = ( 2 L -1 X ) mod 2 L + 1 = (2 L X ) mod 2 L = (2 L +X) mod 2 L

! X > 0 C2(X) = X C2(X) = (2 L +X) mod 2 L! X < 0 C2(X) = (2 L +X) mod 2 L

! X+Y! X > 0, Y < 0! X+ (2 L +Y) mod 2 L =! (2 L +X+Y) mod 2 L =! X + Y > 0 -> X+Y! Senão, C2(X+Y)! Cuidado: overflow

! Se 2 números têm mesmo sinal E resultado com sinal diferente! 2 positivos Resultado negativo! 2 negativos Resultado positivo

! Com 8 bits! 0 ->10000000! 1 -> 10000001! -1 -> 01111111! 127 -> 11111111! -128 -> 00000000! n = 8! E(x) = x+128 = x + 2 n-1

! Comparação é mais fácil! Soma é! Interessante para vírgula flutuante

! Em decimal 2,35 = 2*10 0 +3*10-1 +5*10-2! Em binário 1.01 = 1*2 0 +0*2-1 +1*2-2 = 2,25 10! 1,3 10 pode ser escrita finitamente em binário?

! -5 * 10 23! Mesma ideia em binário - 01010 * 2 0101! Normalização! - 1,010 * 2 0101! Coeficiente (mantissa) é sempre uma fração com primeiro bit a 1! Expoente pode ser positivo ou negativo! Sinal

MANTISSA EXPOENTE SINAL

! 01101011! Positivo! Expoente: (4+2)-2 2 = 2! Mantissa= 1+0*2-1 +1*2-2 +1*2-3 = 1,375! Total = 1*2*1,375=2,75=2+3/4

! 2+5/8! 2+1/2+1/8! 10,101 2! Normalizar=! 10*1,0101=! 011010101! Perdemos o 1/8!!

Tamanho Sinal Mantissa Expoente 16 1 11 5 32 1 24 8 64 1 53 11 128 1 113 15

! Codificar letras como números! A Z -> cabem em 5 bits! + a z -> cabem em 6 bits! + 0 9 ˆ@!#., -> 7 bits! EBCDIC! ASCII

! Latin-1: francês, português, espanhol

! Mais de 110,000 caracteres, e 100 scripts! Usa 32 bits! Codificado em 8 bits (UTF-8)! Em 16 bits (UTF-16)

! Um byte para ASCII! 2 bytes para caracteres com acentos Ç é 0xc387! 3 bytes para caracteres lao! 4 bytes para cuneiforme

! Sequência de caracteres! Editores de texto! Processadores de texto

! Bitmaps! Matriz de pontos coloridos! Côr como mistura de 3 cores básicas

! Conjunto de Vectores! Operações geométricas! Popular em CAD, fonts

! Sequência de números! Codificar valor, ou diferença! CD: 44000 por segundo

! Sequência de Imagens! MPEG standards

! Sem Perdas! Run Length Encoding: 16 20 20 20 20 20 40 -> 16, 5, 20, 40! Frequency Dependent Encoding Ex: Huffman Espaço: 000 a: 010 n: 0010 x: 10010

! Differencial Encoding 09 12 11 12 -> 09 +3-1 +1! Dicionário Usar coleção de palavras frequentes 25000 palavras -> 15 bits Dicionário adaptativo/dinâmico

! Começa com um pequeno dicionário Letras, digitos! Palavras vão sendo adicionadas Melhora a codificação! Descodificação faz o mesmo! xyx xyx xyx xyx! 121343434

! GIF Pixel é codificado como Byte na palette Palette = (0 255, 0 255, 0 255) Pode usar dicionário adpatativo Pixel transparente! JPEG, TIFF Mais complexos

! MPEG! MP3: Máscara temporal Máscara nas frequências! Kbps -> Kilo bits por segundo.

! Bit de paridade! Coleção de bits para palavras maiores! Ex de CRC ou checksum! Não permite recuperação

! Distância entre 2 palavras: Número de bits diferentes Distância de Hamming! Se distância maior que três Erro de bit é recuperável Popular 64+8 bits em sistemas de memória

Manipulação de Dados

Unidade Aritmética/ Lógica Registos Barramento Memória Unidade de Controle

Registos Memória III III I 12 Unidade de Controle IV II 5 V 17

COPY R1,MEM1 COPY R2,MEM2 ADD R3,R2,R1 COPY MEM3,R3 PROGRAMA

Memória COPY R1,MEM1 COPY R2,MEM2 ADD R3,R2,R1 COPY MEM3,R3 Registos III III I 12 Unidade de Controle IV II 5 V 17

MOV R1,MEM1 MOV R2,MEM2 ADD R3,R2,R1 MOV MEM3,R3 ADD MEM3,MEM1,MEM2 CISC RISC

Memória COPY R1,MEM1 COPY R2,MEM2 ADD R3,R2,R1 COPY MEM3,R3 PEEK 15 COPY (MEM4),R4 12 5 17

! ADD! MULT! AND! OR! XOR! SHIFT! ROTATE

! JUMP! CONDITIONAL JUMP BEQ R1, 0,SOMEWHERE test! UNCONDITIONAL JUMP JUMP SOMEWHERE separador

MEMÓRIA Registos Unidade de Controle PC IR

! ADD R5,R4,R3 REGISTO3 02 05 04 03 OPCODE 0010 0101 0100 0011

0010 0101 0100 0011! Lê de memória! 0010: op-code para ADD! Copia registo 0100 para ALU! Copia registo 0011 para ALU! Copia saída de ALU para registo 0101

Controlador Controlador Controlador Controlador

Controlador Controlador Controlador Controlador

Controlador Controlador Controlador Controlador

! Handshaking! Consulto o status de controle! Envio dados/faço pedido

! Série! Paralela

! Bits per second (bps)! Mbps! Gbps

! Organização! Sequência de Bytes! Cada um com endereço

! SRAM: mais rápida! Usada em caches

! Mais compacta! Mais lenta

! Organizada por células! Truques: ler/escrever muitos bits de uma vez

! Cabeças/Discos/Pistas

! Usa espiral! 600 a 700MB! DVD chega a 3GB! Blu-Ray a 15GB

! Permitem ler e primeira escrita rápida! Apagar é lento! Limite nas escritas

! Usam tecnologia NAND! Só podem ler um bit de cada vez! Emula disco

! Decimal 233 10 =2*10 2 +3*10 1 +2*10 0! Binária 11101001 2 =1*2 7 +1*2 6 +1*2 5 +0*2 4+ 1*2 3 +0*2 2 +0*2 1 +1*2 0 = 233 10! Octal 351 8 = 3*8 2 +5*8 1 +1*8 0 = 233 10! Hexadecimal E7 16 = 14*16 1 +7*16 0 = 233 10

! Registos têm tamanho limitado 8, 16, 32, 64 bits! Maior Inteiro? 8: 0..255 10 16: 0.. 65.535 10 32: 0.. 4.294.967.295 10 64: 0.. 18.446.744.073.709.551.615 10! E o sinal?

! Sinal e Absoluto: -6 10 = 10000110 2 00000000 2 = 10000000 2 Subtração diferente de adição! Complemento para 1-6 10 = 11111001 2 Mesmos problemas! Complemento para 2-6 10 = 11111010 2

! max número sem sinal = 2 L -1! Complementar(X) = 1111 1111 X = ( 2 L -1 X ) mod 2 L! C2(-X)= Complementar(X)+1 = ( 2 L -1 X ) mod 2 L + 1 = (2 L X) mod 2 L

! 0 com 8 bits! C2(-0)= (2 8 0) mod 2 8 = 0! 80 com 8 bits: 01010000! C2(-80) com 8 bits: 10101111+1=10111111! Truque! Procurar o 1 mais à direita! Inverter a partir daí! Intervalo: [-2 L-1 2 L-1-1]

! X+C2(-Y) = X + (2 L Y) mod 2 L! = (X-Y) mod 2 L! Se (X-Y) mod 2 L = X-Y OK! Senão, overflow! Com 8 bits 100 10 = 01100100 2 100 + 100 100 100-100 100! Ver com sinais