sexta-feira, 18 de abril de 2008

Porque os computadores funcionam ??

A mágica que faz os computadores funcionarem

Como raios um compuador funciona? Como pode um equipamento eletrônico "ser inteligente", a ponto de fazer contas, dentre otras coisas? Se alguma vez perguntate es
sas coisas a si próprio e não achaste resposta, aqui vai a explicação, para vossa felicidade.
Resposta curta: computadores funcionam porque inventaram transistores.

"Certo. Mas o que raios são transistores?"
É esse carinha da foto aqui embaixo














Se fostes um bom estudante de física, saberás que alí em cima tem um resistor, e que antes dele tem um Vcc+ que representa um polo positivo e cá embaixo tem três tracinhos que represen
tam um polo negativo.

"Sim, e daí?"
E daí que os transistores funcionam de certa forma como chaves. Como um interruptor de luz. Basta que tu olhes na figura acima onde tem um Vin e saber que quando se aplica uma tensão nele, o circuito passa a conduzir energia entre os outros dois terminais que existem ali, o coletor e o emissor. No caso dessa figura por exemplo, se aplicada uma tensão em Vin o circuito ia passar a conduzir entre o Vout e o terra. Aí alguém resolveu pegar isso aí e começar a fazer portas lógicas. Antes de aprender portas lógicas, aprenda um tiquin de binária.
Em eletrônica digital, lida-se com valores 0 e 1. Por isso, chamado de binária - tem dois valores. Um '1' representa uma tensão alta, e o '0' uma tensão baixa. Em geral, uma tensão alta quer dizer 5 volts, e uma tensão baixa quer dizer zero volts. Por sinal, é justamente isto que é um bit: um valor de tensão 0 ou 1. É a menor unidade de informação que temos. Não confundir com byte. Um byte é um conjunto de oito bits. A figura abaixo tentar ilustrar que num sistema digital, os pulsos de onda são (mais ou menos) quadrados. Ao lado esquerdo dos pulsos quadrados, há um pulso de onda senoidal, só pra efeito de comparação.



Uma série de bits um atrás do outro
, como por exemplo uma sequência 1001 pode representar alguma coisa útil. Representa-se por exeplo, números. Esse daí por exemplo representa um cinco.
"Como assim?"

Assim ó! Usando a matematica cuja base é dois. Geralmente as pessoas entendem melhor olhando uma figura como esta do que lendo qualquer tamanho de texto. Aqui está representado o número 45 em base decimal e base binária.

Entendeu? Agora, suponha apenas números de 1 bit apenas, e finalmente, vamos às portas lógicas. Elas são construídas a partir de transistores.Uma porta lógica ordinária tem duas entradas, onde se coloca cada uma um bit, e uma saída, que dá como resultado a operação da porta lógica. Existe uma meia dúzia ou pouco mais que isso de portas lógicas diferentes. Todas elas derivam de tipos mais básicos acrescentados de mais alguma coisinha. Finalmente estamos chegando na parte interessante. Vou explicar só as portas AND, NOT , OR e XOR. Traduzindo, porta e, não, ou, e ou exclusivo. "que é que elas fazem?". Fazem a operação indicada por seus nomes. Se tiveres por exemplo uma porta AND, a saída dela vai dar 1 se uma entrada tiver em 1 E a outra também estiver. Se uma das duas ou as duas estiverem em 0, a saída é 0. Uma porta OR vai dar 1 em sua saida se uma entrada OU a outra estiverem em 1. É zero na saída somente se as duas estiverem em 0. Ja a XOR, só da 1 na saída quando somente uma das duas estiver em 1. Ou seja, ou uma ou outra, não as duas. Para as duas em 0 ou as duas em 1, a saida da porta XOR é 0. A porta NOT, ao contrário das outras, recebe só uma entrada, e dá o seu valor inverso em sua saída. Se entra um 0, ela dá um 1 e vice-versa. Abaixo, esta um exemplo de como se fazer portas AND (à esquerda) e OR (à direita). Todas as outras, são feitas de forma parecida com essas duas. Entenda que V1 e V2 são as entradas, e Vout é a saída, e que as tensões fluem do terra ao vcc.












Pra efeitos de simplificar nossa vida, representa-se as portas lógicas através de símbolos nos quais se omite os transistores, o Vcc e o terra. Só são mostradas as entradas e saídas das portas. Aqui a representação das mais famosas:






A propósito, um N na frente do nome das portas representa um NOT concatenado com essa porta. Uma bolinha branca em qualquer entrada ou saída dessas portas representa que alí tem um inversor nela. Bem, a partir daí, pode-se começar a construir circuitos concatenando umas e outras portas dessas. Quer um exemplo? Uma porta XOR funciona perfeitamente como uma somadora pra dois bits. Aliás, em binária:
0 + 0 =0 0 + 1 = 1 1 + 1 = 0 e vai um (
assim como na base decimal você pode pegar o 45 e somar com 5. 5 + 5 = 10 e vai 1 pro quatro). Pra finalizar, abaixo um exemplo de um meio somador e de um somador completo. Um meio somador soma dois bits e tem uma saída de 'vai 1' que é comumente chamada de carry out. O somador completo não só soma dois bits e gera o "vai um" como também tem uma entrada pra somar com um vai um que veio de outro somador ou meio somador. Assim, através do uso de somadores completos, pode-se somar numeros de mais de um bit (um somador pra cada).

















São só dois circuitos simples pra servir de exemplo (os quais eu imagino, sejam fáceis de entender). Juntando uma porção de coisas como multiplicadores, subtratores, tudo isso feito com portas lógicas, consegue-se fazer um computador direitinho. Ou ao menos uma calculadora. Mas enfim, nosso intuito não é dar uma aula completa de como isso tudo funciona. Era só pra dar uma noção por alto de como funciona a eletrônica que faz um computador funcionar. Aceito comentários!

Um comentário:

chica disse...

Eder
Parabéns pela paciência e boa vontade em nos passar essas noções todas.
Assim, aos poucos, poderemos ir entendendo um pouquinho das nossas amigas máquinas, nas quais passamos um tempão grudados, sem entender lhufas...
O post do dia 4 de maio, também está muito legal e útil.
Valeu!
abraço