< Computadores I: Dados e informações >
Na coluna anterior eu inclui uma foto que, segundo a legenda, correspondia ao que seria um computador doméstico em 2004 na concepção dos cientistas da Rand Corporation há meio século (mais precisamente, em 1954). Como costumo ser escrupuloso no que toca à propriedade intelectual e como eu não sabia onde a foto havia sido obtida, citei apenas que ela me havia sido enviada pelo amigo Eduardo Lamarca. Mas enviei a ele uma mensagem informando que iria publicar a foto na coluna e perguntando se poderia me indicar sua origem para que eu pudesse citá-la.
Pois bem: no mesmo dia em que publiquei a coluna o Eduardo me mandou duas mensagens. A primeira, informando que não sabia a origem posto que também ele havia recebido a foto de um amigo, mas iria pesquisar. A segunda, logo depois, de um Eduardo preocupado por me haver induzido a erro, informando que a foto é uma pulha ("hoax"). E mandando o atalho do Snopes.Com
(< http://www.snopes.com/inboxer/hoaxes/computer.asp >)
onde o assunto poderia ser elucidado. Se você for até lá encontrará a explicação da origem real da foto e a menção que ela percorre a Internet como se representasse a concepção que eu citei na coluna passada. Não representa.
Na verdade a foto é uma montagem. A foto original, obtida no sítio da Snopes.com é a exibida abaixo, na Figura 0. Como se vê, é uma foto colorida.
Figura 0: Foto original (sala de comando de submarino)
Ela foi exibida originalmente em um sítio da Marinha americana e foi tirada no ano 2000 em uma exposição do Smithsonian Institute sobre o uso de submarinos durante a guerra fria. Representa o equipamento instalado na sala de comando de um submarino nuclear, através do qual os engenheiros navais podem controlar a unidade de geração de energia e os sistemas de vapor. Os autores da pulha converteram o formato original em cores para tons de cinza, substituíram o painel de comando por um terminal de teletipo e a televisão moderna por um modelo cinqüentenário. Além de incluírem o sóbrio cavalheiro de terno em primeiro plano e a legenda.
Fica aqui a correção e meu pedido de desculpas (se eu afirmasse que sabia perfeitamente do que se tratava e só inclui a foto à título de brincadeira poderia até preservar a minha falsa imagem de guru da informática mas estaria mentindo: também eu fui enganado pela pulha). Mas que isso sirva, a mim e a todos nós, como lição: não se deve acreditar em tudo o que circula na Internet por mais verossímil que pareça.
Mas, pelo menos, descobrimos para que servem os volantes...
Um computador é uma máquina que tem por fim processar dados. É simples assim.
Vamos tentar nos aprofundar um pouco. Começando por definir "máquina". Que, nesse contexto, é um conjunto de componentes elétricos, eletrônicos e eletromecânicos destinado a um determinado fim (no caso, processar dados).
O primeiro computador fabricado comercialmente foi o UNIVAC (Universal Automatic Computer), concebido, projetado e construído por John Presper Eckert e John Mauchly (que previamente haviam construído o ENIAC, Electronic Numeric Integrator And Calculator, na Universidade da Pensylvania). A primeira unidade foi fabricada em 1951 e tinha o aspecto da Figura 1 (foto obtida no sítio do National Energy Research Scientific Computing Center, em < http://www.nersc.gov/ >).
Figura 1: UNIVAC (1951)
Mas o que são dados e em que consiste seu processamento?
Um "dado" é qualquer característica de um objeto, ser ou sistema que possa ser registrado.
Por exemplo: uma sala de aula contém um determinado número de alunos. Esse número é um dado. O número de lugares (carteiras) existentes na sala também é um dado. Assim como são dados a idade, data de nascimento, nome, endereço e demais características de cada aluno.
É claro que todos esses dados podem ser coletados e armazenados com ou sem a ajuda de um computador. Por exemplo: podem ser coletados através de observação direta e do preenchimento de questionários e podem ser armazenados anotando os resultados em fichas que seriam arquivadas (armazenadas) em pastas. Esses são os chamados "dados brutos".
Dados brutos, se manejados convenientemente e organizados segundo certas diretrizes (ou seja, se submetidos a um "processo"), podem servir de base a tomadas de decisão.
Mas o que é um "processo"? Segundo o dicionário Houaiss, um dos significados do termo (justamente aquele que nos interessa) é "modo de fazer alguma coisa, método, maneira, procedimento". Então, entende-se por "processo" um procedimento que consiste, por exemplo, em aplicar operações aritméticas ou lógicas (como comparações) aos dados brutos coletados.
No contexto da sala de aula que estávamos discutindo, poderemos somar os dados referentes às idades de cada aluno e dividir o total pelo número de alunos da sala (ou seja, efetuar um procedimento que consiste em aplicar duas operações aritméticas aos dados brutos, portanto um "processo") para obter a idade média dos alunos daquela sala. Esta idade média, resultado deste "processo" aplicado aos dados, é uma "informação".
Portanto, "informação" é aquilo que se obtém ao processar dados, o resultado do processamento de dados, um elemento que pode ser usado para tomar decisões. A idade média dos alunos, por exemplo, pode ser usada para decidir o tamanho das carteiras e do restante do mobiliário das salas.
Outro exemplo de informação sendo usada em um processo decisório: se dividirmos o número de alunos que ocuparão a sala pelo número de carteiras existentes na sala obteremos um novo número fracionário (entre zero e um, presumindo-se que o número de carteiras seja igual ou maior que o de alunos) que representa o coeficiente de ocupação da sala. Esse coeficiente (que é uma informação, já que resultou de uma operação aplicada aos dados brutos, ou de um "processamento" de dados), pode orientar os administradores da escola na distribuição de novos alunos pelas salas já ocupadas.
Então, existe uma diferença essencial entre um dado e uma informação. Um "dado" é uma característica qualquer obtida diretamente de um objeto, um ser ou um sistema. Uma "informação" é a conseqüência do processamento aplicado a esses dados, ou seja, é o resultado dos dados trabalhados e organizados. E "processar dados" consiste em aplicar aos dados um conjunto de operações lógicas e matemáticas que produzam uma informação que pode ser usada para tomar decisões.
Como você vê, o conceito de "processamento de dados" é muito simples. E é fácil concluir que não é imprescindível o uso de máquinas para processar dados. Nos exemplos citados, qualquer pessoa que saiba efetuar as operações aritméticas necessárias pode transformar dados em informações, portanto "processá-los". A diferença é que efetuar este processamento de dados usando um computador, especialmente nos casos em que ele exige o encadeamento de operações complexas e utiliza grandes quantidades de dados brutos, faz com que o resultado seja obtido mais rapidamente e menos passível de erros.
Algo parecido acontece com muitos dos artefatos usados no mundo moderno. Por exemplo: roupas podem ser feitas manualmente, com a ajuda apenas de tesoura, agulha, linha e alguma perícia da parte de quem as faz. Uma boa costureira pode produzir diariamente um número limitado de camisas. Mas a moderna indústria têxtil, com suas máquinas pesadas, pode produzir dezenas de milhares delas no mesmo período.
A função de um computador é, então, processar dados. Para isso é necessário obter os dados brutos no "mundo exterior", ou seja, fora do computador, introduzi-los no computador, armazená-los enquanto aguardam o processamento, efetuar as operações que consistem neste processamento e armazenar ou encaminhar para o mundo exterior os resultados parciais e finais do processamento.
Figura 2: Processamento de dados
Os dados são obtidos no "mundo exterior" e introduzidos no computador através de mecanismos de transferência de dados conhecidos como "Dispositivos de Entrada". O exemplo mais evidente de dispositivo de entrada é o teclado, mas há diversos outros, como o mouse, telas sensíveis ao toque, mesas digitalizadoras, escâneres e até mesmo microfones e câmaras de vídeo. E são devolvidos ao mundo exterior pelos "Dispositivos de Saída" dos quais o exemplo mais óbvio é o monitor de vídeo (teclado e monitor de vídeo são considerados a "entrada padrão" e a "saída padrão" e, em conjunto, constituem o "console"). Mas também há diversos outros, como a impressora, alto-falantes, projetores tipo "data show" e televisores. O conjunto de todos esses dispositivos forma uma unidade funcional conhecida como "Dispositivos de Entrada e Saída", E/S ou I/O (do inglês "Input/Output").
Dados introduzidos no computador precisam de ser transportados ou transferidos entre seus componentes internos. Esse transporte de dados é feito através de um ou mais dispositivo de interconexão de dados denominado "barramento". Como veremos adiante, dados serão codificados de tal maneira que podem ser transportados sob a forma de pulsos elétricos (se isso lhe parece complicado, espere um pouco que logo discutiremos a "digitalização de dados" e a tudo ficará mais claro). Então, para transportar dados basta um conjunto de condutores elétricos que serão percorridos por tais pulsos e um conjunto de circuitos eletrônicos que controlarão esse movimento de dados. "Barramento" é então o "conjunto de condutores elétricos que transportam os dados entre os componentes internos de um computador e seus circuitos de controle".
Depois de introduzidos, os dados podem ser podem ser encaminhados diretamente à Unidade Central de Processamento (UCP ou CPU, sigla da expressão em inglês "Central Processing Unit") para serem processados ou armazenados na Memória Principal para processamento posterior.
A "memória principal" é um dispositivo capaz de armazenar dados e restitui-los quando necessário. Pode ser encarada como um conjunto (que pode ser muito grande) de "posições de memória", cada uma capaz de armazenar um número (com veremos adiante, todos os dados inseridos em um computador foram antes convertidos em números através do procedimento denominado "digitalização de dados"). Cada posição da memória principal é identificada por um "endereço" único (esse endereço também é um número). Pode-se então recuperar qualquer dado armazenado na memória principal conhecendo-se o endereço onde ele foi armazenado.
O componente restante, a Unidade Central de Processamento, é o mais importante de todo o conjunto. Ele é um circuito integrado razoavelmente complexo, capaz de efetuar todas as operações necessárias ao processamento de dados. Com seu nome indica, é ali que os dados serão processados. Mais adiante discutiremos seus detalhes de funcionamento e veremos que embora o circuito integrado seja efetivamente muito complexo, seu princípio de funcionamento é bastante simples (como tudo no campo da informática, onde toda a complexidade é obtida combinando um imenso número de ações que, tomadas individualmente, são de extrema simplicidade).
Um computador, então, é formado por três elementos principais, Dispositivos de Entrada e Saída, Unidade Central de Processamento e Memória Principal, interligados e trocando dados entre si através de um dispositivo de interconexão denominado Barramento.
Assim, os quatro elementos que constituem um computador são:
Unidade Central de Processamento;
Memória Principal e
Voltaremos a falar sobre cada um deles no devido tempo. No momento, o que interessa é que todo processamento de dados é feito com o concurso apenas desses quatro elementos.
Ações básicas do processamento
Para que um computador processe dados é preciso movê-los até a unidade central de processamento, armazenar resultados intermediários e finais em locais onde eles possam ser encontrados posteriormente e controlar estas funções de transporte, armazenamento e processamento. Portanto, tudo que um computador faz pode ser classificado como uma dessas quatro ações elementares: processar, armazenar, mover dados e controlar estas atividades. Por mais complexas que pareçam as ações executadas por um computador, elas nada mais são que combinações destas quatro funções básicas.
A função de mover dados é executada através do fluxo da corrente elétrica ao longo de condutores que ligam os pontos de origem e destino e não depende de elementos ativos. As funções de controle são igualmente executadas através de pulsos de corrente, ou "sinais", propagados em condutores elétricos (estes pulsos, ou sinais, são interpretados pelos componentes ativos, fazendo-os atuar ou não dependendo da presença ou ausência dos sinais). Portanto estas duas funções, transporte e controle, não exigem o concurso de componentes ativos para sua execução, basta a existência de condutores elétricos (fios, cabos, filetes metálicos nas placas de circuito impresso, etc.).
Processar dados consiste basicamente em tomar decisões lógicas do tipo "faça isso em função daquilo". Por exemplo: "compare dois valores e tome um curso de ação se o primeiro for maior, um curso diferente se ambos forem iguais ou ainda um terceiro curso se o primeiro for menor". Todo e qualquer processamento de dados, por mais complexo que seja, nada mais é que uma combinação de ações elementares baseadas neste tipo de tomada de decisões simples. O circuito eletrônico elementar capaz de tomar decisões é denominado "porta lógica" ( logical gate).
Armazenar dados consiste em manter um dado em um certo local enquanto se precisar dele, de tal forma que possa ser recuperado quando necessário. Dados podem ser armazenados de diferentes formas. Nos computadores, como veremos em seguida, são armazenados sob a forma de uma combinação de elementos que podem assumir apenas os valores numéricos "um" ou "zero", ou os valores lógicos equivalentes, "verdadeiro" ou "falso". Para armazenar um desses elementos é necessário apenas um dispositivo capaz de assumir um dentre dois estados possíveis (um deles representando o "um" ou "verdadeiro", o outro representando o "zero", ou "falso"), manter-se nesse estado até que alguma ação externa venha a alterá-lo (portanto, ser " bi-estável"), permitir que este estado seja alterado (pelo menos uma vez) e permitir que esse estado seja "lido" ou "recuperado". Um dispositivo que exiba estas características denomina-se "célula de memória". O circuito eletrônico elementar capaz de armazenar dados é a célula de memória.
Tendo isto em vista, pode-se concluir que todo computador digital, por mais complexo que seja, pode ser concebido como uma combinação de um número finito de apenas dois dispositivos básicos: portas lógicas e células de memória, interligados por condutores elétricos.
Como se vê, examinados em detalhe e reduzidos à sua expressão mais simples, os conceitos envolvidos são bastante elementares.