sábado, 12 de dezembro de 2020

Base numérica

Por que os circuitos eletrônicos digitais trabalham com 0 e 1?  Não seria menos complexo, para nós usuários de computador, usar a nossa própria base numérica fundamentada no sistema decimal?

Na realidade é possível usar diretamente o sistema decimal em um tipo específico de computador conhecido como computador analógico, e esse computador pode ser mecânico, eletromecânico ou eletrônico. No caso dos computadores analógicos eletrônicos os dados são representados através de uma grandeza física, e geralmente é usado uma tensão ou corrente elétrica equivalente ao dado que se quer computar. Por exemplo, -1 volt equivale ao número -1, 0 volt equivale o número 0, 1 volt equivale ao número 1, 2 volts equivale o número 2, e assim por diante. Embora seja possível correlacionar diretamente, e linearmente, uma tensão elétrica com um número isso não significa que essa forma de uso seja um padrão nos computadores analógicos. É possível usar uma correlação numérica baseada em um fator de multiplicação. Por exemplo, 0,2 volts equivale ao número 2,  0,3 volts equivale ao número 3,  0,4 volts equivale ao número 4, e assim por diante. Fica evidente que nesse caso específico o fator de multiplicação é 10 vezes.

E pra que serve um computador analógico eletrônico?

Geralmente o termo computador analógico está relacionado a circuitos específicos que realizam operações matemáticas, como o caso do circuito abaixo que extrai uma raiz quadrada. Porém, praticamente todos os circuitos baseados em eletrônica analógica poderiam ser descritos como computadores analógicos.   


Talvez você ache exagero descrever todos os circuitos eletrônicos analógicos como se fossem computadores analógicos, mas veja o que acontece no circuito abaixo.

Esse simples circuito de áudio, com um único transistor, é capaz de amplificar o sinal de entrada. Digamos que esse amplificador tenha um fator de amplificação de 10 vezes, o que isso significa? Significa que um sinal de 0,1 volts na entrada vai se transformar em um sinal de 1 volt na saída.

Ou seja, esse amplificador de áudio pode ser descrito como um computador analógico que pega o valor de entrada, processa esse sinal, e apresenta na saída esse valor multiplicado por 10 vezes !

Logo, todos os circuitos eletrônicos analógicos podem ser encaixados no tópico abrangente chamado computador analógico, pois todos eles executam algum tipo de função matemática.  

Isso significa que a eletrônica poderia ser dividida em dois tópicos básicos, os computadores analógicos e os computadores digitais. 

Mesmo que os computadores analógicos possam parecer antiquados para aqueles que adoram os modernos processadores digitais, esse tipo de tecnologia não deve ser desprezada, pois a eletrônica analógica, além de ser a base de toda a eletrônica, ainda é incrivelmente versátil e útil na atualidade, e vai continuar sendo útil no futuro. Muitas vezes é melhor usar um circuito analógico, para executar uma determinada função, do que recorrer a um circuito digital. Em determinados usos os circuitos analógicos são mais simples de serem implementados, e essa simplicidade possui, em si mesma, alta confiabilidade. 

Porém os sistemas analógicos possuem limitações quando o assunto é a generalização de operações matemáticas no processamento de dados, e a precisão numérica gerada no processamento analógico também tem limitações. Os computadores analógicos precisam de circuitos específicos para implementar cada função matemática. E embora seja possível criar um sistema analógico, capaz de ser programado, isso tornaria o projeto desnecessariamente complexo, e suscetível a falhas. A precisão dos resultados de um computador analógico deixa a desejar quando precisamos de alta precisão numérica. O computador analógico eletrônico é muito sensível em relação a diversos fatores, como as variações de tensão elétrica em sua fonte de alimentação, a temperatura ambiente, interferência eletromagnética, desgaste e tolerância de seus componentes eletrônicos, etc. Ou seja, o computador analógico eletrônico não seria adequado em sistemas que necessitam de precisão absoluta nos resultados, pois qualquer um desses fatores que citei acima poderia causar erro no processamento de dados.

Para obter precisão nos cálculos, e alta confiabilidade no processamento de dados, através de programas que executam uma lista de instruções, precisamos dos computadores digitais. Esses computadores operam através da numeração binário, onde cada bit representa um dígito binário, e esse bit possui apenas dois estados possíveis, o 0 (zero) e o 1 (um). Projetar circuitos eletrônicos que diferenciam apenas dois estados é mais simples e muito mais confiável. Dificilmente ocorre algum erro nos circuitos digitais, pois a separação entre os dois estados possíveis é bem definida, e cada um desses estados pode ser facilmente detectável pelo circuito eletrônico digital. Grande parte dos erros graves que podem ocorrer no hardware do computador acontecem devido a falhas de condução elétrica entre os componentes eletrônicos, o famoso mal contato.  Outras falhas que podem ocorrer, com menor frequência, é devido a defeitos de fabricação nos componentes. Mas, quando todos os componentes do  hardware estão perfeitamente conectados, e tudo esta operando dentro dos parâmetros que hardware foi projetado para funcionar, é possível afirmar que o processamento de dados ocorre com precisão absoluta. Claro, devemos sempre levar em conta que para o hardware funcionar perfeitamente o software não pode conter erros de programação.

Usualmente, como foi explicado acima, os circuitos eletrônicos digitais diferenciam duas tenções elétricas. Na tecnologia TTL, ou tecnologia lógica transistor-transistor, o número 0 é equivalente a uma tensão próxima de 0 volts, e o número 1 é equivalente a uma tensão próxima de 5 volts.  Mas outras tensões podem ser usadas, tudo depende da tecnologia em questão.

Outra forma de descrever os estados de um circuito digital é através dos termos ligado ou desligado, ou seja, o número 0 significa desligado e o número 1 significa ligado.


Abaixo podemos ver o circuito eletrônico de uma porta digital chamada porta NAND, ou, em português, porta NÃO-E.   O símbolo lógico equivalente acompanha o desenho.  



No próximo tópico vou descrever como funciona essa porta, e outras portas.

 

O que deve ficar claro é que para representar o dígito binário, nos sistemas onde se usam bits paralelos, precisamos de um sinal elétrico individual para cada bit.

 

No exemplo acima, uma porta NAND de duas entradas, podemos ver o uso de 3 bits individuais. Na entrada temos 2 bits, o sinal A e o sinal B. E na saída (OUT) temos mais 1 bit.    

 

 

Conversão binária em decimal e vice versa

 

A equivalência numérica entre a base binária e a base decimal de números inteiros, com o limite de 4 bits, pode ser vista na tabela abaixo.

 

Número binário          Número decimal

           0                                  0

           1                                  1

         10                                  2

         11                                  3

        100                                 4

        101                                 5

        110                                 6

        111                                 7

      1000                                 8

      1001                                 9

      1010                               10

      1011                               11

      1100                               12

      1101                               13

      1110                               14

      1111                               15

 

 

Na conversão de um número binário para um número decimal é só levar em conta que cada digito binário, como o valor igual a 1, possui uma equivalência de 2 elevado a posição do bit.

Vou converter o número binário 101110 em decimal para esclarecer essa conversão.

 

 Número em binário:     1   0   1    1   1   0

 

Posição do bit:              5   4   3    2   1   0 

 

Equivalência:               25  24  23  22  21  20

 

Valor em decimal (usa-se apenas os valores onde o bit é 1):    

 25 +  23 + 22  + 21  = 32 + 8 + 4 + 2 = 46

 

O número binário 101110 convertido para decimal é 46.

 

Na conversão de decimais inteiros para binário usa-se a divisão sucessiva por dois, e o resultado da conversão é visualizado através dos restos da divisão.

 

Para exemplificar o processo vou converter o número decimal 29 em binário.



Matemática binária


Em construção 



Base numérica

Por que os circuitos eletrônicos digitais trabalham com 0 e 1?   Não seria menos complexo, para nós usuários de computador, usar a nossa pró...