• Nenhum resultado encontrado

Aula4site

N/A
N/A
Protected

Academic year: 2021

Share "Aula4site"

Copied!
13
0
0

Texto

(1)

1DWXUH]DGD,QIRUPDomR

Aula 4: Códigos (parte 1)

Profª Debora Medeiros

Bacharelado em Ciência e Tecnologia

Universidade Federal do ABC Setembro 2012

*Material gentilmente cedido pela Profa. Ana Carolina Lorena

5HSUHVHQWDomRFRPELW

„

Um bit: útil para situações com duas

possibilidades

‰

Jogar uma moeda

„ Cara ou coroa ‰

Gênero de uma pessoa

„ Feminino ou masculino ‰

Veredito de juri

„ Inocente ou culpado ‰

Verdade de asserção

„ Verdade ou falso

Maioria das situações reais é mais complicada Ÿ cadeias de bits

0RGHORGHVLVWHPDGHFRPXQLFDomR

„

Modelo simplificado

Entrada

(símbolos) Codificador (Cadeias de bits) Canal (Cadeias de bits) Decodificador Saída (símbolos)

&yGLJRV

„

Como desenvolver?

‰

Letras: EBCDIC, ASCII, Unicode, BCD, Morse

‰

Inteiros: binário, Gray, complemento de 2

‰

Números: ponto flutuante

‰

Proteínas: código genético

‰

Telefones: NANP, códigos internacionais

‰

Hosts: ethernet, IP, nomes de domínio

‰

Imagens: TIFF, GIF, JPEG

‰

Audio: MP3

‰

Video: MPEG

7DPDQKRGRHVSDoRGHVtPERORV

„

Dependendo do número de símbolos que precisa

codificar Ÿ diferentes considerações

„

Número de símbolos em um código =

tamanho

do espaço de símbolos

‰

Alguns tamanhos que serão considerados:

„ 2 „ Potência de 2 „ Finito „ Infinito, contável „ Infinito, incontável

7DPDQKRGRHVSDoRGHVtPERORV

„

Número de símbolos n = 2

‰

Pode ser codificado com um único bit

„

Número de símbolos n = potência de 2

‰

Pode ser codificado com log

2

n bits

„ Ex.: 2 bits para naipe de cartas (log24)

„ 5 bits para um estudante dentre uma classe com 32 alunos (log232)

(2)

7DPDQKRGRHVSDoRGHVtPERORV

„

Número de símbolos n = finito, mas não potência

de 2

‰

Pode ser codificado com número de bits de próximo

inteiro superior, que é potência de 2

„ Ex.: 3 bits para resultado de um dado (log28) ‰

Leva a algumas sequências de bits não utilizadas

„ Ex.: usa só de 000 a 101 para o dado „ Dois não são usados: 110 e 111

7DPDQKRGRHVSDoRGHVtPERORV

„

Número de símbolos n = infinito contável

‰

Infinito contável: pode ser mapeado em relação

um-a-um com os inteiros

‰

Cadeia de bits pode denotar apenas número finito dos

símbolos

„ Ex.: 4 bits podem representar os inteiros 0 a 15 ‰

Deve lidar de alguma forma com overflows

Na maioria dos computadores pessoais (32 bits), maior inteiro representável é 4.294.967.295 Nos computadores de 64 bits, esse número é maior

(18 446 744 073 709 551 615)

7DPDQKRGRHVSDoRGHVtPERORV

„

Número de símbolos n = infinito incontável

‰

Ex.: voltagem, pressão

‰

Deve ser usada técnica para substituir por um número

finito de valores que é aproximadamente o mesmo

„ Ex.: Representando números entre 0 e 1 com dois bits

„

Aproximação não é reversível

0 0,25 0,5 0,75 1

0,125 0,375 0,625 0,875 00 01 10 11

Mas, usando número grande de bits, decodificação pode ser feita para número próximo o suficiente (ex. representação floating-point)

3RQWRIOXWXDQWH

„

Floating point: formato de representação digital

de números reais usado nos computadores

‰

Números são representados na forma:

„ Base usada em computadores é 2

„ Consegue representar mais valores que notações de

ponto fixo e inteiros

Dígitos significativos x base

expoente

3RQWRIOXWXDQWH

„

Exemplos:

‰

Representação de ponto fixo com sete dígitos e duas

casas decimais pode representar os números

12345.67, 123.45, 1.23, etc

‰

Representação de ponto flutuante (padrão IEEE754)

com sete dígitos decimais representa também

1.234567, 123456.7, 0.00001234567,

1234567000000000, etc

8VRGHFDSDFLGDGHH[WUD

„

Situações em que há mais padrões de código

que número de símbolos

‰

Ex. inteiros que não são potência de 2

„

O que fazer com os bits adicionais?

1.

Ignorar

2.

Mapear para outros valores

3.

Reservar para futura expansão

4.

Usar para códigos de controle

5.

Usar para abreviações comuns

(3)

&yGLJR%&'

„

Binary Coded Decimal

‰

Sistema de representação dos dígitos decimais de

0 até 9 com um código binário de 4 bits

Ex.: inteiro decimal 834 em BCD é 1000 0011 0100 ; 0,764 é 0.0111 0110 0100 em BCD • Menos eficiente que o código binário puro (mais bits para representar mesmo número)

Ex.: 83 = 1000 0011 BCD = 10100112 • Operações aritméticas com BCD também são

mais complexas • Há padrões desperdiçados • Mas entendimento é mais fácil

&yGLJR%&'

„

Alternativas para lidar com os bits extra:

1.

Ignorando padrões de bits extra

„ Decodificador retorna nada ou „ Decodificador sinaliza erro

2.

Mapeando para valores legais

„ Todos os extras representam o dígito 9 ou

„ Decodifica extras para 2, 3, 4, 5, 6, 7, supondo que o bit

inicial deve ser o incorreto

&yGLJRJHQpWLFR

„

Genes são regiões das cadeias de DNA

‰

Unidades fundamentais que carregam a informação

de hereditariedade

‰

Informação codificada nos genes direciona a

manutenção e o desenvolvimento das células e

organismos

&yGLJRJHQpWLFR

„

Moléculas de DNA são formadas por duas cadeias

interconectadas de nucleotídeos

‰ Cada nucletídeo é composto de:

„ Açúcar „ Fosfato

„ Uma de quatro bases

‰ Adenina (A) ‰ Guanina (G) ‰ Citosina (C) ‰ Timina (T)

‰ Cada molécula pode ter centenas de

milhares de nucleotídeos

&yGLJRJHQpWLFR

„

Cadeias individuais são interconectadas por

pareamen-tos entre as bases em uma estrutura de dupla hélice

Regras de pareamento: • C com G

• A com T

&yGLJRJHQpWLFR

„

Informação dos genes realiza um caminho da

entrada até a saída:

‰

DNA (genes) Ÿ mRNA Ÿ ribossomo/tRNA Ÿ

proteína

„ Proteína é o produto final

(4)

&yGLJRJHQpWLFR

„

Mensagem genética é comunicada do DNA

no núcleo da célula para os ribossomos

fora do núcleo via o mRNA (RNA

mensageiro)

‰

Ribossomos auxiliam na construção da proteína

„

Transcrição é o processo no qual mRNA é

gerado a partir do DNA

&yGLJRJHQpWLFR

„

mRNA é cadeia única de nucleotídeos

‰

Igual a DNA exceto por diferenças no açúcar e no

nucleotídeo Timina, que é substituído por Uracila

(U)

„ Mesmas regras de pareamento, com T

substituído por U Regras de pareamento: • C com G • A com U

&yGLJRJHQpWLFR

T A C G G C T C C G G A C T C C A T . . . 51$3ROLPHUDVH SURPRWRU

7UDQVFULomR

'1$

P51$

7

$

&yGLJR*HQpWLFR

TACGG C T C C G G A C T C C A T . . . 51$3ROLPHUDVH SURPRWRU

7UDQVFULomR

$

&*$**&&8*$**8$

'1$

P51$

8

*

&

&yGLJRJHQpWLFR

„

Proteínas:

‰

Componentes estruturais do corpo

„ Ex.: fibras dos músculos

‰

Componentes funcionais

„ Ex.: enzimas (regulam processos bioquímicos)

Acredita-se que todas atividades celulares envolvem proteínas

&yGLJRJHQpWLFR

„

Proteínas são constituídas de cadeias de

polipeptídeos, que são cadeias de aminoácidos

‰

Aminoácidos são componentes orgânicos com um

átomo central de carbono e:

„ Um átomo de hidrogêneo H „ Um grupo amina NH2 „ Um grupo carboxila COOH

(5)

&yGLJRJHQpWLFR

„

Cadeias laterais variam de um único hidrogêneo

(aminoácido glicina) a estruturas com até 18

átomos (arginina)

&yGLJRJHQpWLFR

„

mRNA é traduzido no corpo da célula em

cadeia de aminoácidos (proteínas)

‰

Com auxílio de ribossomos e moléculas de tRNA

„ Ribossomo “prende” mRNA

„ tRNA (RNA transportador) coloca o aminoácido

apropriado na proteína

&yGLJRJHQpWLFR

T A C G G C T C C G G A C T C C A T . . . 51$3ROLPHUDVH SURPRWRU

7UDQVFULomR

$8*&&*$**&&8*$**8$

'1$

P51$

0HW

5LERVVRPR

$8*

7UDGXomR

códon

&yGLJRJHQpWLFR

T A C G G C T C C G G A C T C C A T . . . 51$3ROLPHUDVH SURPRWRU

7UDQVFULomR

$8*&&*$**&&8*$**8$

'1$

P51$

7UDGXomR

5LERVVRPR

9DO

*OX

3UR

$UJ

3UR

0HW

&yGLJRJHQpWLFR

&yGLJRJHQpWLFR

„

Há 20 tipos de aminoácidos que precisam

ser codificados por 4 diferentes bases

‰

Uma base só: 4 possibilidades

×

‰

Duas bases: 4 . 4 = 16 possibilidades

×

‰

Três bases: 4 . 4 . 4 = 64 possibilidades

„ Códon

„ ŸCódigo possui bastante redundância

‰ Razões biológicas

(6)

&yGLJRJHQpWLFR

3 códons são de parada (indicam fim da proteína) = código de parada (informação de controle)

&yGLJRJHQpWLFR

„

Resumindo:

‰ Difícil haver milhões de estruturas de manufatura de

proteínas, uma para cada tipo de proteína

„ Alternativa: procedimento genérico monta proteínas

‰ Guiado por descrição contida no DNA

‰ Código genético é uma descrição de como uma sequência

de nucleotídeos especifica um aminoácido

„ Proteína pode ser especificada por uma sequência linear de nucleotídeos

„ Representação padrão permite o mesmo aparato de

montagem para muitas diferentes proteínas

&yGLJRJHQpWLFR

„

Resumindo:

‰

Código genético possui bastante redundância

„ Vários códons para um mesmo aminoácido „ Usada para prevenir de mutações

‰

Mas código genético

não

possui ambiguidade

„ Cada códon corresponde a exatamente um tipo de

aminoácido

&yGLJRWHOHI{QLFR

„

Reserva de capacidade extra de códigos para

expansão

‰ At&t, 1947, códigos de área com 3 dígitos, com restrições:

„ Primeiro não poderia ser 0 ou 1

‰ Evitar conflitos com 0 (conectando ao operador) e 1 (efeito

inesperado de discadores)

„ Dígito do meio poderia ser apenas 0 ou 1

‰ 0: províncias com um código de área apenas ‰ 1: províncias com mais de um código de área

„ Dois últimos dígitos não podiam ser iguais

‰ Foram para números de emergência, por serem mais fáceis de

lembrar

ƒ Ex.: 911

Apenas 144 códigos de área possíveis

&yGLJRWHOHI{QLFR

„

At&t, 1947:

‰

Inicialmente, dos 144 usou 86

„ Números mais fáceis de discar foram para distritos com

mais chamadas

‰ Ex.: 212 para Manhattan

‰

Outros 58: reservados para expansão

„ Capacidade não foi adequada

‰ 1995: restrição de dígito do meio ser 0 ou 1 apenas foi relaxada

&yGLJRWHOHI{QLFR

„

At&t, restrições atuais:

‰

Primeiro dígito não pode ser 0 ou 1

‰

Dígito do meio não pode ser 9

‰

Dois últimos dígitos não podem ser os mesmos

(7)

(QGHUHoRV,3

„

Internet Protocol

‰

Atribuídos por IANA (Internet Assigned Numbers

Authority)

‰

Cada nome de domínio é associado a um único

endereço de IP

„ Atualmente 32 bits: 4 blocos de números – de 0 a 255 –

separados por pontos (versão 4)

‰ Exemplo: 207.46.250.119

‰ Ÿcada endereço de Internet pode ser codificado com 32 bits

„ Desenvolvido para ter capacidade de expansão

(QGHUHoRV,3

„

Explosão de interesse na Internet

‰

Haverá necessidade de endereços até mesmo

para aparelhos eletrodomésticos no futuro!

‰

Resultado: IP versão 6 (IPv6)

„ Endereços ainda na forma x.x.x.x, mas cada x é número

de 32 bits entre 0 e 4.294.927.295

‰ 128 bits

„ Endereços existentes não mudarão, mas equipamentos

de rede terão que mudar

&yGLJR$6&,,

„

American Standard Code for Information

Interchange

‰

Código de caracteres mais usado

„ 8 bits para cada caractere

‰

Uso de padrões de códigos sobressalentes para

operações de formatação e controle

&yGLJR$6&,,

„

33 códigos são específicos para controle

„

95 são para caracteres

‰

26 letras maiúsculas

‰

26 letras minúsculas

‰

10 dígitos

‰

Espaço

‰

32 pontuações

&yGLJR$6&,,

„

Para representar linguagens asiáticas, mais

caracteres são necessários

‰

Número total de caracteres, incluindo-os, deve

ser menor que 65.536

„ Podem ser codificados com 16 bits (2 bytes): Unicode

5HIHUrQFLDV

„

Material de:

‰

Wikipedia

(8)

1DWXUH]DGD,QIRUPDomR

Aula 4: Códigos (parte 2)

Profª Debora Medeiros

Bacharelado em Ciência e Tecnologia

Universidade Federal do ABC Setembro 2012

*Material gentilmente cedido pela Profa. Ana Carolina Lorena

(VWUDWpJLDVQRGHVHQYROYLPHQWRGH

FyGLJRV

„

Muitos códigos são desenvolvidos por humanos

‰

Alguns são bastante robustos, simples, fáceis de

trabalhar e extensíveis

„ Mais fácil quando precisa representar poucos símbolos ‰

Outros são frágeis, misteriosos, complexos e

resistentes a generalizações

„

Alguns códigos de sucesso acabam sendo

padronizados

(VWUDWpJLDVQRGHVHQYROYLPHQWRGH

FyGLJRV

„

ASCII: casos interessantes

‰

Tem dois caracteres originalmente desenvolvidos para

serem ignorados

‰

ASCII começou como um padrão de 7 bits de furos em

um papel para armazenar informações de teletipos

„ Teletipo: máquina de escrever eletromecânica para transmissão de dados

(VWUDWpJLDVQRGHVHQYROYLPHQWRGH

FyGLJRV

„

Teletipo e ASCII

‰ Havia uma linha inicial de guia sem perfurações. Equivalendo a 0000000 e deveria ser ignorada na leitura (NUL)

„ Quando ASCII passou a ser usado em computadores, outros significados foram dados a NUL

‰ Unix: fim de palavra

‰ Outro que deveria ser ignorado: 1111111 (DEL)

„ Para apagar erros

‰ Atualmente o comum é usar para backspace

(VWUDWpJLDVQRGHVHQYROYLPHQWRGH

FyGLJRV

„

ASCII: outros casos interessantes

‰ CR (carriage return) e LF (line feed): para mover para uma nova linha

„ Porque teletipo tinha mecanismos físicos diferentes para mover para cima ou esquerda

„ Sistemas modernos escolheram diferentes inter-pretações

‰ Unix: LF = nova linha; ignora CR

‰ Machitosh: usa CR e ignora LF ‰ Windows: usa ambos

(VWUDWpJLDVQRGHVHQYROYLPHQWRGH

FyGLJRV

„

Outro caso interessante: código de área telefônica

americano

‰ Pressupostos iniciais causaram dificuldades posteriores

„ Mudança de dígito do meio para ser qualquer um levou a precisar de adaptações em alguns equipamentos „ Revisões de software e hardware foram necessárias

(9)

&yGLJRVGHWDPDQKRIL[RHYDULiYHO

„

Tamanho fixo

: uso de mesmo número de bits

para qualquer símbolo

versus

„

Tamanho variável

: deixar alguns símbolos serem

menores do que outros

&yGLJRVGHWDPDQKRIL[RHYDULiYHO

„

Tamanho fixo

:

‰ Fáceis de lidar: codificador e decodificador sabem com

quantos bits devem lidar

‰ Podem ser transmitidos e interpretados paralelamente

„ Ex.: Vários cabos paralelos

„

Tamanho variável

(deixar alguns símbolos serem

menores do que outros)

‰ Decodificador deve usar os valores dos bits para determinar

quando o símbolo começa e/ou termina

‰ Útil quando alguns símbolos ocorrem com maior frequência

que outros

7UDQVPLVVmRSDUDOHODHVHULDO

„

Paralela

: bits de um símbolo transmitidos todos

simultaneamente

„

Serial

: stream de bits

‰

Decodificador deve decidir como os bits são usados

„ Framing error: decodificador não sabe quando um símbolo

inicia e/ou termina

‰ Adição de bits de parada entre os envios

7UDQVPLVVmRVHULDO

ϭ

([HPSORVGHLQIRUPDomRWUDQVPLWLGD

GHPRGRVHULDO

„

Informação escrita

„

Informação falada

„

Código Morse

„

Internet

7UDQVPLVVmRSDUDOHOD

(10)

([HPSORVGHLQIRUPDomRWUDQVPLWLGD

HPSDUDOHOR

„

Barramentos do

computador

„

Sinais de trânsito

„

Expressões faciais

„

Marcas comerciais

„

Símbolos

„

Ideogramas

1RFpUHEURFDGDKHPLVIpULR

SURFHVVDXPWLSRGLIHUHQWHGH

LQIRUPDomR

„

A informação serial é

processada no

hemisfério esquerdo

„

A informação paralela é

processada no

hemisfério direito

7H[WR

„

Pode ser interessante código de tamanho variável

‰

Atribui sequências pequenas a símbolos mais comuns

‰

E longas para símbolos incomuns

‰

Ÿ

Em média mensagens menores

7H[WR

Frequência de letras em Inglês

Interessante considerar códigos menores para:

E, T, A, O e N

7H[WR

Frequência de letras em Português

Interessante considerar códigos menores para:

A, E, O, S e R

7H[WR

„

Código de tamanho variável:

‰

Tomar cuidados como:

„ Código pequeno não deve ser parte de início de qualquer

código longo

‰ Ou decodificador não consegue distingui-los

‰

Em texto, na prática o benefício não foi suficiente

para justificar a maior complexidade

„ Textos são normalmente codificados com códigos de

tamanho fixo

‰ Como ASCII „ Exceção: código Morse

(11)

&yGLJR0RUVH

„

Desenvolvido para uso em telégrafos

‰

Mais tarde em comunicações de rádio (antes de

AM carregar voz)

‰

Até 1999: modo de comunicação requerido em

navios de oceanos

„ Mesmo que raramente utilizado

‰

Habilidade de enviar e receber código Morse ainda

é requisito para cidadãos americanos que querem

uma licença de rádio-amador

&yGLJR0RUVH

„

Sequência de pulsos (ou tons) curtos e longos

(pontos e traços) separados por períodos curtos

de silêncio

‰

Estabelecendo e quebrando uma conexão elétrica em

uma chave

‰

Foi desenvolvido originalmente para ser escutado, não

visto

„ E para língua Inglesa

‰

Atribui sequências menores a letras mais comuns

&yGLJR0RUVH

„

http://www.glassgiant.com/geek/morse/

&yGLJRVLQWHLURV

„

Há várias maneiras para representar inteiros com bits

‰ Todos são incapazes de representar números

arbitrariamente grandes

„ Fora do intervalo: overflow „

Mais comuns:

‰ Código binário para inteiros sem sinal

„ Ex. endereços de memória

‰ Complemento de 2 para inteiros com sinal

„ Ex. aritmética

‰ Código Gray binário para instrumentos que medem

quantidades mutáveis

&yGLJRVLQWHLURV

Dígito mais significativo (MSB– Most Significative

Bit): à esquerda

Dígito menos significativo (LSB– Less Significative

Bit): à direita

&yGLJRELQiULR

„

Para inteiros não negativos

‰

Código de tamanho n: 2

n

padrões (símbolos)

„ Inteiros 0 a 2n-1

(12)

&yGLJR*UD\ELQiULR

„

Para inteiros não negativos

‰

Código de tamanho n: 2

n

padrões de código

„ Inteiros 0 a 2n-1

‰

Dois padrões para inteiros adjacentes diferem

exatamente de um bit

„ Útil para sensores onde o inteiro sendo medido

pode mudar enquanto medida está sendo feita

&yGLJR*UD\ELQiULR

„

Montando:

‰

Recursivamente

„ Refletindo a lista para n-1

(i.e., em ordem reversa)

„ Concatenando a lista original

com a lista reversa

„ Prefixando as entradas na lista

original com 0 e

„ Prefixando as entradas na lista

refletida com 1

6LQDOPDJQLWXGH

„

Código para inteiros positivos e

negativos

‰

Código de tamanho n: 2

n

padrões de código

„ Inteiros -(2n-1-1) a 2n-1-1

„ MSB é 0 para números positivos e 1 para

negativos

‰ Outros bits dão magnitude

„ Simples, mas com padrões “estranhos” ‰ Ex +0 e -0

&RPSOHPHQWRGH

„

Para inteiros positivos e negativos

‰

Código de tamanho n: 2

n

padrões de

código

„ Inteiros -2n-1a 2n-1-1

„ LSB é 0 para números pares e 1 para números

ímpares e MSB é 1 para negativos

„ Onde se sobrepõe ao binário, é igual a ele ‰ Negativos são complemento de 2

ƒ Inverte bits e soma 1 „ Muito usado

‰ Computadores usam

‰ Não precisa checar sinal em aritmética

&RPSOHPHQWRGH

„

Para inteiros positivos e negativos

‰

Código de tamanho n: 2

n

padrões de código

„ Inteiros -(2n-1 -1) a 2n-1-1

„ MSB é 0 para números positivos „ Números negativos são formados pelo

complemento de cada bit do inteiro positivo correspondente

„ Onde se sobrepõe ao binário, é igual a ele „ Estranho e pouco usado

‰ Ex. +0 e -0

&RQFOXLQGR

„

Complemento de 2 é o sistema mais usado

para representação de números inteiros com

sinal nos computadores modernos

‰

Possui uma única representação para o zero

‰

Regras para soma e subtração são as mesmas

‰

Desvantagem é ser um código assimétrico

(13)

5HIHUrQFLDV

„

Material de:

‰

Prof Dr Francisco Javier Ropero

‰

Wikipedia

Referências

Documentos relacionados

Na hipótese de pane ou acidente em rodovia que haja passageiros no local do evento, será providenciado um meio de transporte emergencial até a cidade, posto policial, posto de

A Imunidade “ratione personae” à jurisdi- ção de outro Estado que o Direito Internacio- nal reconhece ao Chefe de Estado é uma ex- cepção à regra de que cada Estado goza de

atribuições legais, nos termos do inciso IX do artigo 37 da Constituição Federal e considerando o disposto no inciso IV do artigo 2° da Lei Complementar n°

As escalas que avaliam as funções do tronco cerebral são supostamente mais sensíveis, incluem maior número de itens, avaliam as alterações mínimas, detectam mudanças sutis

O evento foi organizado pela Câmara de Indústria, Comércio e Serviços de Caxias do Sul (CIC), por meio da Diretoria de De- senvolvimento e Competitividade e do Comitê

2- Conforme indicado em nosso catálogo (em anexo), a largura mínima para a correia PLYLON 330 e ângulo dos rolos de 45° é de 750mm (30 pol.), a correia atualmente instalada

Depois da montagem, meta a ficha da antena na tomada prevista para o efei- to no TravelPilot (ver fig. 3).. 3.2 Antena GPS (navegação

Como com outros fibratos, o risco de rabdomiólise (destruição das células musculares) e mioglobinúria (perda de mioglobina, uma proteína típica dos tecidos musculares)