www.ime.usp.br/~vwsetzer 1
HISTÓRIA DA COMPUTAÇÃO
Valdemar W. Setzer
Depto. de Ciência da Computação da USP
www.ime.usp.br/~vwsetzer
www.ime.usp.br/~vwsetzer 2
TÓPICOS
1. O ser humano é uma máquina?
2. O que é um computador? O Computador a
Papel: um recurso didático
3. Qual o computador mais simples? A Máquina
de Turing
4. História da evolução dos computadores
5. Bibliografia
www.ime.usp.br/~vwsetzer 3
1. O ser humano é uma máquina?
Favor responder
SIM ou NÃO
no papelzinho
www.ime.usp.br/~vwsetzer 4
1. O ser humano é uma máquina? (cont.)
Desculpem, mas a pergunta estava
E R R A D A:
 Toda máquina é um artefato projetado
e construído por seres humanos
 Eventualmente com a ajuda de outras
máquinas
 QUEM projetou e construiu cada ser
humano?
 Certamente não um outro ser humano
 Muito menos com a ajuda de outras
máquinas
www.ime.usp.br/~vwsetzer 5
1. O ser humano é uma máquina? (cont.)
Pergunta CORRETA:
O ser humano
é um sistema puramente físico?
www.ime.usp.br/~vwsetzer 6
1. O ser humano é uma máquina? (cont.)
Resultados anteriores:
O SER HUMANO É UMA MÁQUINA? SIM NÃOTOTAL %SIM
1 18/09/02 UFMT, Cuiabá (BCC) 25 21 46 54
2 09/09/02 Facs. Dom Domênico, Guarujá (grad) 26 54 80 33
3 25/09/02 PUC, SPaulo (pós G Jornalismo) 6 7 13 46
4 12/05/03 UNOESTE, Pres. Pruente (grad SI e CC) 17 20 37 46
5 30/05/03 IC Unicamp (pós Gr CC) 12 24 36 33
6 25/08/03 UNESP, Rio Claro (BCC) 13 11 24 54
7 28/08/03 UNISO, Sorocaba (Bach Sist Info) 73 105 178 41
8 15/09/03 Centro de Cultura Judaica, SPaulo (#) 10 10 20 50
9 17/09/03 CEFET, Alagoas, Maceió (Tecnol. PD) 76 60 136 56
10 25/09/03 Centro Cultural Itaú, SPaulo (#) 25 48 73 34
11 12/11/03 Faculdades SENAC, SPaulo (BCC) 13 9 22 59
12 21/10/04 UNIP, cp. Indianópolis, SPaulo (BCC, EC...) 56 32 88 64
13 20/10/05 UNESP, Rio Claro (BCC) 13 18 31 42
Totais 365 419 784 47
www.ime.usp.br/~vwsetzer 7
TÓPICOS
✓ 1. O ser humano é uma máquina?
2. O que é um computador? O
Computador a Papel: um recurso didático
3. Qual o computador mais simples? A
Máquina de Turing
4. História da evolução dos
computadores
5. Bibliografia
www.ime.usp.br/~vwsetzer 8
2. O que é um computador? O
Computador a Papel: um recurso
didático
 Funcionamento
 Conceitos fundamentais
 Unidades
❖ Processador Central
 Controla todo o funcionamento e o fluxo de dados
 Contém um Apontador de Instrução
 Contém uma Unidade Aritmética (mostrador:
acumulador)
❖ Unidade de Armazenamento (“mémória”)
❖ Unidades de Entrada e de Saída
www.ime.usp.br/~vwsetzer 9
2. O que é um computador? O
Computador a Papel: um recurso
didático
 Regras do Processador Central
1. Leia a instrução apontada pelo apontador
de instrução e memorize-a
2. Mova o apontador de instrução para a
próxima posição da unidade de
armazenamento (“memória”)
3. Execute a instrução memorizada em (1)
4. Volte para o passo (1)
www.ime.usp.br/~vwsetzer 10
 Conceitos fundamentais
 Programa armazenado
❖ Fluxo de execução
 O Apontador de Instrução
 O que aconteceria se o A. I. fosse incrementado
depois da execução da instrução?
❖ Codificação
 Codificar a instrução numericamente no formato
+IIEE
» onde II é o código numérico da instrução
» e EE é o endereço referenciado pela instrução
❖ Resulta: computador HIPO
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
www.ime.usp.br/~vwsetzer 11
Posição Instrução do computador a papel HIPO
01 Carregue o ACC com [30] +1130
02 Armazene o [ACC] na posição 40 +1240
03 Receba um número e coloque-o em 45 +3145
04 Exiba numericamente [45] +4145
05 Carregue o ACC com [45] +1145
06 Se [ACC] < 0 desvie para 11 +5611
07 Carregue o ACC com [40] +1140
08 Adicione [45] ao ACC +2145
09 Armazene o [ACC] na posição 40 +1240
10 Desvie incondicionalmente para 03 +5103
11 Exiba numericamente [40] +4140
12 Pare +7000
30 +0000
40
45
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
www.ime.usp.br/~vwsetzer 12
 Conceitos fundamentais (cont.)
 Posição de “memória”, “palavra”
 Endereço
 Instrução/computador de um só endereço
❖ Daí a necessidade do Acumulador
❖ Poderia ser de 2 ou de 3 endereços
 Ex: Some [40] ao [45] e armazene em 40
 Simulador HIPO (carregar de meu site)
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
www.ime.usp.br/~vwsetzer 13
 Conceitos fundamentais (cont.)
 Dado
❖ Como o Processador Central distingue entre
uma instrução e um dado?
❖ Tudo é “dado”!
 Entrada e saída de dados
 Dados alfabéticos
❖ No HIPO, representados por dois algarismos
 A = 01, B = 02, ...
 Ex: DUDA = +0421 +0401
❖ Novas instruções de entrada/saída de dados
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
www.ime.usp.br/~vwsetzer 14
 Conceitos fundamentais (cont.)
 Dados grandes e pequenos
❖ Notação 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
)
❖ Extensão do HIPO para maior precisão
 Ex: “palavras” de 8 dígitos: 6 de precisão
» Ex: -46123456 ??
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
www.ime.usp.br/~vwsetzer 15
ESTRUTURA DE UM COMPUTADOR
2. O que é um computador? O
Computador a Papel: um recurso
didático (cont.)
CPU
Unidades
de entrada
Unidades
de saída
Unidade
central de
armazenamento
Unidades
externas de
armazenamento
www.ime.usp.br/~vwsetzer 16
TÓPICOS
✓ 1. O ser humano é uma máquina?
✓ 2. O que é um computador? O
Computador a Papel: um recurso didático
3. Qual o computador mais simples? A
Máquina de Turing
4. História da evolução dos
computadores
5. Bibliografia
www.ime.usp.br/~vwsetzer 17
3. Qual o computador mais simples?
A Máquina de Turing
O Computador a Papel e o HIPO tinham
muitas instruções
 Um computador real tem centenas
 Qual a quantidade mínima de tipos
diferentes de instruções é necessária e
suficiente para executar qualquer
processamento de dados em um
computador isolado?
 Um único tipo de instrução!
www.ime.usp.br/~vwsetzer 18
3. Qual o computador mais simples? A
Máquina de Turing (cont.)
CONTROLE
FINITO
 1 0 #
# 0 1
...
L / G
  ...
 
Resulta:
CONTROLE
FINITO
 1 0 0
# 0 1
...
L / G
#   ...


Est.At. Entrada Saída Movim. Próx.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.
#,#;D #,0;D
0,0;D 1,1;D
,#;E
A B C F
movimento
símbolo gravado
símbolo lido
www.ime.usp.br/~vwsetzer 19
3. Qual o computador mais simples? A
Máquina de Turing (cont.)
Exercícios
1. Desenhar um diagrama de estados comentado
de uma máquina de Turing para fazer somas
unárias
#1111+11=#  #1111+11=111111#
2. Idem, para verificar se o número de a’s é o
mesmo que o número de b’s
#abaababb#  #abaababb#SIM#
#bbababba#  #bbababba#NÃO#
www.ime.usp.br/~vwsetzer 20
3. Qual o computador mais simples? A
Máquina de Turing (cont.)
 Um só tipo de instrução:
(Est. atual, Símb. de entrada, Símb. de saída, Movimento, Próx. estado)
Ex: (B,#,0,D,C)
 É uma máquina abstrata!
 Foi inventada por Turing em 1935 para
resolver o Entscheidungsproblem de
David Hilbert
Será que todo problema matemático bem
formulado tem solução, isto é, é decidível?
O problema da parada (Halting problem)
❖ Turing provou que não é possível construir uma
MT que receba na fita a descrição de uma outra e
seus dados de entrada, e deduza que essa outra
vai parar durante a execução
www.ime.usp.br/~vwsetzer 21
3. Qual o computador mais simples? A
Máquina de Turing (cont.)
 Máquina universal
 Pode-se construir uma MT que recebe a
descrição de uma outra e sua entrada e
executa exatamente o que essa outra faria
 Quais as diferenças entre uma M.T. e um
computador real?
 Essencialmente, o armazenamento infinito
 Praticamente, instruções mais potentes
nos computadores
www.ime.usp.br/~vwsetzer 22
TÓPICOS
✓ 1. O ser humano é uma máquina?
✓ 2. O que é um computador? O
Computador a Papel: um recurso didático
✓ 3. Qual o computador mais simples? A
Máquina de Turing
4. História da evolução dos
computadores
5. Bibliografia
www.ime.usp.br/~vwsetzer 23
4. História da evolução dos
computadores
 Ver
http://pt.wikipedia.org/wiki/Computador
www.computerhistory.org/
www.mansano.com/beaba/hist_comp.htm
www.ime.usp.br/~vwsetzer 24
4. História da evolução dos
computadores
 Início: talvez pedrinhas para ajudar a
contar
 Ábaco
 Origem babilônica
 Palavra semita
❖ Hebraico: abac (poeira), ibeq (remover a
poeira), provavelmente por se usar areia ou
poeira sobre uma bandeja, em montinhos,
para contar
www.ime.usp.br/~vwsetzer 25
4. História da evolução dos
computadores (cont.)
 Primeiras máquinas de calcular
 Leonardo da Vinci (1452-1519) fez um
projeto de uma calculadora, suficiente
para que hoje se construísse uma
www.ime.usp.br/~vwsetzer 26
4. História da evolução dos
computadores (cont.)
 Primeiras máquinas de calcular (cont.)
 1642: Blaise Pascal (1623-1662) constrói
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 adição e subtração
❖ Introduziu o “vai um” mecânico
❖ Entrada por movimento de engrenagens com
marcas dos dígitos
www.ime.usp.br/~vwsetzer 27
4. História da evolução dos
computadores (cont.)
Primeiras máquinas de calcular (cont.)
 1668: Samuel Morland inventa uma máquina
de calcular para o sistema monetário inglês,
que não era decimal
 1671: Gottfried Wilhelm von Leibniz
(1646-1716) constrói uma máquina de
calcular que ele denominou “reconhecedor
de passos”
❖ Fazia também multiplicações por meio de
adições repetidas e deslocamentos
❖ Foi defensor do sistema binário
❖ Permitia uso de chaves em lugar de
engrenagens
❖ Mas nunca a usou
www.ime.usp.br/~vwsetzer 28
4. História da evolução dos
computadores (cont.)
Primeiras máquinas de calcular (cont.)
 1673: o matemático e astrônomo alemão
Wilhelm Schickard constrói uma sob
encomenda de Kepler
❖ Chamou de “relógio de cálculo”
❖ Nunca foi usada
www.ime.usp.br/~vwsetzer 29
4. História da evolução dos
computadores (cont.)
 Fim do séc. XVIII: primeiro projeto de
computar tabelas das principais funções
(seno, log, etc.). Linha de produção:
 6 matemáticos: métodos de cálculo
 8-10 computadores para “pontos pivô”, a 5-
10 vezes o intervalo da tabela
 100 computadores de baixo nível para os
outros pontos
 17 volumes computados, mas nunca
publicados
 Em 1820 o gov. britânico fez proposta para
publicação mas nada ocorreu
www.ime.usp.br/~vwsetzer 30
4. História da evolução dos
computadores (cont.)
 1804-5: Joseph-Marie Jacquard inventa
o tear de Jacquard
 Controlado por cartões
❖ Cartões controlavam o movimento das navetas,
produzindo diferentes padrões
❖ Seqüência de cartões era
lida automaticamente
❖ Método de dar instruções
à máquina usado até o sec. XX
 1812: havia 11.000 deles
na França
 Com o tear de Jacquard,
a programação foi inventada
antes dos computadores!
Gravura de 1874
www.ime.usp.br/~vwsetzer 31
4. História da evolução dos
computadores (cont.)
1820: O francês Charles Xavier Thomas
de Colmar construiu o Aritmômetro
 Primeira calculadora produzida em massa
 Baseada na tecnologia de Leibniz
 Adição, subtração, multiplicação e, com
ações do usuário, divisão
 Ocupava todo o tampo de uma mesa
 Foi muito popular, e vendida por 90 anos
www.ime.usp.br/~vwsetzer 32
4. História da evolução dos
computadores (cont.)
 1822: Charles Babbage
(1792-1871) inventa a
“Difference Engine”
2
4
6
8
10
 6 dígitos
 Cálculo de polinômios por meio
de somas e subtrações (Cálculo
de Diferenças)
N N2
+N+41 D1 D2
0 41
1 43 2
2 47 2
3 53 2
4 61 2
5 71
www.ime.usp.br/~vwsetzer 33
4. História da evolução dos
computadores (cont.)
 1822: Charles Babbage (cont.)
 Razão para se usar polinômios
❖ Teorema de Weiestrass (1815-1897):
Qualquer intervalo de qualquer função pode
ser aproximado por um polinômio
❖ É assim que computadores calculam seno,
coseno, log, etc., pois têm precisão fixa
(“Aproximações de Tchebitchev”)
 Projeto previa polinômios até grau 6
❖ Construção nunca foi completada
www.ime.usp.br/~vwsetzer 34
4. História da evolução dos
computadores (cont.)
 1833: Babbage projeta a sua Analytical
Engine
 Calculava qualquer problema aritmético
 No projeto, 60 somas por minuto
 Tudo mecânico, energia por vapor
 4 partes
❖ Store - hoje unidade central de armazenamento
 colunas de engrenagens com 10 dígitos
 1000 números de 50 dígitos
❖ Mill - hoje, o processador central (CPU)
❖ Unidade de transferência entre mill e store -
hoje, bus
❖ Mecanismos de entrada/saída
 Sua colaboradora Ada Lovelace é
considerada a primeira programadora
www.ime.usp.br/~vwsetzer 35
4. História da evolução dos
computadores (cont.)
 1925: início da era moderna dos
computadores
 Computador analógico no MIT
 1939-44: Howard Aiken, Mark I (Automatic
Sequence Controlled Calculator) com IBM
 Aiken: “o sonho de Babbage tornado
realidade”
 Máquina eletromecânica, com 3.000 relés
 Instruções introduzidas por meio de fita de
papel perfurada
 4,5 s para multiplicar 2 números de 23 dígitos
www.ime.usp.br/~vwsetzer 36
4. História da evolução dos
computadores (cont.)
 1943: ENIAC (Electronic Integrator and
Calculator), de Presper Eckert e John
Mauchly
 Na Moore School of Eng., Univ. da
Pensilvânia
 Primeiro computador realmente eletrônico
 Com válvulas (velocidade de chaveamento
de 1 seg)
 Pronto em 1946
 18.000 vávulas, 70.000 resistores, 10.000
capacitores, 6.000 chaves - o sistema
eletrônico mais complexo do mundo
 30x3x3 m, consumo de 140 kw
www.ime.usp.br/~vwsetzer 37
4. História da evolução dos
computadores (cont.)
 ENIAC (cont.)
 Dispositivo especial para armazenar
números
 Programa era feito conectando-se painéis
furados, com fios (“pegas”), como em
centrais telefônicas locais antigas
 Motivação: cálculo balístico
 1945: EDVAC (Electronic Delay Storage
Automatic Calculator)
 Algum tempo antes de o ENIAC entrar em
funcionamento,
 Moore School
www.ime.usp.br/~vwsetzer 38
4. História da evolução dos
computadores (cont.)
 EDVAC (cont.)
 Primeiro computador com programa
armazenado
❖ Idéia de John von Neumann (1903-1957) -
relatório de 1945
1o. a perceber que os computadores executam
funções lógicas, e que os aspectos elétricos eram
secundários
❖ Por isso o tipo dos computadores modernos é
denominado de Máquina von Neumann
 Armazenamento central por linha acústica
de atraso
 Entrou em operação em maio de 1949
 operou até 1962
www.ime.usp.br/~vwsetzer 39
4. História da evolução dos
computadores (cont.)
 1949: EDSAC (Electronic Delay Storage
Automatic Calculator)
 Desenvolvido por Wilkes, Univ. de
Cambridge, Inglaterra
 1a. máquina do mundo a usar programas
armazenados
 Apresentado em 6/1949
 Armazenamento central por linha acústica
de atraso
 4.000 válvulas
Gerador/
Amplific.
1450 m/s
www.ime.usp.br/~vwsetzer 40
4. História da evolução dos
computadores (cont.)
 1953: IBM 701
 Armazenamento por tubos eletrostáticos, e
por tambor magnético e fitas magnéticas
 19 foram construídos
 1957: UNIVAC I (Universal Automatic
Computer), da Sperry-Rand, por Eckert
e Mauchly
 Fornecido para o Depto. do Censo
americano
 Funcionou até 1963
www.ime.usp.br/~vwsetzer 41
4. História da evolução dos
computadores (cont.)
 6/1948: na Inglaterra, já havia
funcionado um computador
 Usava tubos de raios catódicos (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 magnético
 1948: é inventado o transistor
 por Bardeen, Brattain e Shockley (prêmios
Nobel de 1956)
www.ime.usp.br/~vwsetzer 42
4. História da evolução dos
computadores (cont.)
 Circuito básico: biestável (flip-flop) -
pode representar 0 ou 1
Quando a tensão é 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.
0 1
Muda para 1 Muda para 0
www.ime.usp.br/~vwsetzer 43
4. História da evolução dos
computadores (cont.)
 Armazenamento com núcleos
magnéticos
 Permitiu “grandes unidades de
armazenamento”
❖ 1962 (?): IBM 7090, 1º grande computador,
transistorizado, 32.000 “palavras” de 36 bits
 Primeira linguagem de “alto nível”:
FORTRAN, IBM 1957
www.ime.usp.br/~vwsetzer 44
4. História da evolução dos
computadores (cont.)
O primeiro computador no Brasil
 1961 (?)
 PUC-RJ
 Burroughs (650?), com tambor magnético
 1962 (?): Primeiros computadores
transistorizados no Brasil, com
núcleos magnéticos
 IBM 1401 (4.000 ou 8.000 bytes), comercial
 IBM 1620, na USP (20.000 dígitos decimais)
❖ 1º disco magnético (1964): 2 Mb, pilha de
discos grandes, removível
www.ime.usp.br/~vwsetzer 45
TÓPICOS
✓ 1. O ser humano é uma máquina?
✓ 2. O que é um computador? O
Computador a Papel: um recurso didático
✓ 3. Qual o computador mais simples? A
Máquina de Turing
✓ 4. História da evolução dos
computadores
5. Bibliografia
www.ime.usp.br/~vwsetzer 46
5. Bibliografia
Setzer, V.W. e Chaves, E. O Uso de Computadores em
Escolas - Fundamentos e Críticas. S. Paulo: Ed.
Scipione, 1988.
Setzer, V.W. Meios Eletrônicos e Educação: uma visão
alternativa. S.Paulo: Ed. Escrituras, 3a. ed. 2005.
Setzer, V.W. e Hirata Jr., R. O Dia da Computação (uma
introdução rápida ao computador e à computação).
Caderno da Revista do Professor de Matemática Vol.
4, No. 1, 1993.
Setzer, V.W. Vários 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.
www.ime.usp.br/~vwsetzer 47
5. Bibliografia (cont.)
Goldstine, H.H. The Computer from Pascal to von
Neumann. Princeton: Princeton Univ. Press, 1972.
Harmon, M. Stretching Man’s 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.
www.ime.usp.br/~vwsetzer 48
TÓPICOS
✓ 1. O ser humano é uma máquina?
✓ 2. O que é um computador? O
Computador a Papel: um recurso didático
✓ 3. Qual o computador mais simples? A
Máquina de Turing
✓ 4. História da evolução dos
computadores
✓ 5. Bibliografia

Historia da computacao.pdf

  • 1.
    www.ime.usp.br/~vwsetzer 1 HISTÓRIA DACOMPUTAÇÃO Valdemar W. Setzer Depto. de Ciência da Computação da USP www.ime.usp.br/~vwsetzer
  • 2.
    www.ime.usp.br/~vwsetzer 2 TÓPICOS 1. Oser humano é uma máquina? 2. O que é um computador? O Computador a Papel: um recurso didático 3. Qual o computador mais simples? A Máquina de Turing 4. História da evolução dos computadores 5. Bibliografia
  • 3.
    www.ime.usp.br/~vwsetzer 3 1. Oser humano é uma máquina? Favor responder SIM ou NÃO no papelzinho
  • 4.
    www.ime.usp.br/~vwsetzer 4 1. Oser humano é uma máquina? (cont.) Desculpem, mas a pergunta estava E R R A D A:  Toda máquina é um artefato projetado e construído por seres humanos  Eventualmente com a ajuda de outras máquinas  QUEM projetou e construiu cada ser humano?  Certamente não um outro ser humano  Muito menos com a ajuda de outras máquinas
  • 5.
    www.ime.usp.br/~vwsetzer 5 1. Oser humano é uma máquina? (cont.) Pergunta CORRETA: O ser humano é um sistema puramente físico?
  • 6.
    www.ime.usp.br/~vwsetzer 6 1. Oser humano é uma máquina? (cont.) Resultados anteriores: O SER HUMANO É UMA MÁQUINA? SIM NÃOTOTAL %SIM 1 18/09/02 UFMT, Cuiabá (BCC) 25 21 46 54 2 09/09/02 Facs. Dom Domênico, Guarujá (grad) 26 54 80 33 3 25/09/02 PUC, SPaulo (pós G Jornalismo) 6 7 13 46 4 12/05/03 UNOESTE, Pres. Pruente (grad SI e CC) 17 20 37 46 5 30/05/03 IC Unicamp (pós Gr CC) 12 24 36 33 6 25/08/03 UNESP, Rio Claro (BCC) 13 11 24 54 7 28/08/03 UNISO, Sorocaba (Bach Sist Info) 73 105 178 41 8 15/09/03 Centro de Cultura Judaica, SPaulo (#) 10 10 20 50 9 17/09/03 CEFET, Alagoas, Maceió (Tecnol. PD) 76 60 136 56 10 25/09/03 Centro Cultural Itaú, SPaulo (#) 25 48 73 34 11 12/11/03 Faculdades SENAC, SPaulo (BCC) 13 9 22 59 12 21/10/04 UNIP, cp. Indianópolis, SPaulo (BCC, EC...) 56 32 88 64 13 20/10/05 UNESP, Rio Claro (BCC) 13 18 31 42 Totais 365 419 784 47
  • 7.
    www.ime.usp.br/~vwsetzer 7 TÓPICOS ✓ 1.O ser humano é uma máquina? 2. O que é um computador? O Computador a Papel: um recurso didático 3. Qual o computador mais simples? A Máquina de Turing 4. História da evolução dos computadores 5. Bibliografia
  • 8.
    www.ime.usp.br/~vwsetzer 8 2. Oque é um computador? O Computador a Papel: um recurso didático  Funcionamento  Conceitos fundamentais  Unidades ❖ Processador Central  Controla todo o funcionamento e o fluxo de dados  Contém um Apontador de Instrução  Contém uma Unidade Aritmética (mostrador: acumulador) ❖ Unidade de Armazenamento (“mémória”) ❖ Unidades de Entrada e de Saída
  • 9.
    www.ime.usp.br/~vwsetzer 9 2. Oque é um computador? O Computador a Papel: um recurso didático  Regras do Processador Central 1. Leia a instrução apontada pelo apontador de instrução e memorize-a 2. Mova o apontador de instrução para a próxima posição da unidade de armazenamento (“memória”) 3. Execute a instrução memorizada em (1) 4. Volte para o passo (1)
  • 10.
    www.ime.usp.br/~vwsetzer 10  Conceitosfundamentais  Programa armazenado ❖ Fluxo de execução  O Apontador de Instrução  O que aconteceria se o A. I. fosse incrementado depois da execução da instrução? ❖ Codificação  Codificar a instrução numericamente no formato +IIEE » onde II é o código numérico da instrução » e EE é o endereço referenciado pela instrução ❖ Resulta: computador HIPO 2. O que é um computador? O Computador a Papel: um recurso didático (cont.)
  • 11.
    www.ime.usp.br/~vwsetzer 11 Posição Instruçãodo computador a papel HIPO 01 Carregue o ACC com [30] +1130 02 Armazene o [ACC] na posição 40 +1240 03 Receba um número e coloque-o em 45 +3145 04 Exiba numericamente [45] +4145 05 Carregue o ACC com [45] +1145 06 Se [ACC] < 0 desvie para 11 +5611 07 Carregue o ACC com [40] +1140 08 Adicione [45] ao ACC +2145 09 Armazene o [ACC] na posição 40 +1240 10 Desvie incondicionalmente para 03 +5103 11 Exiba numericamente [40] +4140 12 Pare +7000 30 +0000 40 45 2. O que é um computador? O Computador a Papel: um recurso didático (cont.)
  • 12.
    www.ime.usp.br/~vwsetzer 12  Conceitosfundamentais (cont.)  Posição de “memória”, “palavra”  Endereço  Instrução/computador de um só endereço ❖ Daí a necessidade do Acumulador ❖ Poderia ser de 2 ou de 3 endereços  Ex: Some [40] ao [45] e armazene em 40  Simulador HIPO (carregar de meu site) 2. O que é um computador? O Computador a Papel: um recurso didático (cont.)
  • 13.
    www.ime.usp.br/~vwsetzer 13  Conceitosfundamentais (cont.)  Dado ❖ Como o Processador Central distingue entre uma instrução e um dado? ❖ Tudo é “dado”!  Entrada e saída de dados  Dados alfabéticos ❖ No HIPO, representados por dois algarismos  A = 01, B = 02, ...  Ex: DUDA = +0421 +0401 ❖ Novas instruções de entrada/saída de dados 2. O que é um computador? O Computador a Papel: um recurso didático (cont.)
  • 14.
    www.ime.usp.br/~vwsetzer 14  Conceitosfundamentais (cont.)  Dados grandes e pequenos ❖ Notação 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 ) ❖ Extensão do HIPO para maior precisão  Ex: “palavras” de 8 dígitos: 6 de precisão » Ex: -46123456 ?? 2. O que é um computador? O Computador a Papel: um recurso didático (cont.)
  • 15.
    www.ime.usp.br/~vwsetzer 15 ESTRUTURA DEUM COMPUTADOR 2. O que é um computador? O Computador a Papel: um recurso didático (cont.) CPU Unidades de entrada Unidades de saída Unidade central de armazenamento Unidades externas de armazenamento
  • 16.
    www.ime.usp.br/~vwsetzer 16 TÓPICOS ✓ 1.O ser humano é uma máquina? ✓ 2. O que é um computador? O Computador a Papel: um recurso didático 3. Qual o computador mais simples? A Máquina de Turing 4. História da evolução dos computadores 5. Bibliografia
  • 17.
    www.ime.usp.br/~vwsetzer 17 3. Qualo computador mais simples? A Máquina de Turing O Computador a Papel e o HIPO tinham muitas instruções  Um computador real tem centenas  Qual a quantidade mínima de tipos diferentes de instruções é necessária e suficiente para executar qualquer processamento de dados em um computador isolado?  Um único tipo de instrução!
  • 18.
    www.ime.usp.br/~vwsetzer 18 3. Qualo computador mais simples? A Máquina de Turing (cont.) CONTROLE FINITO  1 0 # # 0 1 ... L / G   ...   Resulta: CONTROLE FINITO  1 0 0 # 0 1 ... L / G #   ...   Est.At. Entrada Saída Movim. Próx.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. #,#;D #,0;D 0,0;D 1,1;D ,#;E A B C F movimento símbolo gravado símbolo lido
  • 19.
    www.ime.usp.br/~vwsetzer 19 3. Qualo computador mais simples? A Máquina de Turing (cont.) Exercícios 1. Desenhar um diagrama de estados comentado de uma máquina de Turing para fazer somas unárias #1111+11=#  #1111+11=111111# 2. Idem, para verificar se o número de a’s é o mesmo que o número de b’s #abaababb#  #abaababb#SIM# #bbababba#  #bbababba#NÃO#
  • 20.
    www.ime.usp.br/~vwsetzer 20 3. Qualo computador mais simples? A Máquina de Turing (cont.)  Um só tipo de instrução: (Est. atual, Símb. de entrada, Símb. de saída, Movimento, Próx. estado) Ex: (B,#,0,D,C)  É uma máquina abstrata!  Foi inventada por Turing em 1935 para resolver o Entscheidungsproblem de David Hilbert Será que todo problema matemático bem formulado tem solução, isto é, é decidível? O problema da parada (Halting problem) ❖ Turing provou que não é possível construir uma MT que receba na fita a descrição de uma outra e seus dados de entrada, e deduza que essa outra vai parar durante a execução
  • 21.
    www.ime.usp.br/~vwsetzer 21 3. Qualo computador mais simples? A Máquina de Turing (cont.)  Máquina universal  Pode-se construir uma MT que recebe a descrição de uma outra e sua entrada e executa exatamente o que essa outra faria  Quais as diferenças entre uma M.T. e um computador real?  Essencialmente, o armazenamento infinito  Praticamente, instruções mais potentes nos computadores
  • 22.
    www.ime.usp.br/~vwsetzer 22 TÓPICOS ✓ 1.O ser humano é uma máquina? ✓ 2. O que é um computador? O Computador a Papel: um recurso didático ✓ 3. Qual o computador mais simples? A Máquina de Turing 4. História da evolução dos computadores 5. Bibliografia
  • 23.
    www.ime.usp.br/~vwsetzer 23 4. Históriada evolução dos computadores  Ver http://pt.wikipedia.org/wiki/Computador www.computerhistory.org/ www.mansano.com/beaba/hist_comp.htm
  • 24.
    www.ime.usp.br/~vwsetzer 24 4. Históriada evolução dos computadores  Início: talvez pedrinhas para ajudar a contar  Ábaco  Origem babilônica  Palavra semita ❖ Hebraico: abac (poeira), ibeq (remover a poeira), provavelmente por se usar areia ou poeira sobre uma bandeja, em montinhos, para contar
  • 25.
    www.ime.usp.br/~vwsetzer 25 4. Históriada evolução dos computadores (cont.)  Primeiras máquinas de calcular  Leonardo da Vinci (1452-1519) fez um projeto de uma calculadora, suficiente para que hoje se construísse uma
  • 26.
    www.ime.usp.br/~vwsetzer 26 4. Históriada evolução dos computadores (cont.)  Primeiras máquinas de calcular (cont.)  1642: Blaise Pascal (1623-1662) constrói 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 adição e subtração ❖ Introduziu o “vai um” mecânico ❖ Entrada por movimento de engrenagens com marcas dos dígitos
  • 27.
    www.ime.usp.br/~vwsetzer 27 4. Históriada evolução dos computadores (cont.) Primeiras máquinas de calcular (cont.)  1668: Samuel Morland inventa uma máquina de calcular para o sistema monetário inglês, que não era decimal  1671: Gottfried Wilhelm von Leibniz (1646-1716) constrói uma máquina de calcular que ele denominou “reconhecedor de passos” ❖ Fazia também multiplicações por meio de adições repetidas e deslocamentos ❖ Foi defensor do sistema binário ❖ Permitia uso de chaves em lugar de engrenagens ❖ Mas nunca a usou
  • 28.
    www.ime.usp.br/~vwsetzer 28 4. Históriada evolução dos computadores (cont.) Primeiras máquinas de calcular (cont.)  1673: o matemático e astrônomo alemão Wilhelm Schickard constrói uma sob encomenda de Kepler ❖ Chamou de “relógio de cálculo” ❖ Nunca foi usada
  • 29.
    www.ime.usp.br/~vwsetzer 29 4. Históriada evolução dos computadores (cont.)  Fim do séc. XVIII: primeiro projeto de computar tabelas das principais funções (seno, log, etc.). Linha de produção:  6 matemáticos: métodos de cálculo  8-10 computadores para “pontos pivô”, a 5- 10 vezes o intervalo da tabela  100 computadores de baixo nível para os outros pontos  17 volumes computados, mas nunca publicados  Em 1820 o gov. britânico fez proposta para publicação mas nada ocorreu
  • 30.
    www.ime.usp.br/~vwsetzer 30 4. Históriada evolução dos computadores (cont.)  1804-5: Joseph-Marie Jacquard inventa o tear de Jacquard  Controlado por cartões ❖ Cartões controlavam o movimento das navetas, produzindo diferentes padrões ❖ Seqüência de cartões era lida automaticamente ❖ Método de dar instruções à máquina usado até o sec. XX  1812: havia 11.000 deles na França  Com o tear de Jacquard, a programação foi inventada antes dos computadores! Gravura de 1874
  • 31.
    www.ime.usp.br/~vwsetzer 31 4. Históriada evolução dos computadores (cont.) 1820: O francês Charles Xavier Thomas de Colmar construiu o Aritmômetro  Primeira calculadora produzida em massa  Baseada na tecnologia de Leibniz  Adição, subtração, multiplicação e, com ações do usuário, divisão  Ocupava todo o tampo de uma mesa  Foi muito popular, e vendida por 90 anos
  • 32.
    www.ime.usp.br/~vwsetzer 32 4. Históriada evolução dos computadores (cont.)  1822: Charles Babbage (1792-1871) inventa a “Difference Engine” 2 4 6 8 10  6 dígitos  Cálculo de polinômios por meio de somas e subtrações (Cálculo de Diferenças) N N2 +N+41 D1 D2 0 41 1 43 2 2 47 2 3 53 2 4 61 2 5 71
  • 33.
    www.ime.usp.br/~vwsetzer 33 4. Históriada evolução dos computadores (cont.)  1822: Charles Babbage (cont.)  Razão para se usar polinômios ❖ Teorema de Weiestrass (1815-1897): Qualquer intervalo de qualquer função pode ser aproximado por um polinômio ❖ É assim que computadores calculam seno, coseno, log, etc., pois têm precisão fixa (“Aproximações de Tchebitchev”)  Projeto previa polinômios até grau 6 ❖ Construção nunca foi completada
  • 34.
    www.ime.usp.br/~vwsetzer 34 4. Históriada evolução dos computadores (cont.)  1833: Babbage projeta a sua Analytical Engine  Calculava qualquer problema aritmético  No projeto, 60 somas por minuto  Tudo mecânico, energia por vapor  4 partes ❖ Store - hoje unidade central de armazenamento  colunas de engrenagens com 10 dígitos  1000 números de 50 dígitos ❖ Mill - hoje, o processador central (CPU) ❖ Unidade de transferência entre mill e store - hoje, bus ❖ Mecanismos de entrada/saída  Sua colaboradora Ada Lovelace é considerada a primeira programadora
  • 35.
    www.ime.usp.br/~vwsetzer 35 4. Históriada evolução dos computadores (cont.)  1925: início da era moderna dos computadores  Computador analógico no MIT  1939-44: Howard Aiken, Mark I (Automatic Sequence Controlled Calculator) com IBM  Aiken: “o sonho de Babbage tornado realidade”  Máquina eletromecânica, com 3.000 relés  Instruções introduzidas por meio de fita de papel perfurada  4,5 s para multiplicar 2 números de 23 dígitos
  • 36.
    www.ime.usp.br/~vwsetzer 36 4. Históriada evolução dos computadores (cont.)  1943: ENIAC (Electronic Integrator and Calculator), de Presper Eckert e John Mauchly  Na Moore School of Eng., Univ. da Pensilvânia  Primeiro computador realmente eletrônico  Com válvulas (velocidade de chaveamento de 1 seg)  Pronto em 1946  18.000 vávulas, 70.000 resistores, 10.000 capacitores, 6.000 chaves - o sistema eletrônico mais complexo do mundo  30x3x3 m, consumo de 140 kw
  • 37.
    www.ime.usp.br/~vwsetzer 37 4. Históriada evolução dos computadores (cont.)  ENIAC (cont.)  Dispositivo especial para armazenar números  Programa era feito conectando-se painéis furados, com fios (“pegas”), como em centrais telefônicas locais antigas  Motivação: cálculo balístico  1945: EDVAC (Electronic Delay Storage Automatic Calculator)  Algum tempo antes de o ENIAC entrar em funcionamento,  Moore School
  • 38.
    www.ime.usp.br/~vwsetzer 38 4. Históriada evolução dos computadores (cont.)  EDVAC (cont.)  Primeiro computador com programa armazenado ❖ Idéia de John von Neumann (1903-1957) - relatório de 1945 1o. a perceber que os computadores executam funções lógicas, e que os aspectos elétricos eram secundários ❖ Por isso o tipo dos computadores modernos é denominado de Máquina von Neumann  Armazenamento central por linha acústica de atraso  Entrou em operação em maio de 1949  operou até 1962
  • 39.
    www.ime.usp.br/~vwsetzer 39 4. Históriada evolução dos computadores (cont.)  1949: EDSAC (Electronic Delay Storage Automatic Calculator)  Desenvolvido por Wilkes, Univ. de Cambridge, Inglaterra  1a. máquina do mundo a usar programas armazenados  Apresentado em 6/1949  Armazenamento central por linha acústica de atraso  4.000 válvulas Gerador/ Amplific. 1450 m/s
  • 40.
    www.ime.usp.br/~vwsetzer 40 4. Históriada evolução dos computadores (cont.)  1953: IBM 701  Armazenamento por tubos eletrostáticos, e por tambor magnético e fitas magnéticas  19 foram construídos  1957: UNIVAC I (Universal Automatic Computer), da Sperry-Rand, por Eckert e Mauchly  Fornecido para o Depto. do Censo americano  Funcionou até 1963
  • 41.
    www.ime.usp.br/~vwsetzer 41 4. Históriada evolução dos computadores (cont.)  6/1948: na Inglaterra, já havia funcionado um computador  Usava tubos de raios catódicos (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 magnético  1948: é inventado o transistor  por Bardeen, Brattain e Shockley (prêmios Nobel de 1956)
  • 42.
    www.ime.usp.br/~vwsetzer 42 4. Históriada evolução dos computadores (cont.)  Circuito básico: biestável (flip-flop) - pode representar 0 ou 1 Quando a tensão é 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. 0 1 Muda para 1 Muda para 0
  • 43.
    www.ime.usp.br/~vwsetzer 43 4. Históriada evolução dos computadores (cont.)  Armazenamento com núcleos magnéticos  Permitiu “grandes unidades de armazenamento” ❖ 1962 (?): IBM 7090, 1º grande computador, transistorizado, 32.000 “palavras” de 36 bits  Primeira linguagem de “alto nível”: FORTRAN, IBM 1957
  • 44.
    www.ime.usp.br/~vwsetzer 44 4. Históriada evolução dos computadores (cont.) O primeiro computador no Brasil  1961 (?)  PUC-RJ  Burroughs (650?), com tambor magnético  1962 (?): Primeiros computadores transistorizados no Brasil, com núcleos magnéticos  IBM 1401 (4.000 ou 8.000 bytes), comercial  IBM 1620, na USP (20.000 dígitos decimais) ❖ 1º disco magnético (1964): 2 Mb, pilha de discos grandes, removível
  • 45.
    www.ime.usp.br/~vwsetzer 45 TÓPICOS ✓ 1.O ser humano é uma máquina? ✓ 2. O que é um computador? O Computador a Papel: um recurso didático ✓ 3. Qual o computador mais simples? A Máquina de Turing ✓ 4. História da evolução dos computadores 5. Bibliografia
  • 46.
    www.ime.usp.br/~vwsetzer 46 5. Bibliografia Setzer,V.W. e Chaves, E. O Uso de Computadores em Escolas - Fundamentos e Críticas. S. Paulo: Ed. Scipione, 1988. Setzer, V.W. Meios Eletrônicos e Educação: uma visão alternativa. S.Paulo: Ed. Escrituras, 3a. ed. 2005. Setzer, V.W. e Hirata Jr., R. O Dia da Computação (uma introdução rápida ao computador e à computação). Caderno da Revista do Professor de Matemática Vol. 4, No. 1, 1993. Setzer, V.W. Vários 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.
  • 47.
    www.ime.usp.br/~vwsetzer 47 5. Bibliografia(cont.) Goldstine, H.H. The Computer from Pascal to von Neumann. Princeton: Princeton Univ. Press, 1972. Harmon, M. Stretching Man’s 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.
  • 48.
    www.ime.usp.br/~vwsetzer 48 TÓPICOS ✓ 1.O ser humano é uma máquina? ✓ 2. O que é um computador? O Computador a Papel: um recurso didático ✓ 3. Qual o computador mais simples? A Máquina de Turing ✓ 4. História da evolução dos computadores ✓ 5. Bibliografia