Baixe o app para aproveitar ainda mais
Prévia do material em texto
Eletrônica Digital 1 Sistemas de Numeração Universidade Federal do Amazonas (UFAM) Faculdade de Tecnologia (FT) Departamento de Eletrônica e Computação (DTEC) Sistemas de Numeração Prof. Francisco Januário Mestrando em Engenharia Elétrica (UFAM) Bacharel em Engenharia de Telecomunicações (FUCAPI) Introdução Eletrônica Digital I 2 Introdução Prof. Francisco Januário Eletrônica Digital I Introdução (1/18) • Eletrônica: ciência que estuda a forma de controlar a energia elétrica através de circuitos elétricos e eletrônicos. • Eletrônica Digital : ramo da eletrônica que trata sinais elétricos utilizando a álgebra booleana. 3Prof. Francisco Januário Eletrônica Digital I Introdução (2/18) • Aplicações: a eletrônica digital está presente em praticamente todos os dispositivos eletrônicos: telefone celular, câmera digital, pen-drive, controle remoto, DVD, TV digital, computadores, rôbos de montagem, controle de manufatura, etc. 4Prof. Francisco Januário Eletrônica Digital I Introdução (3/18) • Circuitos Digitais (ou Circuitos Lógicos): são circuitos eletrônicos que processam informações digitais. 5Prof. Francisco Januário Projeto Digital (Digital Design) Projeto digital é engenharia, e engenharia significa “resolver problema”. Projeto digital: equações lógicas + teoremas + técnicas Eletrônica Digital I Introdução (4/18) 6 Projeto digital: equações lógicas + teoremas + técnicas 5% – 10% do projeto digital é abstração (diversão), ou a parte criativa. O restante é desenvolvimento (girar a manivela). Resultado do projeto: circuito ou sistema digital. Prof. Francisco Januário Analógico versus Digital (1/3) Dispositivos ou sistemas analógicos processam sinais variantes no tempo que podem assumir qualquer valor através de uma faixa continua de tensão, corrente, ou outra métrica. Eletrônica Digital I Introdução (5/18) 7 outra métrica. Prof. Francisco Januário Analógico versus Digital (2/3) Dispositivos ou sistemas digitais também processam sinais analógicos, mas o sinal digital é modelado para assumir 2 valores discretos, 0 ou 1 (LOW e HIGH, FALSE e TRUE, Cara e Coroa, ou seja o que for). Eletrônica Digital I Introdução (6/18) 8 TRUE, Cara e Coroa, ou seja o que for). Prof. Francisco Januário Analógico versus Digital (3/3) Algumas vantagens de circuitos digitais em relação ao analógico: Reprodutibilidade de resultados: dado o mesmo conjunto de entradas, o circuito digital produz os mesmos resultados. Facilidade de projeto: não é necessário habilidade Eletrônica Digital I Introdução (7/18) 9 Facilidade de projeto: não é necessário habilidade matemática especial para modelar circuitos digitais. Programabilidade: atualmente é possível desenvolver sistemas digitais utilizando linguagem de descrição de hardware (HDL). Velocidade: resposta a estimulo da entrada em nanosegundos. Economia: integração de circuitos digitais completos em um CI (Chip) e produzido em massa. Prof. Francisco Januário Dispositivos Digitais Dispositivos digitais básicos = portas (gates) lógicas. O nome da porta lógica depende da função que associa a saída em relação a(s) entrada(s). Eletrônica Digital I Introdução (8/18) 10 saída em relação a(s) entrada(s). Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Aspectos Eletrônicos do Projeto Digital A “abstração digital” associa uma faixa de valores analógicos com cada valor lógico (0 ou 1). Eletrônica Digital I Introdução (9/18) 11Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Aspectos de Software do Projeto Digital O projeto digital não necessita de ferramentas de software. No entanto, hoje em dia, o software é essencial para minimizar tempo de desenvolvimento e erros em projeto de sistemas digitais. Categorias de softwares: Eletrônica Digital I Introdução (10/18) 12 projeto de sistemas digitais. Categorias de softwares: Entrada Esquemática: uso de diagrama esquemático para “desenhar” o circuito digital. HDL’s: Linguagem de descrição de hardware. Permite modular o sistema digital através da programação. Linguagens: ABEL, VHDL e Verilog. Simuladores: é possível validar o comportamento elétrico e funcional dos componentes e do sistema digital através da análise das formas de onda de entrada e saída. Prof. Francisco Januário Circuitos Integrados A coleção de um ou mais portas fabricadas em uma pastilha (chip) de silício é chamado de CI (ou IC – integrated circuit). Eletrônica Digital I Introdução (11/18) 13Prof. Francisco Januário Dispositivos Lógicos Programáveis PLD (do inglês Programmable Logic Devices) são CI’s que permitem programar circuitos digitais complexos dentro do CI através de software (HDL). Eletrônica Digital I Introdução (12/18) 14Prof. Francisco Januário Níveis de Projeto Digital (1/6) Existem diferentes níveis de abstração e representação. E podem também identificar o fluxo de execução do projeto. Exemplo: Projetar um multiplexador de 2 entradas. Eletrônica Digital I Introdução (13/18) 15 Exemplo: Projetar um multiplexador de 2 entradas. Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Níveis de Projeto Digital (2/6) Exemplo: Projetar um multiplexador de 2 entradas. Nível analógico: uso de transistores CMOS. Eletrônica Digital I Introdução (14/18) 16Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Níveis de Projeto Digital (3/6) Exemplo: Projetar um multiplexador de 2 entradas. Nível de modelagem: uso da “Tabela Verdade”. Eletrônica Digital I Introdução (15/18) 17Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Níveis de Projeto Digital (4/6) Exemplo: Projetar um multiplexador de 2 entradas. Nível lógico: uso da portas lógicas. Eletrônica Digital I Introdução (16/18) 18Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Níveis de Projeto Digital (5/6) Exemplo: Projetar um multiplexador de 2 entradas. Nível de diagrama lógico: uso de bloco chip MSI. Eletrônica Digital I Introdução (17/18) 19Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Níveis de Projeto Digital (6/6) Exemplo: Projetar um multiplexador de 2 entradas. Nível de programação: uso de HDL. Eletrônica Digital I Introdução (18/18) 20Prof. Francisco Januário Fonte Imagem: Digital Design - Principles & Practices - Third Edition - John Wakerly Sistemas de Numeração Eletrônica Digital I 21 Sistemas de Numeração Prof. Francisco Januário Variável: ente matemático que pode assumir valores (numéricos, binários, etc.) em uma expressão algébrica, fórmula ou algoritmo. Variável Lógica: possui 3 propriedades distintas 1. Só pode assumir apenas um de 2 valores distintos Eletrônica Digital I Variáveis Lógicas (1/2) 22 1. Só pode assumir apenas um de 2 valores distintos definidos; 2. Os valores são expressos por afirmações declarativas (Ex: o semáforo está vermelho); 3. Os 2 valores possíveis da variável, com base na lógica, ou seja, com base no raciocínio humano, são mutuamente exclusivos. Prof. Francisco Januário Valores de uma Variável Lógica: os 2 valores possíveis são V (verdadeiro) e F (falso). Eletrônica Digital I Variáveis Lógicas (2/2) Afirmação declarativa Valor lógico O ser humano é racional Você é ser humano V V 23 Negação Lógica: é possível representarum dos valores negando o outro colocando uma barra sobre o valor. Prof. Francisco Januário Você não é racional F Você não é racional Você é racional= F V= Função Lógica (ou Booleana): corresponde a um função do tipo onde XXXX é um conjunto arbitrário e BBBB é um domínio booleano, que é um conjunto genérico composto de 2 Eletrônica Digital I Função Lógica (1/1) A palavra booleana é usada em homenagem a George Boole, descobridor da Lógica Matemática. 24 XXXX BBBB booleano, que é um conjunto genérico composto de 2 elementos, no caso de nosso estudo, dos valores lógicos V e F. Prof. Francisco Januário Tabela Verdade (ou Booleana): é uma tabela lógica que trabalha com os valores possíveis de V e F. Eletrônica Digital I Tabela Verdade (1/1) SEMÁFORO VERMELHO V MOTORISTA DEVE PARAR F SEMÁFORO VERDE F 25Prof. Francisco Januário XXXX Z = f(X)Z = f(X)Z = f(X)Z = f(X) F V V F MOTORISTA DEVE PROSSEGUIR V Notação “0” ou “1”: são valores lógicos (não números no sentido aritmético) que representam os valores V e F. Os computadores digitais trabalham com 2 níveis de tensão Eletrônica Digital I Sistema Binário (1/6) V 1 F 0 26 Os computadores digitais trabalham com 2 níveis de tensão (HIGH ou LOW), que podem representar 2 estados possíveis (LIGADO ou DESLIGADO). Prof. Francisco Januário Sistema Numérico: corresponde a um conjunto de dígitos (numerais) diferentes que representam uma idéia, e que possuem um corpo de operações aritméticas básicas. Sistema Decimal: possui 10 dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. É chamado de sistema de base dez. Eletrônica Digital I Sistema Binário (2/6) 27 9. É chamado de sistema de base dez. Prof. Francisco Januário 0 1 2 : 9 10 11 12 13 : 19 20 91 92 93 : 99 100 ... Sistema Binário: possui 2 dígitos: 0, 1. É chamado de sistema de base 2. Eletrônica Digital I Sistema Binário (3/6) 0 1 A primeira coluna está completa 1234 Colunas que identificam a posição do dígito binário 28Prof. Francisco Januário 01 Reinicializa e adiciona 1 na 2° coluna 11 As primeiras duas colunas estão completas 00 Reinicializa e adiciona 1 na 3° coluna1 101 011 111 As primeiras três colunas estão completas Reinicializa000 e adiciona 1 na 4° coluna1 BIT (BInary digiT): corresponde a cada casa (coluna) em um número binário. Número Binário: é uma sequência de bits. Eletrônica Digital I Sistema Binário (4/6) MSB (Most Significant bit) 29Prof. Francisco Januário 1 0 1 1 0 É um número binário ? Quantos bits ? 5 SIM MSB (Most Significant bit) Bit mais significativo LSB (Least Significant bit) Bit menos significativo Cada número binário corresponde a um número decimal. Exemplo 1: Até onde você pode contar utilizando um Eletrônica Digital I Sistema Binário (5/6) Qual o número de combinações com N bits ? 2N Até que n° decimal podemos contar com N bits ? 2N-1 30 Exemplo 1: Até onde você pode contar utilizando um número de 4 bits? Exemplo 2: Quantos números diferentes podem ser representados com 6 bits? Prof. Francisco Januário 24-1 = 15N = 4 26 = 64N = 6 Comparando os números decimais e binários. Eletrônica Digital I Sistema Binário (6/6) Decimal Binário 0 000 1 001 2 010 3 011 Decimal Binário 11 1011 12 1100 13 1101 14 1110 31Prof. Francisco Januário 3 011 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 14 1110 15 1111 16 10000 17 10001 18 10010 19 10011 20 10100 21 10101 No sistema de base dez cada coluna a esquerda aumenta o número por um fator de 10, sendo a 1° coluna a unidade (100). Eletrônica Digital I Conversão Binário em Decimal (1/3) 3 9 5 4 (3 X 103) + (9 X 102) + (5 X 101) + (4 X 100) (3 X 1000) + (9 X 100) + (5 X 10) + (4 X 1) 32 Em geral a forma de um número decimal é O valor do número é Prof. Francisco Januário (3 X 1000) + (9 X 100) + (5 X 10) + (4 X 1) 3000 + 900 + 50 + 4 = 3954 No sistema de base 2 cada coluna esquerda aumenta por um fator de 2. Eletrônica Digital I Conversão Binário em Decimal (2/3) 1 0 1 1 0 (1 X 24) + (0 X 23) + (1 X 22) + (1 X 21) + (0 X 20) (1 X 16) + (0 X 8) + (1 X 4) + (1 X 2) + (0 X 1) 33 Em geral a forma de um número binário é O valor do número é Prof. Francisco Januário 16 + 0 + 4 + 2 + 0 = 2210 Exemplo 3: Converter 10001112 em um número decimal. Eletrônica Digital I Conversão Binário em Decimal (3/3) 1 0 0 0 1 1 1 26 + 25 + 24 + 23 + 22 + 21 + 20 64 + 32 + 16 + 8 + 4 + 2 + 1 = 7110 10001112 = 7110 34 Exemplo 4: Converter 1010112 em um número decimal. Prof. Francisco Januário 10001112 = 7110 1 0 1 0 1 1 25 + 24 + 23 + 22 + 21 + 20 32 + 16 + 8 + 4 + 2 + 1 = 4310 1010112 = 4310 Método 1: Divide-se o decimal sucessivamente por 2, ignorando os restos, até obter um quociente 0 (zero). A resposta são os restos, onde o 1° resto é o LSB e o último é oMSB. Eletrônica Digital I Conversão Decimal em Binário (1/1) 101 / 2 = 50 com resto igual a 1 50 / 2 = 25 com resto igual a 0 LSB 35Prof. Francisco Januário 50 / 2 = 25 com resto igual a 0 25 / 2 = 12 com resto igual a 1 12 / 2 = 6 com resto igual a 0 6 / 2 = 3 com resto igual a 0 3 / 2 = 1 com resto igual a 1 1 / 2 = 0 com resto igual a 1 MSB 10110 = 11001012 Método 2: Identifique as casas binárias até alcançar a casa com um valor que exceda o número decimal a ser convertido. Coloque 1 sobre as casas de potência 2 menor que o número decimal e 0 (zero) sobre as casa de potência maior que o número decimal. Faça isso até restar 0. Eletrônica Digital I Conversão Decimal em Binário (2/2) 36 Exemplo: Converter 2310 em binário Prof. Francisco Januário 32 16 8 4 2 1 0 1 0 1 1 1 23 – 16 = 7 7 – 4 = 3 3 – 2 = 1 1 – 1 = 0 2310 = 101112 Exemplo 5: Converter 29110 em um binário (Método 1). Eletrônica Digital I Conversão Decimal em Binário (3/3) 291 / 2 = 145 com resto igual a 1 145 / 2 = 72 com resto igual a 1 72 / 2 = 36 com resto igual a 0 36 / 2 = 18 com resto igual a 0 18 / 2 = 9 com resto igual a 0 9 / 2 = 4 com resto igual a 1 LSB 29110 = 1001000112 37 Exemplo 6: Converter 4510 em um binário (Método 2). Prof. Francisco Januário 32 16 8 4 2 1 1 0 1 1 0 1 45 – 32 = 13 5 – 4 = 1 4510 = 1011012 64 0 13 – 8 = 5 1 – 1 = 0 9 / 2 = 4 com resto igual a 1 4 / 2 = 2 com resto igual a 0 2 / 2 = 1 com resto igual a 0 1 / 2 = 0 com resto igual a 1 MSB Sistema Octal: ou de base oito, possui 8 dígitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7. Foi utilizado como alternativa mais compacta ao binário, pois utiliza apenas 3 bits para representar os oito símbolos. Eletrônica Digital I Sistema Octal (1/2) 0 11 670 38Prof. Francisco Januário 1 2 3 4 5 6 7 10 12 13 14 15 16 17 20 21 671 672 673 674 675 676 677 700 ... Comparando os números decimais, binários e octais. Eletrônica Digital I Sistema Octal (2/2) Decimal Binário Octal 0 000 0 1 001 1 2 010 2 3 011 3 39Prof. Francisco Januário 3 011 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 10 9 1001 11 10 1010 12 Sabendo que 3 bits representam os números octais, pode- se agrupar os bits de 3 em 3, da direita para a esquerda, realizando a conversão direta por tabela. No último grupo deve-se adicionar o bit “0” para completar o total de 3 bits. Exemplo 7: Converter 10111101 em um número octal. Eletrônica Digital I Conversão Binário em Octal (1/2) 40 Exemplo 7: Converter 101111012 em um número octal. Prof. Francisco Januário 1 1 1 1 0 11 00 572 101111012 = 2758 Exemplo 8: Converter 10101010 em um número octal. Eletrônica DigitalI Conversão Binário em Octal (2/2) 101 010 252 101010102 = 2528 010 41 Exemplo 9: Converter 110101001101111010010002 em um número octal. Prof. Francisco Januário 011 010 100 110 111 101 001 000 3 2 4 6 7 5 1 0 110101001101111010010002 = 324675108 Seguindo o mesmo princípio da conversão de binário para octal, basta converter cada dígito octal em seu correspondente binário (3 bits). Exemplo 10: Converter 4368 em um número octal. Eletrônica Digital I Conversão Octal em Binário (1/2) 42Prof. Francisco Januário 0 1 1 1 1 00 01 634 4368 = 1000111102 Exemplo 11: Converter 3778 em um número binário. Eletrônica Digital I Conversão Octal em Binário (2/2) 111 111 773 3778 = 0111111112 011 43 Exemplo 12: Converter 6470178 em um número binário. Prof. Francisco Januário 110 100 111 000 001 111 6 4 7 0 1 7 6470178 = 1101001110000011112 Sistema Hexadecimal: ou de base 16, possui 16 dígitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. É utilizado como alternativa mais compacta ao binário, pois utiliza apenas 4 bits para representar os 16 símbolos. Eletrônica Digital I Sistema Hexadecimal (1/1) Decimal Binário Hexadecimal 0 0000 0 Decimal Binário Hexadecimal 8 1000 8 44Prof. Francisco Januário 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Sabendo que 4 bits representam os números hexadecimais, pode-se agrupar os bits de 4 em 4, da direita para a esquerda, realizando a conversão direta por tabela. No último grupo deve-se adicionar o bit “0” para completar o total de 3 bits. Eletrônica Digital I Conversão Binário em Hexadecimal (1/2) 45 Exemplo 13: Converter 101110012 em um número hexadecimal. Prof. Francisco Januário 1 1 1 0 0 11 0 9B 101110012 = B916 = B9HEX Exemplo 14: Converter 101010102 em um número hexadecimal. Eletrônica Digital I Conversão Binário em Hexadecimal (2/2) 1 0 1 0 1 01 0 AA 101110012 = AA16 = AAHEX 46 Exemplo 15: Converter 110101001101111010010002 em um número hexadecimal. Prof. Francisco Januário 101110012 = AA16 = AAHEX 0110 1010 0110 1111 0100 1000 6 A 6 F 4 8 110101001101111010010002 = 6A6F4816 Seguindo o mesmo princípio da conversão de binário para hexadecimal, basta converter cada dígito hexadecimal em seu correspondente binário (4 bits). Exemplo 16: Converter C3A16 em um número hexadecimal. Eletrônica Digital I Conversão Hexadecimal em Binário (1/2) 47Prof. Francisco Januário 0 1 1 1 1 00 01 A3C C3A16 = 1100001110102 001 Exemplo 17: Converter 3FF16 em um número binário. Eletrônica Digital I Conversão Hexadecimal em Binário (2/2) 0011 1111 1111 3 F F 3FF16 = 0011111111112 48 Exemplo 18: Converter 34A67CF416 em um número binário. Prof. Francisco Januário 0011 0100 1010 0110 0111 1100 1111 0100 3 4 A 6 7 C F 4 34A67CF416 = 001101001010011001111100111101002 Eletrônica Digital I Esquema de Conversão entre Bases 49Prof. Francisco Januário Quando soma-se 2 bits o resultado pode exceder ao total de bits ocorrendo um estouro de contagem (overflow). A adição resulta em um bit de soma e um bit de transporte (carry). Eletrônica Digital I Adição Binária (1/2) ENTRADAS SAÍDA 0 0 50Prof. Francisco Januário A B Carry Soma 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 + 0 0 0 + 1 1 1 + 0 1 1 1 + 1 1 0 O bit de carry (carry-in), originado da coluna precedente, é adicionado a soma de 2 bits e pode gerar um bit de carry de saída (carry-out). Eletrônica Digital I Adição Binária (2/2) ENTRADAS SAÍDA Carry de Entrada A B Carry de Saída Soma 0 0 0 0 0 1 1 0 0 1 1 1 1 0 51Prof. Francisco Januário 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 + 1 1 0 0 1 0 1 0 1 0 3010 + 1210 4210 Semelhante ao sistema decimal, considerando que deve-se realizar o empréstimo na base correspondente, 8 para octal e 16 para hexadecimal. Eletrônica Digital I Adição Octal / Hexadecimal (1/2) 11110 57468 OCTAL 52Prof. Francisco Januário 8 + 34728 114408 1 1 1 1 0 5 7 4 6 + 3 4 7 2 9 12 12 8 8+1 8+4 8+4 8+0 1 1 4 4 0 Semelhante ao sistema decimal, considerando que deve-se realizar o empréstimo na base correspondente, 8 para octal e 16 para hexadecimal. Eletrônica Digital I Adição Octal / Hexadecimal (2/2) 1100 19B916 HEXADECIMAL 53Prof. Francisco Januário 16 + C7E616 E19F16 1 1 0 0 1 9 11 9 + 12 7 14 6 14 17 25 15 14 16+1 16+9 15 E 1 9 F Representamos um número negativo adicionando um o prefixo (–). O sistema de sinal-e-magnitude (ou sinal-magnitude) representa qualquer número com um sinal (+ ou –) e a magnitude (ou valor absoluto). Eletrônica Digital I Representação de Números Binários Negativos (1/3) 54 magnitude (ou valor absoluto). Em binário o sinal negativo é representado pelo bit de sinal (MSB). Prof. Francisco Januário SINAL - 127 MAGNITUDE 010101012 = +8510 110101012 = -8510 SINAL Em um sistema de sinal-magnitude existe um número igual de números positivos e negativos. A faixa (range) de valores vai de –(2n-1 – 1) até +(2n-1 – 1), e 2 possibilidades de zero. Eletrônica Digital I Representação de Números Binários Negativos (2/3) 55 Exemplo: Em um sistema de sinal-magnitude de 8 bits, temos 7 bits para representar o valor e 1 bit para representar o sinal. Prof. Francisco Januário 111111112 ... 100000002 000000002 ... 011111112 –12710 ... –(0)10 +(0)10 ... +12710 A representação de números binários negativos pode ser realizado utilizando o sistema de número complementar. Neste sistema, o bit de sinal mude de 1 para 0. Na representação por Complemento de 1, todos os bits são Eletrônica Digital I Representação de Números Binários Negativos (3/3) 56 Na representação por Complemento de 1, todos os bits são invertidos do número negativo. Prof. Francisco Januário -1710 = 1110111102 0001000012 = +1710 Complemento de 1: Na subtração, o segundo termo deve ter os bits invertidos, então é realizado a soma dos termos. O bit de carry será adicionado ao bit LSB (EAC – end- around carry – carry na extremidade). Eletrônica Digital I Subtração Binária (1/4) 1 1 0 0 1 1 1 0 0 1 57Prof. Francisco Januário — 1 0 0 0 1 1 1 0 0 1 + 0 1 1 1 0 1 0 0 1 1 1 Overflow 0 0 1 1 1 + 1 1 0 0 0 EAC2510 – 1710 = 810 Complemento de 1 (negativo): Quando não ocorre overflow então o resultado é negativo. A resposta final deve ser seu complemento de 1. Eletrônica Digital I Subtração Binária (2/4) 1 0 1 1 0 1 58Prof. Francisco Januário — 1 1 0 0 0 1 0 1 + 0 0 1 1 1 0 1 1 0 0 Sem Overflow 1 0 0 1 1 510 – 2410 = – 1910 Novo completo de 1 Complemento de 2: Inverte o bits após o primeiro bit “1” da direita para esquerda, do segundo termo da subtração. Se houver overflow o resultado épositivo, senão realizar complemento de 2 do resultado. Eletrônica Digital I Subtração Binária (3/4) 1 0 1 1 1 0 1 1 59Prof. Francisco Januário — 1 0 0 1 0 1 1 + 1 1 0 0 1 0 1 1 1 Overflow 1110 – 410 = 710 Complemento de 2 (negativo): Se não houver overflow o resultado é negativo. A magnitude real é o complemento de 2 do resultado obtido. Eletrônica Digital I Subtração Binária (4/4) 1 0 0 1 0 1 0 0 1 0 60Prof. Francisco Januário — 1 1 0 0 0 1 0 0 1 0 + 0 1 0 0 0 1 1 0 1 0 Sem Overflow 1810 – 2410 = – 610 0 0 1 1 0 Novo completo de 2 Semelhante ao sistema decimal, considerando que deve-se realizar o empréstimo na base correspondente, 8 para octal e 16 para hexadecimal. Eletrônica Digital I Subtração Octal / Hexadecimal 57468 - 34728 0 -1 8 0 5 7 4 6 - 3 4 7 2 + 61Prof. Francisco Januário - 34728 22548 - 3 4 7 2 2 2 5 4 9B316 - 7E616 1CD16 -1 -1 16 16 9 11 3 - 7 14 6 1 12 13 1 C D + + Exercício 1: Some os seguintes números binários: a) 10112, 1012 e 10012 b) 100101002 e 10100102 Eletrônica Digital I Exercícios 62 Exercício 2: Subtraia os seguintes números binários utilizando ambos os processo: complemento de 1 e 2. a) 10112 e 1001112 b) 110102 e 10112 Prof. Francisco Januário Um dos métodos utilizados é semelhante a multiplicação de decimais. Uma soma de multiplicandos calculados de acordo com os dígitos do multiplicador. Eletrônica Digital I Multiplicação Binária (1/5) 63Prof. Francisco Januário Em sistemas digitais a técnica mais conveniente é deslocar e adicionar (shift-and-add). Inicialmente o produto parcial é 02 (zero binário). Eletrônica Digital I Multiplicação Binária (2/5) 64Prof. Francisco Januário Em geral, a multiplicação de um número n-bit por um númerom-bit, resulta em um número de n + m bits. Na técnica shift-and-add (ou shift-add) são necessários m produtos parciais e adição para obter o resultado. Eletrônica Digital I Multiplicação Binária (3/5) 65 produtos parciais e adição para obter o resultado. O algoritmo shift-add pode ser realizado por um registrador de deslocamento, um somador e controle lógico (circuitos digitais). Prof. Francisco Januário A multiplicação de números com sinal são realizados com representação do número negativo em complemento de 2. Eletrônica Digital I Multiplicação Binária (4/5) 66Prof. Francisco Januário Se os 2 números são negativos: o resultado da multiplicação do bit de sinal com o multiplicando é complemento de 2. Eletrônica Digital I Multiplicação Binária (5/5) 67Prof. Francisco Januário Utiliza o mesmo método que a operação “divisão” no sistema decimal: deslocamentos e subtrações. Eletrônica Digital I Divisão Binária 42 6 68Prof. Francisco Januário 7 É o deslocamento da palavra para esquerda ou direita, correspondendo amultiplicação e divisão por 2. Deslocamento à esquerda:multiplicação por 2. Eletrônica Digital I Deslocamento de Bits 69 Deslocamento à direita: divisão por 2. Prof. Francisco Januário Números binários são apropriados para a computação interna de sistemas digitais. Interfaces externas de sistemas digitais possuem teclado numérico na base 10 e display também decimal. Eletrônica Digital I Codígos Binários para Número Decimais (1/7) 70 Código: é um conjunto de palavras de n-bits que representa números diferentes. Palavra de código: é uma combinação particular de n valores de bits. Prof. Francisco Januário Eletrônica Digital I Codígos Binários para Número Decimais (2/7) 71Prof. Francisco Januário BCD (Binary-Code Decimal): código mais conhecido e representa os 10 dígitos decimais em 4 bits. Para representar um código BCD com sinal adiciona mais 4 bits, normalmente 0000 (positivo) e 1001 (negativo). Eletrônica Digital I Codígos Binários para Número Decimais (3/7) 72 A adição de códigos BCD é semelhante a adição binária sem sinal. A correção é realizada com 6 (em binário). Prof. Francisco Januário Exercício 3: Some os seguintes números BCD: a) 00112 e 01002 b) 00100011 e 00010101 Eletrônica Digital I Codígos Binários para Número Decimais (4/7) 73 b) 001000112 e 000101012 c) 0100010101112 e 0101000101112 Prof. Francisco Januário O código BCD é um código ponderado, pois cada digital decimal pode ser obtido pela atribuição de um peso fixo para cada bit da palavra de código. Os pesos para cada bit do código BCD é 8 (MSB), 4, 2 e 1 (LSB). BCD também é conhecido como código 8421. Eletrônica Digital I Codígos Binários para Número Decimais (5/7) 74 (LSB). BCD também é conhecido como código 8421. Código 2421: É um código ponderado. É um código auto- complementar. A tabela é construída da seguinte forma: para se obter o número binário a partir do valor decimal 5 basta realizar o completo de 9. Confirme com os pesos do código. Prof. Francisco Januário Código Excesso-3: É um código auto-complementar não ponderado. A palavra de código para cada dígito decimal é a correspondente palavra código BCD mais 00112. Códigos decimais podem ter mais de 4 bits na palavra de código. Eletrônica Digital I Codígos Binários para Número Decimais (6/7) 75 Código Bi-quinário: possui 7 dígitos onde os 2 primeiros representam os grupos: 01 (0 – 4) e 10 (5 – 9). Os 5 últimos dígitos representam um dos 5 números de cada range. A vantagem deste código é permitir a detecção de erro pela mudança de 1 bit. Existem 128 possibilidade com 7-bits, mas somente 10 são válidos e representam um dígito decimal. Prof. Francisco Januário Código 1-out-of-10: Possui 10 dígitos para representar cada dígito decimal, setando apenas um dos dígitos binários com bit 1. Existem 1024 possibilidades, mas somente 10 são palavras de código válidos. Também possui a vantagem de permitir a detecção de Eletrônica Digital I Codígos Binários para Número Decimais (7/7) 76 Também possui a vantagem de permitir a detecção de erros pela mudança de 1 bit na palavra de código. Prof. Francisco Januário Algumas vezes é necessário converter um sensor de entrada em um valor digital para indicar uma posição mecânica. Em sistemas digitais de aplicações eletromecânicas, como por exemplo, sistemas de frenagem de automóveis. Eletrônica Digital I Código Gray (1/3) 77 por exemplo, sistemas de frenagem de automóveis. Prof. Francisco Januário Pode-se utilizar um disco codificado e um conjunto de contatos para produzir um de 8 valores de códigos binários de 3 bits dependendo da posição rotacional do disco. O código Gray é um código posicional de 3 bits que cuja palavra de código vai de um valor decimal para outro com mudança de apenas de 1 dígito binário. Eletrônica Digital I Código Gray (2/3) 78Prof. Francisco Januário Eletrônica Digital I Código Gray (3/3) 79Prof. Francisco Januário A maioria das informações processadas por computadores são não-numéricos (letras, números, caracteres especiais). Na tabela ASCII (American Standard Code for Information Interchange) cada caractere é representado por uma palavra binária de 7 bits, produzindo um conjunto de 128 Eletrônica Digital I Código ASCII (1/3) 80 palavra binária de 7 bits, produzindo um conjunto de 128 caracteres diferentes. A tabela contém palavras maiúsculas e minúsculas, numerais, símbolos de pontuação e vários caracteres de controle. Prof. Francisco Januário Eletrônica Digital I Código ASCII (2/3) 81Prof. Francisco Januário Eletrônica Digital I Código ASCII (3/3) 82Prof. Francisco Januário Um erro em um sistema digitalé a corrupção do “dado” de um valor correto para qualquer outro valor. Um erro pode ser temporário, causado por raios, ou permanentes causado por aquecimento ou estática. Eletrônica Digital I Código para Detecção e Correção de Erros (1/5) 83 Modelos de Erro: utilizados para predizer os efeitos de falhas em dados. O modelo de erro independente define o erro simples como causado por uma simples falha física que modifica 1 bit. Múltiplas falhas causam múltiplos erros (mais de 1 bit modificado). Prof. Francisco Januário Código de Detecção de Erros: permitem verificar se a informação (bits) transmitida foi recebida corretamente (sem erros). Utilizando palavras de código a detecção pode ser simples: verificar se é ou não uma palavra em bits do código do Eletrônica Digital I Código para Detecção e Correção de Erros (2/5) 84 verificar se é ou não uma palavra em bits do código do sistema. Outras técnicas para gerar códigos capazes de detectar se existe ou não erro na palavra em bits, utilizam bits de verificação, chamados de bits de paridade. Prof. Francisco Januário Código de Detecção de Erro por Paridade: a adição de um bit que determina se o número de bits “1” é par ou ímpar. O código pode ser de paridade par ou de paridade ímpar. Para código de paridade par: 0 – par; 1 – ímpar. Para código de paridade par: 1 – par; 0 – ímpar. Eletrônica Digital I Código para Detecção e Correção de Erros (3/5) 85 de paridade par: 1 – par; 0 – ímpar. Prof. Francisco Januário Bits Informação Código de Paridade Par Código de Paridade Ímpar 000 000 0 000 1 001 001 1 001 0 010 010 1 010 0 011 011 0 011 1 Bits Informação Código de Paridade Par Código de Paridade Ímpar 100 100 1 100 0 101 101 0 101 1 110 110 0 110 1 111 111 1 111 0 Códigos Hamming: é um código de detecção de erros linear que adiciona 3 ou 4 bits de paridade a cada 4 bits de dados de uma palavra 8 bits. Com esse código é possível não só detectar o bit de erro, mas também corrigi-lo. Eletrônica Digital I Código para Detecção e Correção de Erros (4/5) 86 mas também corrigi-lo. Prof. Francisco Januário 1 0 1 1 0 0 1 Códigos CRC (Cyclic-Redundancy-Check): código utilizado para detecção e correção de erros. Muito utilizado em aplicações como drives de discos e protocolos de redes de comunicação. Eletrônica Digital I Código para Detecção e Correção de Erros (5/5) 87Prof. Francisco Januário Eletrônica Digital I Exercícios (WAKERLY 3° Edição – página 70) 88Prof. Francisco Januário Eletrônica Digital I Exercícios (WAKERLY 3° Edição – página 71) 89Prof. Francisco Januário Eletrônica Digital I Exercícios (WAKERLY 3° Edição – página 71) 90Prof. Francisco Januário
Compartilhar