John Napier (1550-1617), escocês inventor dos logaritmos, também inventou
os ossos de Napier, que eram tabelas de multiplicação gravadas em bastão, o que
evitava a memorização da tabuada.
A primeira máquina de verdade foi construída por Wilhelm Schickard sendo
capaz de somar, subtrair, multiplicar e dividir. Essa máquina foi perdida durante
aguerra 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.
A origem da idéia de programar uma máquina vem da necessidade de que
as máquinas de tecer produzissem padrões de cores diferentes. Assim, noséculo
XVIII foi criada uma forma de representar os padrões em cartões de papel
perfurado, que eram tratados manualmente. Em 1801, Joseph Marie
Jacquard (1752-1834) inventa um tear mecânico, com uma leitora automática de
cartões.
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, máquina com alguns
elementos que remetem aos computadores atuais.
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; de loop, uma instrução que
permite a repetição de uma seqüência de instruções, e do salto condicional,
instrução que permite saltar para algum trecho do programa 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).
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.
A empresa fundada por Hollerith é hoje conhecida como International Business
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.
Foi na Segunda Guerra Mundial que realmente nasceram os computadores atuais.
A Marinha dos Estados Unidos, em conjunto com a Universidade de Harvard,
desenvolveu o computador Harvard Mark I, projetado pelo professor Howard
Aiken, com base no calculador analítico de Babbage. O Mark I ocupava 120m³
aproximadamente, conseguindo multiplicar dois números de dez dígitos em três
segundos.
Simultaneamente, e em segredo, o Exército dos Estados Unidos desenvolvia um
projeto semelhante, chefiado pelos engenheiros J. Presper Eckert eJohn Mauchly,
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.
No ENIAC, o programa era feito rearranjando a fiação em um painel. Nesse
ponto John von Neumann propôs a idéia que transformou os calculadores
eletrônicos em “cérebros eletrônicos”: modelar a arquitetura do
computador segundo o sistema nervoso central. Para isso, eles teriam que ter três
características:
Codificar as instruções de uma forma possível de ser armazenada
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.
Mesmo que a tecnologia utilizada nos computadores digitais tenha mudado
dramaticamente desde os primeiros computadores dadécada de
1940 (veja história do hardware), quase todos os computadores atuais ainda
utilizam a arquitetura de von Neumannproposta por John von Neumann.
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.
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 chamadasmicroprocessadores.
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
chamadas registradores, que podem ser lidas e escritas muito mais rapidamente
que em outros dispositivos de memória. São usadas frequentemente para evitar o
acesso contínuo à memória principal cada vez que um dado é requisitado.