190 likes | 279 Vues
Conceitos fundamentais. Organização: Analógico x digital Representação digital de grandezas analógicas Códigos de numeração Aritmética binária Outros códigos (Gray, BCD, ASCII, UPC) Funções lógicas elementares Álgebra de Boole. Analógico x digital.
E N D
Conceitos fundamentais • Organização: • Analógico x digital • Representação digital de grandezas analógicas • Códigos de numeração • Aritmética binária • Outros códigos (Gray, BCD, ASCII, UPC) • Funções lógicas elementares • Álgebra de Boole
Analógico x digital • A generalidade das grandezas com que nos confrontamos são de natureza analógica (e.g. temperatura, humidade, etc.) • As grandezas analógicas variam de forma contínua, ao passo que as digitais variam de forma discreta (como varia a altura a que se encontra uma pessoa que sobe uma rampa ou uma escada?)
Vantagens e desvantagens do analógico e digital • Existem vantagens e desvantagens em converter uma grandeza de analógico para digital: • Uma vantagem: simplifica o tratamento da grandeza considerada (porquê?) • Uma desvantagem: perde-se informação ao realizar a conversão (porquê?)
Representação digital de grandezas analógicas • A qualidade da representação digital prende-se com dois factores principais: número de níveis da representação discreta e número de amostras por unidade de tempo
Representação digital de imagens (número de pixels) 350 x 500 175 x 250 (metade) 70 x 100 (5 vezes menos) 35 x 50 (10 vezes menos)
Imagens (número de bits por pixel) 8 bits 4 bits 2 bits 1 bits
Sistemas posicionais de numeração • O sistema decimal é sistema posicional, onde cada dígito representa o coeficiente de uma potência de base 10 (1.492 = 1x103 + 4x102 + 9x101 + 2x100) • O sistema romano de numeração também é posicional, mas o facto de não haver um peso associado a cada posição dificulta as operações… (quanto vale MCMLIX + XLIV?)
O sistema binário • A representação de números em binário segue as mesmas regras da representação decimal (cada dígito representa o coeficiente de uma potência de base 2) • Do mesmo modo que a representação decimal usa dez dígitos (0 a 9), a representação binária usa dois dígitos (0 e 1): 10111010100 B
Conversão entre bases • Sabendo que cada dígito representa o coeficiente da potência associada à base de numeração, torna-se fácil a conversão entre bases: • 10111010100 B: 1x210 + 0x29 + 1x28 + 1x27 + 1x26 + 0x25 + 1x24 + 0x23 + 1x22 + 0x21 + 0x20D • E para realizar a conversão inversa (de decimal para binário)? • E se pretendermos converter de / para hexadecimal?
Aritmética binária • As quatro operações básicas realizam-se de forma semelhante àquela que já conhecemos do sistema decimal: • E se se tratasse de uma multiplicação? 1 1 0 1 1 0 1 1 0 + 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0
A representação em complemento para 2 • A representação em complemento para 2 facilita a realização de operações aritméticas com sinal • Para obter –X a partir de X temos duas alternativas: • Complementar todos os bits e somar 1 • Lendo da direita para a esquerda, manter o valor da cada bit até se encontrar o primeiro 1 (inclusive); a partir daí, complementar todos os bit • Experimente realizar a operação 57 + (-12)
Outros códigos (Gray, BCD, ASCII, UPC) • Existem diversos códigos binários, criados para responder a necessidades em diversos domínios: • Gray: varia apenas um bit de cada vez • BCD: facilita a entrada / saída de informação, por representar em binário apenas os valores decimais • ASCII (American Standard Code for Information Interchange): para representar texto • UPC (Universal Product Code): para facilitar a etiquetagem de produtos
Emissor de luz Receptor Código de Gray • Considere-se o uso de uma régua com zonas transparentes e opacas, para codificar a posição decorrente de um deslocamento linear • O que poderá suceder se os emissores / receptores de luz não estiverem exactamente alinhados? • O código de Gray elimina este problema, já que os códigos consecutivos diferem apenas num bit (que alterações teriam lugar no desenho da régua?)
BCD (Binary-Coded Decimal) • A entrada / saída de dados numéricos é normalmente feita na forma decimal, para evitar a necessidade de converter para / de binário (e.g. considere o exemplo de visualizarmos uma contagem binária em 8 bits) • O código BCD usa quatro bits para representar os dez dígitos decimais (0 a 9) • O que deverá acontecer se nestes quatro bits surgirem códigos superiores a 9?
Código de barras UPC (Universal Product Code) • Este código facilita a leitura automática (um laser distingue barras / espaços e a sua dimensão) • A codificação numérica é feita da seguinte forma: • 0 = 3-2-1-1; 1 = 2-2-2-1; 2 = 2-1-2-2; 3 = 1-4-1-1; 4 = 1-1-3-2; 5 = 1-2-3-1; 6 = 1-1-1-4; 7 = 1-3-1-2; 8 = 1-2-1-3; 9 = 3-1-1-2 • Pode ver uma explicação detalhada em http://electronics.howstuffworks.com/upc.htm
Algumas funções lógicas elementares • Em que circunstâncias acende a lâmpada, para cada um dos circuitos apresentados? • Considerando que existe umsinal de controlo para cadainterruptor (0: aberto; 1: fechado)construa a tabela que relacionao estado da lâmpada (0: apagada; 1: acesa) com o dos sinais de controlo, em ambos os casos Interruptor Interruptor Fonte de energia Lâmpada Interruptor Interruptor Fonte de energia Lâmpada
Álgebra de Boole • A obra fundamental de George Boole (1854) criou o cálculo proposicional, que ofereceuma base teórica para o projecto de sistemas lógicos (descrito em pormenor em várias obras sobre “Introductory logic design”
Conclusão • Este primeiro conjunto de transparências apresentou as questões básicas relacionadas com a representação digital de grandezas e com o tratamento deste tipo de informação • Estamos agora em condições de considerar em maior pormenor as funções lógicas elementares, para a partir daí pensarmos no projecto de sistemas digitais mais complexos