Sistemas Digitais

Sistemas Digitais

O termo digital é parte do nosso vocabulário devido ao uso intenso de circuitos e técnicas digitais

  • O termo digital é parte do nosso vocabulário devido ao uso intenso de circuitos e técnicas digitais

    • Computadores, automação, robôs, tecnologia médica, transporte, entretenimento, etc.
  • O desenvolvimento desse mundo digital se baseia num conjunto de entendimentos sobre os elementos básicos

  • Objetivo: introdução aos conceitos fundamentais da tecnologia digital

Representação Numérica usada para representar quantidades

  • Representação Numérica usada para representar quantidades

  • Analógica

    • Uma quantidade é representada por outra que lhe é proporcional.
    • A quantidade pode variar de modo contínuo.
    • Sistemas Analógicos - São sistemas que manipulam quantidade físicas (peso, massa, etc)‏
  • Digital

    • A quantidade é representada por símbolos.
    • A quantidade varia de modo discreto.
    • Sistemas Digitais - São sistemas que
  • manipulam informações (bits, bytes, etc)‏

Sistemas Digitais: conjunto de dispositivos projetados para manipular informação lógica ou quantidades físicas que são representadas em formato digital

  • Sistemas Digitais: conjunto de dispositivos projetados para manipular informação lógica ou quantidades físicas que são representadas em formato digital

    • quantidades assumem apenas valores discretos
    • Computadores, calculadoras, sistema de telefonia, equipamentos digitais de audio e video, etc.

Sistemas Analógicos: equipamentos que manipulam quantidades físicas representadas na forma analógica

  • Sistemas Analógicos: equipamentos que manipulam quantidades físicas representadas na forma analógica

    • Quantidades físicas podem variar ao longo de uma faixa contínua de valores
    • Ex: amplitude do sinal de saída de um autofalante de um radio

A generalidade das grandezas com que nos confrontamos são de natureza analógica (e.g. temperatura, humidade, etc.)‏

  • 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 em que se encontra uma pessoa que sobe uma rampa ou uma escada?)

Existem vantagens e desvantagens em converter uma grandeza de analógico para digital:

  • Existem vantagens e desvantagens em converter uma grandeza de analógico para digital:

    • Sistemas digitais são mais fáceis de projetar: circuitos de chaveamento onde não importam os valores exatos da tensão e/ou corrente, mas apenas uma faixa (alto ou baixo)‏
    • Fácil armazenamento da informação: dispositivos e circuitos digitais permitem o armazenamento de informação digital muito mais eficiente comparado com dispositivos analógicos

Maior precisão: circuitos digitais podem manipular todos os digitos de precisão necessarios simplesmente acrescentando mais circuitos de chaveamento

  • Maior precisão: circuitos digitais podem manipular todos os digitos de precisão necessarios simplesmente acrescentando mais circuitos de chaveamento

    • Nos sistemas analógicos a precisão é dependente dos valores dos componentes do circuito e são afetados por variações aleatórias da tensão (ruído)‏
  • Permite a programação de operações mais complexas

  • Circuitos digitais são menos afetados por ruídos: sempre que o ruído não tenha uma amplitude que dificulte a detecção de Alto e Baixo

  • CIs permitem a integração de mais dispositivos internos

O mundo é quase totalmente analógico!

  • O mundo é quase totalmente analógico!

  • Portanto, para obter o benefício das técnicas digitais:

    • Conversão da entrada Analógica em formato Digital
    • Processar a informação digital
    • Converter saída digital para o formato Analógico
  • CONVERSOR Analógico – Digital (ADC)‏

  • CONVERSOR Digital – Analógico (DAC)‏

A qualidade da representação digital depende de dois fatores principais: número de níveis da representação discreta e número de amostras por unidade de tempo

  • A qualidade da representação digital depende de dois fatores principais: número de níveis da representação discreta e número de amostras por unidade de tempo

Dados são representados na memória do computador e em seus meios de armazenamento, através de códigos convencionados, e expressos em um sistema de numeracão adequado.

  • Dados são representados na memória do computador e em seus meios de armazenamento, através de códigos convencionados, e expressos em um sistema de numeracão adequado.

  • Exemplos:

    • Códigos: ASCII, EBCDIC, BAUDOT, UNICODE
    • Sistemas de Numeracão: Decimal, Binário, Hexadecimal, etc

No estudo de sistemas digitais recorre-se a diferentes sistemas de numeração

  • No estudo de sistemas digitais recorre-se a diferentes sistemas de numeração

  • Posicional:

    • 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)‏
  • Não Posicional

    • O sistema romano de numeração também é posicional, mas o fato de não haver um peso associado a cada posição dificulta as operações… (quanto vale MCMLIX + XLIV?)‏

O objetivo principal de qualquer base numérica é a de representar números

  • O objetivo principal de qualquer base numérica é a de representar números

  • É a posição do algarismo (dígito) que determina seu valor

    • Ex: número com 2 e 7 => 27 ou 72
  • O total do número é a soma dos valores relativos de cada número

  • A formação dos números depende da quantidade de algarismos disponíveis no referido sistema (chamado Base)‏

    • Ex: Base decimal => 10 algarismos (0,1,2,...,8,9)‏

Exemplo:

  • Exemplo:

    • Número 5.303 na base 10 = 530310
    • Composto de 4 algarismos: 5,3,0,3
    • Valores:
      • 3 unidades = 3 x 100 = 3
      • 0 dezenas = 0 x 101 = 0
      • 3 centenas = 3 x 102 = 300
      • 5 milhares = 5 x 103 = 5.000
  • Total = 5.303

Notamos que, de maneira geral, a regra básica de formação de um número consiste no somatório de cada dígito multiplicado por uma potência da base relacionada à posição daquele dígito

  • Notamos que, de maneira geral, a regra básica de formação de um número consiste no somatório de cada dígito multiplicado por uma potência da base relacionada à posição daquele dígito

  • Generalizando

  • N = dn-1.bn-1 + dn-2.bn-2 + ... + d1.b1 + d0.b0

  • dx = dígito x do número

  • b = base

  • Exemplo: número 3.748 na base 10

  • n = 4, b=10, d3=3, d2=7, d1=4, d0=8

  • N = 3.103 + 7.102 + 4.101 + 8.100

Sistema Binário (Base 2)‏

  • Sistema Binário (Base 2)‏

    • Símbolos: 0 e 1
    • Exemplo:
  • (101100101)2

  • Sistema Quaternário (Base 4)‏

    • Símbolos: 0, 1, 2, 3
    • Exemplo:
  • (2130012)4

  • Sistema Octal (Base 8)‏

    • Símbolos: 0, 1, 2, 3, 4, 5, 6, 7
    • Exemplo:
  • (26074461)8

Decimal (Base 10)‏

  • Decimal (Base 10)‏

    • usa os algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9
    • sistema usual fora do computador
  • Hexadecimal (Base 16)‏

    • usa os 10 algarismos e as letras A, B, C, D, E e F
    • é usado para representar números grandes, tais como os endereços de memória.
  • Sistema Vigesimal (Base 20)‏

    • Usado pelos Maias e Astecas e pelos Celtas.
    • Aplicações:
      • No idioma francês, 80 é "quatrevingt" (quatro vezes vinte).
      • No sistema monetário francês, 1 franco = 20 sous.

Sistema Sexagesimal (Base 60)‏

  • Sistema Sexagesimal (Base 60)‏

    • Aplicações:
      • subdivisão da hora em 60 minutos; subdivisão do minuto em 60 segundos.
      • subdivisão de grau em 60 minutos; subdivisão do minuto em 60 segundos.
  • Sistema Romano (Não posicional)‏

    • A posição do símbolo não lhe confere um peso, e os valores são gerados por soma ou subtração dos valores.
    • Ex. MCMLXXXVII (1987) ou MDCCCCLXXXVII

16 => Hexadecimal: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

  • 16 => Hexadecimal: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

  • 10 => Decimal: 0,1,2,3,4,5,6,7,8,9

  • 8 => Octal: 0,1,2,3,4,5,6,7

  • 2 => Binária: 0,1

  • Exemplos:

    • (1011)2
    • (342)10
    • (257)8

Sistema de Numeração Decimal não é conveniente para ser implementado por sistemas digitais

  • Sistema de Numeração Decimal não é conveniente para ser implementado por sistemas digitais

    • Difícil projetar equipamentos eletrônicos que opere com dez níveis diferentes de tensão
  • O dígito binário é chamado bit (Binary Digit)‏

  • Conjuntos de 4 bits são chamados nibble

  • Conjuntos de 8 bits denominam-se byte

Circuitos eletrônicos restringem o número de bits usados na representação binária

  • Circuitos eletrônicos restringem o número de bits usados na representação binária

  • A contagem no sistema binário é dada pelo equivalente decimal da sequência representativa segundo o número de bits disponível

  • Ex: 4 bits

Qual é o maior número que pode ser representado usando 8, 10 e 16 bits?

  • Qual é o maior número que pode ser representado usando 8, 10 e 16 bits?

  • Qual é o valor binário seguinte a 10111 em uma sequência de contagem? 11000

Nos Sistemas Eletrônicos Digitais

  • Nos Sistemas Eletrônicos Digitais

    • Informação binária é representada por níveis de tensões ou correntes
      • 0-0,8 Volt (0 V) => binário 0
      • 2-5 Volts (5 V) => binário 1
    • O valor exato da tensão não é importante
  • Diagramas de Tempo (Tensão x Tempo) mostram como os sinais digitais variam no tempo

Conversão: Base B -> Decimal

  • Conversão: Base B -> Decimal

  • N = dn-1.bn-1 + dn-2.bn-2 + ... + d1.b1 + d0.b0

a) Converter 4F516 para a base 10

  • a) Converter 4F516 para a base 10

    • 4x162 + 15x161 + 5x160 = 4x256 + 15x16 + 5 = 1024 + 240 + 5 = (1269)10
  • b) Converter 34859 para a base 10

    • 3x93 + 4x92 + 8x91 + 5x90 = 3x729 + 4x81 + 8x9 + 5 = 2187 + 324 + 72 + 5 = (2588)10.
  • c) Converter 7G16 para a base 10. Solução: Uma base b dispõe dos algarismos entre 0 e (b-1). Assim, a base 16 dispõe dos algarismos 0 a F e portanto o símbolo G não pertence à representação hexadecimal.

d) Converter 1001,012 para a base 10. 1x23 + 0x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 = 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510

  • d) Converter 1001,012 para a base 10. 1x23 + 0x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 = 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510

  • e) Converter 34,35 para a base 10. 3x51 + 4x50 + 3x5-1 = 15 + 4 + 0,6 = 19,610

  • f) Converter 38,38 para a base 10. Solução: Uma base b dispõe dos algarismos entre 0 e (b-1). Assim, a base 8 dispõe dos algarismos 0 a 7 e portanto o algarismo 8 não existe nessa base. A representação 38,3 não existe na base 8.

Ex1: Converter (1110)2 para decimal

  • Ex1: Converter (1110)2 para decimal

  • (1110)2 = 1.23 + 1.22 + 1.21 + 0.20 =

  • = 8 + 4 + 2 + 0 =

  • = (14)10 = 14

  • Ex2: Converter (1043)5 para decimal

  • (1043)5 = 1.53 + 0.52 + 4.51 + 3.50 =

  • = 125 + 0 + 20 + 3 =

  • = (148)10 = 148

Exr1: Converter (10011)2 para decimal

  • Exr1: Converter (10011)2 para decimal

  • Exr2: Converter (1310)3 para decimal

  • Exr3: Converter 1C2FH para decimal

  • Resp1 = 19

  • Resp2 = 57

  • Resp3 = 7.215

Faixa de valores em decimal

  • Faixa de valores em decimal

  • 1 bit (0 ou 1): 0-1

  • 2 bits (00,01,10,11): 0-3 (22-1)‏

  • 4 bits (0000-1111): 0-15 (24-1)‏

  • 8 bits (1111 1111): 0-255 (28-1)‏

  • 16 bits (1111 1111 1111 1111): 0-65535

  • ....

Exr1: Converter (010000000001)2 para decimal

  • Exr1: Converter (010000000001)2 para decimal

  • Exr2: Converter (000000000001)2 para decimal

  • Exr3: Converter (11111110)2 para decimal

  • Resp1 = 1025

  • Resp2 = 1

  • Resp3 = 254

Divide-se o número decimal pelo valor da base B. O resto é o algarismo procurado. Repetir enquanto quociente0.

  • Divide-se o número decimal pelo valor da base B. O resto é o algarismo procurado. Repetir enquanto quociente0.

  • Exemplo: Converter (45)10 para binário

  • 45/2 = 22 resto=1 d0

  • 22/2 = 11 resto=0 d1

  • 11/2 = 5 resto=1 d2

  • 5/2 = 2 resto=1 d3

  • 2/2 = 1 resto=0 d4

  • 1/2 = 0 resto=1 d5

  • => (d5 d4 d3 d2 d1 d0) = (101101)2

Ex1: Converter (2754)10 para ( )16

  • Ex1: Converter (2754)10 para ( )16

  • 2754/16 = 172 resto=2

  • 172/16 = 10 resto=12=C

  • 10/16 = 0 resto=10=A

  • => (AC2)16 ou AC2H ou AC2h

  • Ex2: Converter (483)10 para ( )8

  • 483/8 = 60 resto=3

  • 60/8 = 7 resto=4

  • 7/8 = 0 resto=7

  • => (743)8

Exr1: Converter (610)10 para ()8

  • Exr1: Converter (610)10 para ()8

  • Exr2: Converter (77)10 para ()2

  • Exr3: Converter (447)10 para ()16

  • Resp1 = (1142)8

  • Resp2 = (1001101)2

  • Resp3 = (1BF)16

Para converter números de uma base b para uma outra base b' qualquer, o processo prático utilizado é converter da base b dada para a base 10 e depois da base 10 para a base b' pedida.

  • Para converter números de uma base b para uma outra base b' qualquer, o processo prático utilizado é converter da base b dada para a base 10 e depois da base 10 para a base b' pedida.

  • Exemplo: Converter 435 para ( )9. 435

  • Passo 1= (4 x 51 + 3 x 50 )10 = 2310

  • Passo 2 =

  • 23/9 = 2 resto=5

  • 2/9 = 0 resto=2

  • logo 435 = 2310 = 259

Exemplificando: Converter 9010 para octal.

    • Exemplificando: Converter 9010 para octal.
  • 90|8

  • 2 11|8

  • 3 1|8

  • 1 0 9010 = 1328

  • Converter 12810 para octal.

  • 128 |8

  • 0 16|8

  • 0 2|8

  • 2 0 12810 = 2008

Há uma relação especial entre o sistema octal e o sistema binário que reside no fato de que três dígitos binários representarem oito (23) números distintos.

    • Há uma relação especial entre o sistema octal e o sistema binário que reside no fato de que três dígitos binários representarem oito (23) números distintos.
    • Esta relação permite efetuar conversões entre estes sistemas de forma quase imediata como veremos adiante

Conversão do sistema Binário para o Octal

  • Conversão do sistema Binário para o Octal

    • Utiliza-se o processo inverso do anterior.
    • Separamos o número binário em grupos de três bits à partir da direita.
    • Depois, convertemos cada grupo de bits para o sistema octal.

Exemplificando:

  • Exemplificando:

    • 11100102 = 1 110 010 = 1628
    • 100012 = 10 001 = 218
    • 11101002 = 1 110 100 = 1648

Conversão do sistema hexadecimal para o binário.

  • Conversão do sistema hexadecimal para o binário.

    • É análoga à conversão do sistema octal para o binário. Desta vez, precisamos de quatro bits para representar cada dígito hexadecimal

Conversão do sistema binário para o sistema hexadecimal.

  • Conversão do sistema binário para o sistema hexadecimal.

    • Novamente é análoga à conversão do sistema octal para o binário. Desta vez agrupamos os bits de 4 em 4 à partir da direita.
    • Exemplificando. Converter 10011102 em hexadecimal.
  • 10011102 = 100 1110 = 4E16

  • Converter 11000110112 em hexadecimal.

  • 11000110112 = 11 0001 1011 = 31B16

Um sistema numérico pode ser usado para realizar duas operações básicas

  • Um sistema numérico pode ser usado para realizar duas operações básicas

    • adição e subtração
  • A partir da adição e subtração, você pode então realizar multiplicações, divisões, e qualquer outra operação numérica

Similar à adição Decimal

  • Similar à adição Decimal

  • Quando você soma dois números binários, você realiza a mesma operação de transporte

  • Regras:

Similar à subtração Decimal

  • Similar à subtração Decimal

  • Quando você subtrai dois número binários a operação de empréstimo é realizada

  • Regras:

Exr1: (10101)2 + (11100)2

  • Exr1: (10101)2 + (11100)2

  • Exr2: (100110)2 + (0011100)2

  • Exr3: (100101)2 - (011010)2

  • Exr4: (111001001)2 - (10111011)2

  • Resp1 = (110001)2

  • Resp2 = (1000010)2

  • Resp3 = (001011)2

  • Resp4 = (100001110)2

SOMA 1 1 1

  • SOMA 1 1 1

  • 3 A 9 4 3 B

  • +2 3 B 7 D 5

  • 5 E 4 C 1 0

  • SUBTRAÇÃO

  • 4 C 7 B E 8

  • - 1 E 9 2 7 A

  • 2 D E 9 6 E

Exr1: (2A5BEF)16 + (9C829)16

  • Exr1: (2A5BEF)16 + (9C829)16

  • Exr2: (2EC3BA)16 + (7C35EA)16

  • Exr3: (64B2E)16 - (27EBA)16

  • Exr4: (43DAB)16 - (3EFFA)16

  • Resp1 = (342418)16

  • Resp2 = (AAF9A4)16

  • Resp3 = (3CC74)16

  • Resp4 = (4DB1)16

Notação “Sinal e Magnitude”

  • Notação “Sinal e Magnitude”

    • Número binário contém
      • 1) o sinal ( + ou - )
      • 2) o valor do número
    • O MSB do número binário indica o sinal, enquanto que os bits remanescente contém o valor do número
  • Pouco utilizado devido a ele requerer uma circuitaria aritmética complexa e lenta

Algoritmo da soma

  • Algoritmo da soma

    • a) verificar o sinal das parcelas
    • b) se os sinais forem iguais:
      • repetir o sinal
      • somar as magnitudes
    • c) se os sinais forem diferentes
      • verificar qual parcela tem maior magnitude
      • repetir o sinal da maior magnitude
      • subtrair a menor magnitude da maior magnitude
  • Algoritmo da subtração

    • O algoritmo da subtração é o mesmo da soma, sendo feita como se fosse uma soma de dois números que tem os sinais diferentes.

Em sinal e magnitude, o algoritmo da soma é:

  • Em sinal e magnitude, o algoritmo da soma é:

  • a) Se os números forem de mesmo sinal, basta somar os dois números e manter o sinal;

  • b) Se os números forem de sinais diferentes, subtrai-se o menor número do maior; o sinal será o do maior número.

  • c) Tem-se overflow sempre que ocorrer "vai-um" da magnitude para o bit de sinal (o número de bits da magnitude foi excedido).

Números positivos

  • Números positivos

    • são representados do mesmo modo que no sistema de sinal magnitude
    • MSB em qualquer número é considerado um bit de sinal. Um bit de sinal 0 representa positivo
  • Números negativos

    • são representados pelo complemento de um do valor positivo, que é formado pela troca de todos os 0 por 1 e de todos os 1 por 0

O algoritmo da soma em complemento a um é:

  • O algoritmo da soma em complemento a um é:

    • a) Somar os dois números, bit a bit, inclusive o bit de sinal.
    • b) Avaliação dos casos de "vai-um":
      • b.1) Se não ocorreu vai-um para o bit de sinal nem para fora do número:
        • este é o resultado correto
      • b.2) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número):
        • incorreto – ocorreu overflow
      • (isto significa que o resultado excede a faixa de representação para o número de bits adotado)

b.3)

    • b.3)
      • b.3.1) Se ocorrer "vai-um" para fora do número:
      • -para obter o resultado final, soma-se o "vai-um" externo (para fora do número) ao resultado da soma; o bit para fora do número (que excede o número de bits adotado na representação) é desprezado.
      • b.3.2) Nesta soma final também pode ocorrer "vai-um" no último bit;
      • -se o número de "vai-um" ocorridos (para o bit de sinal, para fora do número ou na soma final) for par (o que equivale a inverter duas vezes o sinal),
      • -o resultado está correto
      • se o número for ímpar (1 ou 3 "vai-um"):
      • -o resultado está incorreto - ocorreu overflow

Usado para representar números com sinal em microprocessadores

  • Usado para representar números com sinal em microprocessadores

  • Números positivos são representados exatamente como eram com o método do sinal e magnitude

  • O complemento de dois

    • formado tomando-se o complemento de um e somando-se um ao valor

  • Ex: Como se expressa -1717 como um número de 8 bits em complemento de dois?

  • 1) Comece com a representação binária de +1710

  • +1710 = 000100012

  • 2) Obtenha o complemento de um trocando todos os 1 por 0 e todos os 0 por 1

  • complemento UM = 111011102

  • 3) A seguir, ache o complemento de dois acrescentando um

  • 111011102

  • + 1

  • 11101111

O algoritmo da soma (ou subtração) em complemento a dois é:

  • O algoritmo da soma (ou subtração) em complemento a dois é:

    • a) Somar os dois números, bit a bit, inclusive o bit de sinal.
    • b) Despreza-se o bit para fora do número, se houver.
      • c.1) Se não ocorreu vai-um para o bit de sinal nem para fora do número ou
      • c.2) Se ocorrer "vai-um" tanto para o bit de sinal quanto para fora do número (equivale a inverter duas vezes o sinal): o resultado está correto

d.1) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número) incorreto

  • d.1) Se ocorrer "vai-um" só para o bit de sinal (e não para fora do número) incorreto

  • d.2) Se não ocorrer "vai-um" para o bit de sinal e somente ocorrer para fora do número:

    • --- o resultado é incorreto - ocorreu overflow
    • (isto significa que o resultado excede a faixa de representação para o número de bits adotado)

ASCII (American Standard Code for Interchange Information)‏

  • ASCII (American Standard Code for Interchange Information)‏

    • sistema mais usado nos microcomputadores
    • exemplo:
      • letra A é representada como (41)16 =(0100 0001)2
  • EBCDIC (Extended Binary Code Decimal Interchange Code)‏

    • sistema mais usado nos mainframes
    • exemplo:
      • algarismo 1 é representado como (F1)16 = (1111 0001)2

Inteiro - 1 byte (Char):

  • Inteiro - 1 byte (Char):

  • Com Sinal

Comentários