Resumo da Historia do Computador
No
passado, o termo já foi aplicado a pessoas responsáveis por algum
cálculo. Em geral, entende-se por computador um sistema físico que realiza algum tipo de computação. Existe ainda o conceito matemático rigoroso, utilizado na
teoria da computação.
A primeira máquina de verdade foi construída por Ediin, sendo capaz de somar, subtrair, multiplicar e dividir. Essa máquina foi perdida durante a
guerra dos trinta anos, sendo que recentemente foi encontrada alguma documentação sobre ela. Durante muitos anos nada se soube sobre essa máquina, por isso, atribuía-se a
Blaise Pascal (
1623-
1662) a construção da primeira máquina calculadora, que fazia apenas somas e subtrações.
A máquina Pascal foi criada com objetivo de ajudar seu pai a computar os impostos em
Rouen,
França. O projeto de Pascal foi bastante aprimorado pelo matemático alemão
Gottfried Wilhelm Leibniz (
1646-
1726), que também inventou o
cálculo, o qual sonhou que, um dia no futuro, todo o raciocínio pudesse ser substituído pelo girar de uma simples alavanca.
Todas essas máquinas, porém, estavam longe de ser um computador de uso geral, pois não eram
programáveis. Isto quer dizer que a entrada era feita apenas de números, mas não de instruções a respeito do que fazer com os números.
Babbage
A ideia de Jacquard atravessou o
Canal da Mancha, onde inspirou
Charles Babbage (
1792-
1871), um professor de matemática de
Cambridge, a desenvolver uma máquina de “tecer números”, uma máquina de calcular onde a forma de calcular pudesse ser controlada por cartões.
Tudo começou com a tentativa de desenvolver uma máquina capaz de calcular polinômios por meio de diferenças, o
calculador diferencial. Enquanto projetava seu calculador diferencial, a idéia de Jacquard fez com que Babbage imaginasse uma nova e mais complexa máquina, o
calculador analítico, extremamente semelhante ao computador atual.
Sua parte principal seria um conjunto de rodas dentadas, o moinho, formando uma máquina de somar com precisão de cinquenta dígitos. As instruções seriam lidas de cartões perfurados. Os cartões seriam lidos em um dispositivo de entrada e armazenados, para futuras referências, em um banco de mil registradores. Cada um dos registradores seria capaz de armazenar um número de cinquenta dígitos, que poderiam ser colocados lá por meio de cartões a partir do resultado de um dos cálculos do moinho.
Além disso tudo, Babbage imaginou a primeira
máquina de impressão, que imprimiria os resultados dos cálculos, contidos nos registradores. Babbage conseguiu, durante algum tempo, fundos para sua pesquisa, porém não conseguiu completar sua máquina no tempo prometido e não recebeu mais dinheiro. Hoje, partes de sua máquina podem ser vistas no
Museu Britânico, que também construiu uma versão completa, utilizando as técnicas disponíveis na época.
Junto com Babbage, trabalhou a jovem
Ada Augusta, filha do poeta
Lord Byron, conhecida como Lady Lovelace e Ada Lovelace. Ada foi a primeira programadora da história, projetando e explicando, a pedido de Babbage,
programas para a máquina inexistente. Ada inventou os conceitos de
subrotina, uma seqüência de
instruções que pode ser usada várias vezes, loop, uma instrução que permite a repetição de uma seqüência de cartões, e do salto condicional, que permite saltar algum cartão caso uma condição seja satisfeita.
Ada Lovelace e Charles Babbage estavam avançados demais para o seu tempo, tanto que até a
década de 1940, nada se inventou parecido com seu computador analítico. Até essa época foram construídas muitas máquinas mecânicas de somar destinadas a controlar negócios (principalmente caixas registradoras) e algumas máquinas inspiradas na calculadora diferencial de Babbage, para realizar cálculos de engenharia (que não alcançaram grande sucesso).
A máquina de tabular
O próximo avanço dos computadores foi feito pelo americano
Herman Hollerith (
1860-
1929), que inventou uma máquina capaz de processar dados baseada na separação de cartões perfurados (pelos seus furos). A
máquina de Hollerith foi utilizada para auxiliar no censo de
1890, reduzindo o tempo de processamento de dados de sete anos, do censo anterior, para apenas dois anos e meio. Ela foi também pioneira ao utilizar a
eletricidade na separação, contagem e tabulação dos cartões.
O primeiro computador eletro-mecânico foi construído por
Konrad Zuse (
1910–
1995). Em
1936, esse engenheiro alemão construiu, a partir de
relês que executavam os cálculos e dados lidos em fitas perfuradas, o
Z1. Zuse tentou vender o computador ao governo alemão, que desprezou a oferta, já que não poderia auxiliar no esforço de guerra. Os projetos de Zuse ficariam parados durante a guerra, dando a chance aos americanos de desenvolver seus computadores.
Simultaneamente, e em segredo, o
Exército Americano desenvolvia um projeto semelhante, chefiado pelos engenheiros
J. Presper Eckert e
John Mauchy, cujo resultado foi o primeiro computador a válvulas, o
Eletronic Numeric Integrator And Calculator (
ENIAC)
[2], capaz de fazer quinhentas multiplicações por segundo. Tendo sido projetado para calcular trajetórias balísticas, o ENIAC foi mantido em segredo pelo governo americano até o final da guerra, quando foi anunciado ao mundo.
- Codificar as instruções de uma forma possível de ser armazenada na memória do computador. Von Neumann sugeriu que fossem usados uns e zeros.
- Armazenar as instruções na memória, bem como toda e qualquer informação necessária a execução da tarefa, e
- Quando processar o programa, buscar as instruções diretamente na memória, ao invés de lerem um novo cartão perfurado a cada passo.
Visão simplificada da arquitetura de Von Neumann.
Este é o conceito de programa armazenado, cujas principais vantagens são: rapidez, versatilidade e automodificação. Assim, o computador programável que conhecemos hoje, onde o programa e os dados estão armazenados na memória ficou conhecido como
Arquitetura de von Neumann.
Para divulgar essa idéia, von Neumann publicou sozinho um artigo. Eckert e Mauchy não ficaram muito contentes com isso, pois teriam discutido muitas vezes com ele. O projeto ENIAC acabou se dissolvendo em uma chuva de processos, mas já estava criado o computador moderno.
Arquitetura de hardware
Seguindo a arquitetura, os computadores possuem quatro sessões principais, a
unidade lógica e aritmética, a
unidade de controle, a
memória e os dispositivos de
entrada e
saída. Essas partes são interconectadas por barramentos. A unidade lógica e aritmética, a unidade de controle, os
registradores e a parte básica de entrada e saída são conhecidos como a
CPU.
Alguns computadores maiores diferem do modelo acima em um aspecto principal - eles têm múltiplas CPUs trabalhando simultaneamente. Adicionalmente, poucos computadores, utilizados principalmente para pesquisa e computação científica, têm diferenças significativas do modelo acima, mas eles não tem grande aplicação comercial.
Processamento
O processador (ou
CPU) é uma das partes principais do
hardware do computador e é responsável pelos cálculos, execução de tarefas e processamento de dados. A velocidade com que o computador executa as tarefas ou processa dados está diretamente ligada à velocidade do processador. As primeiras CPUs eram constituídas de vários componentes separados, mas desde meados da
década de 1970 as CPUs vêm sendo manufaturadas em um único
circuito integrado, sendo então chamadas
microprocessadores.
A
unidade lógica e aritmética (ULA) é a unidade central do processador, que realmente executa as operações aritméticas e lógicas entre dois números. Seus parâmetros incluem, além dos números operandos, um resultado, um comando da unidade de controle, e o estado do comando após a operação. O conjunto de operações aritméticas de uma ULA pode ser limitado a adição e subtração, mas também pode incluir multiplicação, divisão, funções trigonométricas e raízes quadradas. Algumas podem operar somente com números inteiros, enquanto outras suportam o uso de ponto flutuante para representar números reais (apesar de possuírem precisão limitada).
A
unidade de controle é a unidade do processador que armazena a posição de memória que contém a instrução corrente que o computador está executando, informando à ULA qual operação a executar, buscando a informação (da memória) que a ULA precisa para executá-la e transferindo o resultado de volta para o local apropriado da memória. Feito isto, a unidade de controle vai para a próxima instrução (tipicamente localizada na próxima
posição da memória, a menos que a instrução seja uma instrução de desvio informando que a próxima instrução está em outra posição.
A CPU também contém um conjunto restrito de células de memória chamados
registradores que podem ser lidos e escritos muito mais rapidamente que em outros dispositivos de memória. São usados frequentemente para evitar o acesso contínuo à memória principal cada vez que um dado é requisitado.