You are on page 1of 48

HISTRIA DA COMPUTAO

Valdemar W. Setzer
Depto. de Cincia da Computao da USP www.ime.usp.br/~vwsetzer

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

1. O ser humano uma mquina?


Favor responder

SIM ou NO
no papelzinho

1. O ser humano uma mquina? (cont.)


Desculpem, mas a pergunta estava E R R A D A: Toda mquina um artefato projetado e construdo por seres humanos
Eventualmente com a ajuda de outras

mquinas

QUEM projetou e construiu cada ser

humano?
Certamente no um outro ser humano Muito menos com a ajuda de outras

mquinas
4

1. O ser humano uma mquina? (cont.)


Pergunta CORRETA:

O ser humano
um sistema puramente fsico?

1. O ser humano uma mquina? (cont.)


Resultados anteriores:
O SER HUMANO UMA MQUINA? 1 2 3 4 5 6 7 8 9 10 11 12 13 18/09/02 09/09/02 25/09/02 12/05/03 30/05/03 25/08/03 28/08/03 15/09/03 17/09/03 25/09/03 12/11/03 21/10/04 20/10/05 Totais UFMT, Cuiab (BCC) Facs. Dom Domnico, Guaruj (grad) PUC, SPaulo (ps G Jornalismo) UNOESTE, Pres. Pruente (grad SI e CC) IC Unicamp (ps Gr CC) UNESP, Rio Claro (BCC) UNISO, Sorocaba (Bach Sist Info) Centro de Cultura Judaica, SPaulo (#) CEFET, Alagoas, Macei (Tecnol. PD) Centro Cultural Ita, SPaulo (#) Faculdades SENAC, SPaulo (BCC) UNIP, cp. Indianpolis, SPaulo (BCC, EC...) UNESP, Rio Claro (BCC) SIM NOTOTAL %SIM 25 26 6 17 12 13 73 10 76 25 13 56 13 365 21 54 7 20 24 11 105 10 60 48 9 32 18 419 46 80 13 37 36 24 178 20 136 73 22 88 31 784 54 33 46 46 33 54 41 50 56 34 59 64 42 47
6

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

2. O que um computador? O Computador a Papel: um recurso didtico


Funcionamento Conceitos fundamentais Unidades
Processador Central
Controla todo o funcionamento e o fluxo de dados Contm um Apontador de Instruo Contm uma Unidade Aritmtica (mostrador: acumulador)

Unidade de Armazenamento (mmria) Unidades de Entrada e de Sada


8

2. O que um computador? O Computador a Papel: um recurso didtico


Regras do Processador Central 1. Leia a instruo apontada pelo apontador de instruo e memorize-a 2. Mova o apontador de instruo para a prxima posio da unidade de armazenamento (memria) 3. Execute a instruo memorizada em (1) 4. Volte para o passo (1)

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


Conceitos fundamentais Programa armazenado
Fluxo de execuo
O Apontador de Instruo O que aconteceria se o A. I. fosse incrementado depois da execuo da instruo?

Codificao
Codificar a instruo numericamente no formato

+IIEE onde II o cdigo numrico da instruo e EE o endereo referenciado pela instruo Resulta: computador HIPO
10

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


Posio 01 02 03 04 05 06 07 08 09 10 11 12 30 40 45 Instruo do computador a papel Carregue o ACC com [30] Armazene o [ACC] na posio 40 Receba um nmero e coloque-o em 45 Exiba numericamente [45] Carregue o ACC com [45] Se [ACC] < 0 desvie para 11 Carregue o ACC com [40] Adicione [45] ao ACC Armazene o [ACC] na posio 40 Desvie incondicionalmente para 03 Exiba numericamente [40] Pare HIPO +1130 +1240 +3145 +4145 +1145 +5611 +1140 +2145 +1240 +5103 +4140 +7000 +0000
11

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


Conceitos fundamentais (cont.) Posio de memria, palavra Endereo Instruo/computador de um s endereo
Da a necessidade do Acumulador Poderia ser de 2 ou de 3 endereos
Ex: Some [40] ao [45] e armazene em 40

Simulador HIPO (carregar de meu site)


12

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


Conceitos fundamentais (cont.) Dado
Como o Processador Central distingue entre

uma instruo e um dado? Tudo dado!

Entrada e sada de dados Dados alfabticos No HIPO, representados por dois algarismos
A = 01, B = 02, ... Ex: DUDA = +0421 +0401

Novas instrues de entrada/sada de dados


13

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


Conceitos fundamentais (cont.) Dados grandes e pequenos
Notao de Ponto Flutuante (excesso 50) Exs: 1 = +5001

200 = +5120 (20x101) -35 = -5035 1500 = +5315 (15x103) 0,1 = +4901 (1x10-1) 0,00083 = +4583 (83x10-5) Extenso do HIPO para maior preciso
Ex: palavras de 8 dgitos: 6 de preciso Ex: -46123456 ??
14

2. O que um computador? O Computador a Papel: um recurso didtico (cont.)


ESTRUTURA DE UM COMPUTADOR
Unidades de entrada CPU

Unidades de sada

Unidade central de armazenamento

Unidades externas de armazenamento


15

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

16

3. Qual o computador mais simples? A Mquina de Turing


O Computador a Papel e o HIPO tinham muitas instrues Um computador real tem centenas Qual a quantidade mnima de tipos diferentes de instrues necessria e suficiente para executar qualquer processamento de dados em um computador isolado?
Um nico tipo de instruo!
17

3. Qual o computador mais simples? A Mquina de Turing (cont.)


... #
L/G

...

0,0;D A B

1,1;D C

#,#;D

#,0;D

,#;E

CONTROLE FINITO

Resulta:
... # 1 0 0 1 0
L/G

movimento smbolo gravado smbolo lido

...

Est.At. Entrada Sada Movim. Prx.Est. A # # D B B 0 0 D B B 1 1 D B B # 0 D C C # E F Estado inicial: A. Estado final: F.

CONTROLE FINITO

18

3. Qual o computador mais simples? A Mquina de Turing (cont.)


Exerccios 1. Desenhar um diagrama de estados comentado de uma mquina de Turing para fazer somas unrias #1111+11=# #1111+11=111111# 2. Idem, para verificar se o nmero de as o mesmo que o nmero de bs #abaababb# #abaababb#SIM# #bbababba# #bbababba#NO#
19

3. Qual o computador mais simples? A Mquina de Turing (cont.)


Um s tipo de instruo:
(Est. atual, Smb. de entrada, Smb. de sada, Movimento, Prx. estado) Ex: (B,#,0,D,C)

uma mquina abstrata! Foi inventada por Turing em 1935 para

resolver o Entscheidungsproblem David Hilbert

de

Ser que todo problema matemtico bem

formulado tem soluo, isto , decidvel? O problema da parada (Halting problem)


Turing provou que no possvel construir uma

MT que receba na fita a descrio de uma outra e seus dados de entrada, e deduza que essa outra vai parar durante a execuo 20

3. Qual o computador mais simples? A Mquina de Turing (cont.)


Mquina universal Pode-se construir uma MT que recebe a descrio de uma outra e sua entrada e executa exatamente o que essa outra faria Quais as diferenas entre uma M.T. e um

computador real?
Essencialmente, o armazenamento infinito

Praticamente, instrues mais potentes

nos computadores

21

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

22

4. Histria da evoluo dos computadores


Ver

http://pt.wikipedia.org/wiki/Computador www.computerhistory.org/
www.mansano.com/beaba/hist_comp.htm

23

4. Histria da evoluo dos computadores


Incio: talvez pedrinhas para ajudar a

contar baco
Origem babilnica Palavra semita Hebraico: abac (poeira), ibeq (remover a poeira), provavelmente por se usar areia ou poeira sobre uma bandeja, em montinhos, para contar

24

4. Histria da evoluo dos computadores (cont.)


Primeiras mquinas de calcular Leonardo da Vinci (1452-1519) fez um projeto de uma calculadora, suficiente para que hoje se construsse uma

25

4. Histria da evoluo dos computadores (cont.)


Primeiras mquinas de calcular (cont.) 1642: Blaise Pascal (1623-1662) constri 1 calculadora que foi usada
Projetada para seu pai, que era coletor de

impostos
Primeira calculadora comercial

Construiu 50 em 10 anos Baseada em engrenagens Somente adio e subtrao Introduziu o vai um mecnico Entrada por movimento de engrenagens com

marcas dos dgitos

26

4. Histria da evoluo dos computadores (cont.)


Primeiras mquinas de calcular (cont.) 1668: Samuel Morland inventa uma mquina de calcular para o sistema monetrio ingls, que no era decimal 1671: Gottfried Wilhelm von Leibniz (1646-1716) constri uma mquina de calcular que ele denominou reconhecedor de passos
Fazia tambm multiplicaes por meio de

adies repetidas e deslocamentos Foi defensor do sistema binrio Permitia uso de chaves em lugar de engrenagens Mas nunca a usou

27

4. Histria da evoluo dos computadores (cont.)


Primeiras mquinas de calcular (cont.) 1673: o matemtico e astrnomo alemo Wilhelm Schickard constri uma sob encomenda de Kepler
Chamou de relgio de clculo

Nunca foi usada

28

4. Histria da evoluo dos computadores (cont.)


Fim do sc. XVIII: primeiro projeto de

computar tabelas das principais funes (seno, log, etc.). Linha de produo:
6 matemticos: mtodos de clculo 8-10 computadores para pontos piv, a 5-

10 vezes o intervalo da tabela 100 computadores de baixo nvel para os outros pontos 17 volumes computados, mas nunca publicados Em 1820 o gov. britnico fez proposta para publicao mas nada ocorreu
29

4. Histria da evoluo dos computadores (cont.)


1804-5: Joseph-Marie Jacquard inventa

o tear de Jacquard
Controlado por cartes Cartes controlavam o movimento das navetas, produzindo diferentes padres Seqncia de cartes era lida automaticamente Mtodo de dar instrues mquina usado at o sec. XX 1812: havia 11.000 deles

na Frana Com o tear de Jacquard, a programao foi inventada antes dos computadores!

Gravura de 1874
30

4. Histria da evoluo dos computadores (cont.)


1820: O francs Charles Xavier Thomas de Colmar construiu o Aritmmetro
Primeira calculadora produzida em massa Baseada na tecnologia de Leibniz Adio, subtrao, multiplicao e, com

aes do usurio, diviso Ocupava todo o tampo de uma mesa Foi muito popular, e vendida por 90 anos

31

4. Histria da evoluo dos computadores (cont.)


1822: Charles Babbage

(1792-1871) inventa a Difference Engine


6 dgitos Clculo de polinmios por meio

de somas e subtraes (Clculo de Diferenas)


N 0 1 2 3 4 5 N2+N+41 41 43 47 53 61 71 D1 2 4 6 8 10 D2 2 2 2 2
32

4. Histria da evoluo dos computadores (cont.)


1822: Charles Babbage (cont.) Razo para se usar polinmios
Teorema de Weiestrass (1815-1897):

Qualquer intervalo de qualquer funo pode ser aproximado por um polinmio assim que computadores calculam seno, coseno, log, etc., pois tm preciso fixa (Aproximaes de Tchebitchev)

Projeto previa polinmios at grau 6 Construo nunca foi completada

33

4. Histria da evoluo dos computadores (cont.)


1833: Babbage projeta a sua Analytical

Engine

Calculava qualquer problema aritmtico No projeto, 60 somas por minuto Tudo mecnico, energia por vapor 4 partes Store - hoje unidade central de armazenamento
colunas de engrenagens com 10 dgitos 1000 nmeros de 50 dgitos

Mill - hoje, o processador central (CPU) Unidade de transferncia entre mill e store -

hoje, bus Mecanismos de entrada/sada

Sua colaboradora Ada Lovelace

considerada a primeira programadora

34

4. Histria da evoluo dos computadores (cont.)


1925: incio da era moderna dos

computadores
Computador analgico no MIT

1939-44: Howard Aiken, Mark I (Automatic

Sequence Controlled Calculator) com IBM


Aiken: o sonho de Babbage tornado

realidade Mquina eletromecnica, com 3.000 rels Instrues introduzidas por meio de fita de papel perfurada 4,5 s para multiplicar 2 nmeros de 23 dgitos
35

4. Histria da evoluo dos computadores (cont.)


1943: ENIAC (Electronic Integrator and

Calculator), de Presper Eckert e John Mauchly


Na Moore School of Eng., Univ. da

Pensilvnia Primeiro computador realmente eletrnico Com vlvulas (velocidade de chaveamento de 1 seg) Pronto em 1946 18.000 vvulas, 70.000 resistores, 10.000 capacitores, 6.000 chaves - o sistema eletrnico mais complexo do mundo 30x3x3 m, consumo de 140 kw
36

4. Histria da evoluo dos computadores (cont.)


ENIAC (cont.) Dispositivo especial para armazenar nmeros Programa era feito conectando-se painis furados, com fios (pegas), como em centrais telefnicas locais antigas Motivao: clculo balstico 1945: EDVAC (Electronic Delay Storage

Automatic Calculator)
Algum tempo antes de o ENIAC entrar em

funcionamento, Moore School


37

4. Histria da evoluo dos computadores (cont.)


EDVAC (cont.) Primeiro computador com programa armazenado
Idia de John von Neumann (1903-1957) -

relatrio de 1945
1o. a perceber que os computadores executam funes lgicas, e que os aspectos eltricos eram secundrios

Por isso o tipo dos computadores modernos

denominado de Mquina von Neumann

Armazenamento central por linha acstica

de atraso Entrou em operao em maio de 1949 operou at 1962


38

4. Histria da evoluo dos computadores (cont.)


1949: EDSAC (Electronic Delay Storage

Automatic Calculator)
Desenvolvido por Wilkes, Univ. de

Cambridge, Inglaterra 1a. mquina do mundo a usar programas armazenados Apresentado em 6/1949 Armazenamento central por linha acstica de atraso
1450 m/s

4.000 vlvulas

Gerador/ Amplific.
39

4. Histria da evoluo dos computadores (cont.)


1953: IBM 701 Armazenamento por tubos eletrostticos, e por tambor magntico e fitas magnticas 19 foram construdos 1957: UNIVAC I (Universal Automatic

Computer), da Sperry-Rand, por Eckert e Mauchly


Fornecido para o Depto. do Censo

americano Funcionou at 1963

40

4. Histria da evoluo dos computadores (cont.)


6/1948: na Inglaterra, j havia

funcionado um computador
Usava tubos de raios catdicos (de TV ou

radar) para armazenamento


32 linhas de 32 pontos (bits)

Mais um tubo para controle e outro para

acumulador

1949: na Inglaterra, testou-se

armazenamento com tambor magntico 1948: inventado o transistor


por Bardeen, Brattain e Shockley (prmios

Nobel de 1956)
41

4. Histria da evoluo dos computadores (cont.)


Circuito bsico: biestvel (flip-flop) -

pode representar 0 ou 1
0 1

Muda para 1

Muda para 0

Quando a tenso ligada, apenas um dos dois transistores conduz, e seu Led fica aceso. Aterrando sua base, ele deixa de conduzir e o outro passa a conduzir, acendendo o outro LED.

42

4. Histria da evoluo dos computadores (cont.)


Armazenamento com ncleos

magnticos
Permitiu grandes unidades de

armazenamento

1962 (?): IBM 7090, 1 grande computador,

transistorizado, 32.000 palavras de 36 bits

Primeira linguagem de alto nvel:

FORTRAN, IBM 1957

43

4. Histria da evoluo dos computadores (cont.)


O primeiro computador no Brasil 1961 (?) PUC-RJ Burroughs (650?), com tambor magntico 1962 (?): Primeiros computadores

transistorizados no Brasil, com ncleos magnticos


IBM 1401 (4.000 ou 8.000 bytes), comercial IBM 1620, na USP (20.000 dgitos decimais) 1 disco magntico (1964): 2 Mb, pilha de discos grandes, removvel
44

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

45

5. Bibliografia
Setzer, V.W. e Chaves, E. O Uso de Computadores em Escolas - Fundamentos e Crticas. S. Paulo: Ed. Scipione, 1988. Setzer, V.W. Meios Eletrnicos e Educao: uma viso alternativa. S.Paulo: Ed. Escrituras, 3a. ed. 2005. Setzer, V.W. e Hirata Jr., R. O Dia da Computao (uma introduo rpida ao computador e computao). Caderno da Revista do Professor de Matemtica Vol. 4, No. 1, 1993. Setzer, V.W. Vrios artigos e o simulador do HIPO em www.ime.usp.br/~vwsetzer Hodges, A. Alan Turing - the Enigma. New York: Walker & Co., 2000. Bernstein, J. The Analytical Engine: Computers Past, Present and Future. New York: Wm Morrow 1981.
46

5. Bibliografia (cont.)
Goldstine, H.H. The Computer from Pascal to von Neumann. Princeton: Princeton Univ. Press, 1972. Harmon, M. Stretching Mans Minds: a History of Data Processing. New York: Mason/Charte, 1975. Halacy Jr., D.S. Computers - the Machines we Think with. New York: Harper & Row, 1969.

47

TPICOS
1. O ser humano uma mquina? 2. O que um computador? O Computador a Papel: um recurso didtico 3. Qual o computador mais simples? A Mquina de Turing 4. Histria da evoluo dos computadores 5. Bibliografia

48

You might also like