quarta-feira, 1 de fevereiro de 2023

Fundamentos: O que é um computador?

Hoje, os computadores são algo familiar a todos, pois são muito usados em nossas vidas. Tendo-os como uma coisa diária em nossas vidas os torna algo com que estamos acostumados, e isso é muito bom; mas não significa que os entendemos, ou sabemos como eles funcionam.

Computador.
Computador — Imagem: Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

Este artigo foi escrito para que você entenda facilmente as ideias básicas em que se baseiam todos os computadores, a fim de sabermos o que um computador é e o que não é, e, de modo geral, como os computadores funcionam. Esta é a finalidade deste artigo: explicar as ideias básicas e fundamentais sobre os computadores.

Os computadores são baseados na simples ideia de reprodução ou imitação. Rádios e CD players também funcionam desta forma, e, se pararmos para observá-los, entenderemos mais facilmente nossos computadores.

Quando colocamos um disco no CD player, ouvimos música — mas não há um músico e orquestra dentro do aparelho. Ao invés disso, ela contém um modelo eletrônico ou imitação do que é o som. Nossos rádios e aparelhos de som são possíveis porque descobrimos uma forma de obter a essência do som, criar uma imitação eletrônica, e montar máquinas que reproduzem o som que queremos. O mesmo acontece coma as imagens reproduzidas pela televisão e pelo cinema.

Nossos computadores fazem, essencialmente, a mesma coisa, mas fazem-no com números e aritmética. A coisa mais fundamental que acontece dentro de um computador é que, eletronicamente, ele imita e cria um modelo de trabalho com números e aritmética.

Se nos dispusermos a criar uma máquina que possa fazer aritmética, precisamos encontrar um modo de combinar o que a máquina pode fazer com a própria essência da aritmética. Nem é preciso dizer que, para realizar isto, é necessário uma grande criatividade intelectual e muito conhecimento teórico da matemática. Essencialmente, precisamos encontrar uma base mútua onde as máquinas e a matemática pudessem confrontar-se, o que foi encontrado na ideia de aritmética binária.

Os números que estamos acostumados a trabalhar baseiam-se no número 10: usamos o sistema numérico decimal, que trabalha com dez símbolos (0, 1, 2, até 9) e pode construir todos os nossos números usando esses dez símbolos. Contudo, não há nada de fundamental sobre o sistema decimal; podemos basear nossos números em oito símbolos, ou três, ou dois. A teoria matemática e alguns exercícios simples demonstram que você pode escrever os mesmos números e fazer as mesmas operações aritméticas em qualquer sistema numérico, seja ele baseado em dez, três ou dois. A teoria matemática da informação, no entanto, provou que você não pode usar menos de dois símbolos — o sistema de numeração binário, ou de base dois, possuí a menor essência daquilo que a informação fundamentalmente é.

Isso é importante para projetistas de hardware. É muito fácil fazer uma máquina, e sobretudo uma máquina eletrônica, que representa, ou modela, números binários. Um número binário é escrito com dois símbolos, 0 e 1 (assim como nosso sistema decimal é escrito com dez símbolos, de 0 a 9) e partes elétricas — como chaves — naturalmente possuem dois estados: uma chave pode estar ligada ou desligada. Considerando esse fato, podemos facilmente imaginar que uma chave "liga-desliga" pode representar, modelar ou imitar um binário 0 ou 1. De fato, essa é uma associação natural, que você poderá ver nas chaves "liga-desliga" de muitos aparelhos e máquinas, incluindo computadores, rotuladas 0 e 1 significando desligado e ligado.

Realmente não é um passo tão grande ver que uma chave ou uma corrente elétrica ligada ou desligada pode representar um dígito 0 ou 1, tendo um computador que pode executar maravilhas de cálculo. Não deveria ser tão difícil para nós, porém, compreendermos como este modelo eletrônico de um simples número binário pode ser elaborado para constituir algo muito maior. É como saber que, quando uma criança aprende a construir sentenças simples, logo ela crescerá para escrever ensaios, teses e livros. Existe muito trabalho nesse intervalo, e muitos passos complicados envolvidos, mas a ideia, o princípio básico, é bastante clara.

Este é o princípio em que os computadores são feitos. A informação, incluindo números e aritmética, pode ser representada em forma binária; as partes eletrônicas, como chaves que estão ligadas ou desligadas, são essencialmente binárias. Usando chaves e outras peças, uma máquina eletrônica pode imitar, ou modelar, números e todas as outras formas de informação.

O que já vimos até aqui é suficiente para dar uma ideia de como é possível fazer tudo isto em um computador. Para entendermos um prédio de tijolos, devemos falar alguma coisa sobre tijolos. Isso não iria ensinar arquitetura nem mostraria o formato final do prédio. É isso que iremos ver em seguida.

Um esboço do computador

Existem cinco partes principais em um computador: o processador, a memória, a Entrada/Saída (I/O — Input/Output — como é geralmente chamada), armazenamento em disco e os programas. Veremos rapidamente cada uma dessas cinco partes principais e depois com mais detalhes.

As cinco partes do computador.
As cinco partes do computador.

O processador é o "cérebro" do computador, o motor, o núcleo dessa máquina maravilhosa. É o processador que tem a capacidade de executar as instruções para o computador. Em outras palavras, é o processador que roda (executa) nossos programas. O processador é a parte que sabe como somar e subtrair, além de executar operações lógicas simples. O processador é, em geral, conhecido como Unidade Central de Processamento, UCP, ou CPU (Central Processing Unit).

A memória é a área de trabalho do computador — sua prancheta, seu campo de jogo. A memória de um computador não é como a nossa, e o termo pode causar alguma confusão até que você entenda o que a memória de um computador realmente é e para que ela é usada. A memória é o local de trabalho do computador. É semelhante à mesa de um escriturário, à bancada de um carpinteiro, ou ao campo de jogo de um time esportivo. A memória do computador é onde ocorrem todas as atividades. A comparação com uma bancada de trabalho talvez seja a melhor, pois nos ajuda a entender quando a quantidade de memória é importante, e também quando não é. Assim como o tamanho de uma bancada de trabalho, o tamanho da memória de um computador coloca o limite prático quanto ao tipo de serviço que um computador pode realizar. A capacidade do artífice e outros fatores são realmente importantes para determinarem o que ele pode fazer ou não, mas o tamanho de seu local de trabalho também influencia. Eis por que você costuma avaliar um computador pela quantidade de memória que ele possui.

Entrada/Saída, ou I/O, é o meio que o computador usa para receber ou enviar dados. Inclui a entrada que digitamos pelo teclado e a saída que o computador mostra na tela de vídeo ou imprime na impressora. Toda vez que o computador está apanhando ou enviando dados, ele está realizando a E/S usando dispositivos de E/S, que também são chamados dispositivos periféricos em jargão de computador.

Armazenamento de disco é um tipo muito importante de E/S — ele é a biblioteca de referência do computador, o gabinete de arquivos e caixa de ferramenta em um só pacote. O armazenamento de disco é onde o computador mantém seus dados quando não estão sendo usados pela memória do computador. Os dados podem ser armazenados de outras formas além de discos, mas o uso de discos é a forma mais prática e importante de armazenar dados.

Programas são a última das cinco partes de um computador — eles são o que faz o computador andar, o que o traz à vida, o que o transforma de um monte de peças em uma poderosa ferramenta de trabalho. Os programas encerram as instruções que dizem ao computador o que fazer.

Após este resumo simples, vejamos uma explicação um pouco mais detalhada de cada uma dessas partes.

O processador é a parte do nosso computador projetada para executar nossos programas. Toda a finalidade do computador inteiro é realizar, executar a série de passos que são chamados de programa. Assim, a finalidade e organização interna do computador reúnem-se neste componente-chave: o processador. Para ser capaz de realizar este milagre intrincado, o processador tem algumas habilidades particulares que ele exige para realizar seu trabalho. A primeira habilidade é a capacidade de ler e escrever informações na memória do computador. Esta é uma habilidade crítica, pois as instruções do programa que o processador deve executar e os dados com que o processador deve trabalhar são temporariamente armazenados na memória do computador. A habilidade seguinte é a capacidade de reconhecer e executar uma série de comandos ou instruções muito simples, de modo que nossos programas sejam executados. Esta última habilidade serve para o processador saber como dizer às outras partes do computador o que fazer, de modo que possa orquestrar a operação inteira do computador.

Para o processador, a distinção entre programas e dados é vital — um indica o que o processador deve fazer, e o outro, sobre o que ele está fazendo. Nem todas as partes do nosso computador fazem esta distinção, como veremos brevemente.

A memória, como já vimos, é onde o processador do computador encontra seus programas e dados, quando o processador está realmente fazendo sua tarefa designada. Como já dissemos, a memória é o centro de atividades, o local onde tudo é mantido quando o computador está trabalhando numa tarefa. Para entendermos nossos computadores, é importante entender que a memória do computador é apenas um espaço temporário, um rascunho, uma bancada de trabalho, um quadro-negro onde o computador rabisca e lê enquanto o trabalho é feito. A memória do computador não é um depósito permanente de algo, diferente da memória dentro dos nossos cérebros. Ao invés disso, a memória do computador simplesmente fornece um local onde a computação pode ocorrer. Ele é o campo onde é jogado o jogo da computação. Após cada jogo, o campo de jogo da memória é limpado para o próximo time e próximo jogo.

Embora o processador do computador faça uma distinção vital entre programas e dados, a memória do computador não faz. Para a memória do computador (e para muitas outras partes do computador) não há diferença entre programa e dados — ambos são apenas informações que podem ser registradas, temporariamente, nos circuitos da memória. Um pedaço de papel não sabe e nem se importa com o que escrevemos nele — seja um poema de amor, os valores de um extrato bancário ou instruções para um amigo. Assim acontece com a memória do computador. Somente o processador sabe — ou tem a capacidade de dizer — a diferença entre programas e dados. Para a memória do computador e também para os dispositivos de E/S e armazenamento de disco, um programa é apenas mais dados, alguma informação que pode ser armazenada.

A memória do computador parece-se mais com um quadro-negro do que com um pedaço de papel, pois nada é registrado permanentemente nela. Qualquer coisa pode ser escrita em qualquer parte da memória, e a escrita pode ser alterada simplesmente escrevendo-se sobre ela. Diferente de um quadro-negro, a memória do computador não precisa ser apagada antes que algo novo possa ser escrito; o simples ato de escrever a informação na memória do computador apaga automaticamente o que estava lá antes. A leitura da informação da memória é tão simples e direta quanto a leitura de algo escrito em papel ou em um quadro-negro. Tanto o processador quanto os dispositivos de E/S têm a capacidade natural de ler (e escrever) dados na memória.

Juntos, processador e memória são os atores e o palco em que o drama da computação é realizado. Mas, por si mesmos, eles compõem um mundo fechado. Os dispositivos de entrada/saída abrem esse mundo e permitem que ele se comunique conosco. Um dispositivo de entrada/saída é algo que o computador usa para comunicar-se com algo diferente de sua memória. Como já dissemos, esses dispositivos podem incluir o teclado onde digitamos, a tela de vídeo que olhamos, um mouse, a impressora, ou qualquer outro canal de comunicações para dentro ou fora do computador. Juntos, os dispositivos de E/S compõem a janela do computador para o mundo — o que evita que o processador e a memória sejam um círculo fechado e inútil.

Em geral, podemos dizer que os dispositivos de E/S, com os quais o computador pode trabalhar, nos possui como seu alvo real. De uma forma ou de outra, tudo que o computador recebe (particularmente do teclado) vem de nós. E tudo que o computador coloca na tela, na impressora, ou qualquer outro lugar, é destinado a ser visto por nós. Mas existe uma categoria especial de E/S que serve apenas para uso privado do computador: os dispositivos de armazenamento (particularmente em disco).

O armazenamento de disco, como dissemos, é apenas um tipo de E/S, um tipo de dispositivo que o computador pode usar para ler dados para dentro de sua memória e gravar dados vindos da memória. Existe uma diferença-chave, no entanto, entre dispositivos de armazenamento de disco e essencialmente todos os outros dispositivos — a informação no disco não pode ser lida ou gravada por nós, e não é para o nosso uso; ela só pode ser lida ou gravada pelo próprio computador. Os outros dispositivos de E/S são uma interface entre nós e o computador. O computador "vê" o que digitamos no teclado, nós vemos o que o computador escreve na tela ou na impressora. Isso não acontece com os dispositivos de armazenamento de disco. Ao invés disso, o armazenamento de disco é a biblioteca, caixa de ferramentas e depósito do computador. É onde o computador mantém seus manuais de instrução (nossos programas), sua matéria prima (nossos dados) e quaisquer outras informações que ele precisa ter em mãos.

Finalmente, temos que considerar os programas. Os programas dizem ao computador o que fazer. Os programas são a parte mais difícil da computação, pois os computadores "consomem" programas, usando-os como combustível. Naturalmente, isso não acontece assim, pois, diferente de um motor que queima óleo que não pode usar outra vez, um computador pode usar um programa muitas e muitas vezes sem desgaste do mesmo. Mas, mesmo que um computador não consuma ou queime os programas, nossos computadores possuem um apetite sem fim por programas, do modo como temos um apetite sem fim por jornais, revistas e livros. Quando o livro é escrito, qualquer número de pessoas pode lê-lo e desfrutá-lo, sem fim. Assim acontece com programas para computadores. Mas também temos uma necessidade sem fim de novos livros, novas revistas e novos jornais; assim acontece com programas para computadores. Há sempre algo novo que queremos fazer com nossos computadores, de modo que há sempre uma necessidade de novos programas.

Como resultado, há dois tipos diferentes de programas, e precisamos aprender sobre a diferença logo no início. Esses dois tipos de programas são chamados programas de sistema e programas de aplicação. Todos os programas fazem algo, realizam algum tipo de trabalho. Os programas de sistemas trabalham para ajudarem a operar o computador; de fato, o funcionamento interno do computador é tão complexo que não podemos fazer com que funcionem sem a ajuda de programas. Os programas de aplicação executam as tarefas que queremos fazer, seja somar uma coluna de números ou checar a sintaxe de algo que escrevemos no computador. Resumindo, os programas de aplicação fazem o nosso trabalho, enquanto os programas de sistemas ajudam o computador a gerenciar-se (e executar nosso trabalho).

Alguns dos programas de sistemas que o computador precisa para gerenciar suas operações estão permanentemente embutidos nele. Esta é a parte do computador chamada programas da ROM (Ready Only Memory), pois estão permanentemente armazenadas em Memória Somente de Leitura (diferente da memória principal reutilizável, sobre a qual já discutimos). Esses tipos de programas de sistemas fazem o tipo mais fundamental de trabalho de supervisão e suporte, que inclui o fornecimento de serviços essenciais que todos os programas de aplicações usam. Esses programas de serviço são chamados Serviços Básicos de Entrada/Saída, ou BIOS (Basic Input/Output Services) para abreviar. Você ouvirá falar deles como BIOS, ou como ROM-BIOS, pois residem na memória somente de leitura, ou ROM.

Outros programas de sistemas, desenvolvidos com base do ROM-BIOS, fornecem um nível mais alto de serviços de suporte. Os sistemas operacionais, como os conhecidos Windows e Linux, são exemplos desses programas de sistemas de nível mais alto, que não estão embutidos no computador.

O esboço do computador que vimos até aqui nos dá uma boa base para começarmos, um trampolim para mergulharmos nos detalhes da potência da computação.

Siga-nos no Twitter.

Nenhum comentário:

Postar um comentário