Historico Evo Luca o Comput Adores
description
Transcript of Historico Evo Luca o Comput Adores
Histórico e Evoluçãodos Computadores
Alcides Calsavara
Referência Bibliográfica
Structured Computer Organization, Fourth Edition. Andrew S. Tanenbaum. Prentice Hall, 1999. ISBN 0-13-095990-1.
History of Computing Information:
http://ftp.arl.army.mil/~mike/comphist/
Linguagens, Níveis eMáquinas Virtuais
• Linguagem: conjunto de instruções utilizadas para se construir programas
• Linguagem de Máquina: linguagem (L0) do computador real• Linguagem Abstrata: linguagem (L1) mais adequada para
pessoas• Tradução: substituição de cada instrução de um programa em L1
por uma seqüência equivalente de instruções em L0, obtendo um novo programa em L0 que pode ser executado no computador real
• Interpretação: execução de um programa em L1 por outro programa (interpretador) em L0; o programa em L1 é input para o interpretador, que examina cada instrução em L1 e executa uma seqüência equivalente de instruções em L0
• Máquina Virtual: máquina (M1) hipotética, cuja linguagem de máquina é a linguagem L1
• Nível ou Camada: uma máquina (computador real ou virtual) e a correspondente linguagem, sobre a qual uma nova camada pode ser acrescentada
Máquina Multinível (Multicamada)
Computador real M0, com linguagem de máquina L0
Máquina virtual M1, com linguagem de máquina L1
Máquina virtual M2, com linguagem de máquina L2
Máquina virtual Mn, com linguagem de máquina Ln
Programa em L0 é diretamenteexecutado por circuitos eletrônicos
Programa em L1 pode serinterpretado por um interpretadorexecutando em M0,ou traduzido para L0
Programa em L2 pode serinterpretado por interpretadoresexecutando em M1 ou em M0,ou traduzido para L1 ou L0
Programa em Ln pode serinterpretado por um interpretadorexecutando em uma máquinamais abaixo, ou traduzido para alinguagem de máquina de umamáquina mais abaixo
Máquina Multinível Contemporânea
Nível de Lógica Digital
Nível de Microarquitetura
Nível de Arquitetura de Conjunto de Instruções
Nível de Máquina de Sistema Operacional
Nível de Linguagem de Montagem (Assembly)
Nível de Linguagem Orientada a Problemas
Nível 0
Nível 1
Nível 2
Nível 3
Nível 4
Nível 5
Tradução (compilador)
Tradução (montador ou assembler)
Interpretação parcial (sistema operacional)
Interpretação (microprograma) ou execução direta
Hardware
(gates – constituídos de transistores –e registradores – que compõem a memória)
(registradores e o circuito ALU – Arithmetic Logic Unit)
(instruções de máquina)
(instruções para permitirconcorrência e uma organizaçãodiferente da memória)
(mnemônicos para asInstruções de máquina)
(BASIC, C, C++, Java,LISP, Prolog, ...)
Invenção da Microprogramação
• Os primeiros computadores (anos 40) possuíam somente dois níveis: Nível de Arquitetura de Conjunto de Instruções e o Nível de Lógica Digital, que era complicado, difícil de entender e construir, e de baixa confiabilidade.
• Em 1951, Maurice Wilkes (University of Cambridge) sugeriu a introdução de um nível intermediário para simplificar o hardware: um interpretador (microprograma) imutável para executar as instruções especificadas no nível acima.
Invenção do Sistema Operacional
• Por volta de 1960, foi criado um programa – sistema operacional – que ficaria constantemente em execução no computador com a função de automatizar o trabalho do operador do computador: iniciar um novo job, carregar o compilador de FORTRAN, carregar o programa a ser compilado, executar o programa resultante da compilação, entrar os dados para o programa, imprimir os resultados do programa, ...
• Batch system: execução seqüencial de jobs (um único “usuário” por vez no computador)
• Timesharing system: terminais remotos conectados ao computador central através de linhas de telefone (CPU compartilhada entre muitos usuários)
Gerações de Computadores
1. Computadores Mecânicos (1642-1945)2. Computadores com Tubos a Vácuo ou
Válvulas Eletrônicas (1945-1955)3. Computadores com Transistores (1955-
1965)4. Computadores com Circuitos Integrados
(1965-1980)5. Computadores com Integração em
Escala Muito Grande - VLSI (1980-?)
Geração Pioneira (1642-1945):Computadores Mecânicos
• Blaise Pascal (1623-1662, França) construiu em 1642 a primeira máquina de calcular, baseada em engrenagens e alavancas, e que permitia fazer adições e subtrações.
• Baron Gottfried Wilhelm von Leibniz (1646-1716, Alemanha) construiu outra máquina no mesmo estilo, e que permitia também fazer multiplicações e divisões.
Geração Pioneira (1642-1945):Computadores Mecânicos
• Charles Babbage (1792-1871, Inglaterra) construiu na Universidade de Cambridge duas máquinas:– Difference Engine: executava sempre o mesmo algoritmo
(tratava tabelas de números para fins de navegação naval, aplicando o método de diferenças finitas usando polinômios); a saída era gravada em pratos de cobre e aço.
– Analytical Engine:• Quatro componentes: store (memória), mill (unidade de
computação), input section (leitora de cartões perfurados) e output section (saída impressa e com perfuração);
• A unidade de computação lia números da memória, fazia cálculos (adição, subtração, multiplicação e divisão) e podia retornar o resultado para a memória.
• Máquina de propósito geral: lia instruções (de tratamento aritmético e de desvio condicional) através de cartões perfurados e as executava.
• Primeira pessoa a escrever programas: Ada Augusta Lovelace
Geração Pioneira (1642-1945):Computadores Mecânicos
• Konrad Zuse (Alemanha) construiu durante a década de 1930 uma série de máquinas de calcular baseadas em relays eletromagnéticos, mas a Segunda Guerra Mundial impediu o seu avanço e ainda causou a sua destruição.
• John Atanasoff (Estados Unidos da América, Iowa State University) e George Stibbitz (Estados Unidos da América, Bell Labs) construíram no final da década de 1930 calculadoras que já usavam aritmética binária e possuíam memória baseada em capacitores.
• Howard Aiken (Estados Unidos da América, Harvard University) construiu em 1944 uma máquina de propósito geral chamada Mark I, baseada no trabalho de Babbage, mas que usava relays eletromagnéticos no lugar de engrenagens.
Primeira Geração (1945-1955):Computadores com Tubos a Vácuo• Governo Britânico construiu em 1943 o primeiro computador digital
eletrônico, o COLOSSUS, para fins de decodificar as mensagens trocadas pelos alemães durante a Segunda Guerra Mundial, que eram criptografadas por uma máquina chamada ENIGMA.– O projeto foi mantido em segredo por 30 anos, por isso, não houve
evolução.– Alan Turing participou do projeto.
• John Mauchley e J. Presper Eckert (Estados Unidos da América) construíram em 1946 para fins militares um computador eletrônico chamado ENIAC (Electronic Numerical Integrator and Computer):– 18.000 tubos a vácuo– 1.500 relays– 30 toneladas– 140 kilowats– 20 registradores de números decimais de 10 dígitos– Programação feita através de 6.000 switches e de milhares de jumpers
(cabos de conexão)– John von Neumann participou do projeto.
Primeira Geração (1945-1955):Computadores com Tubos a Vácuo• Vários computadores surgiram na
seqüência:– JOHNIAC: Rand Corporation– ILLIAC: Universidade de Illinois– MANIAC: Laboratório de Los Alamos– WEIZAC: Instituto Weizmann, Israel– EDSAC (1949): Universidade de Cambridge;
foi o primeiro a armazenar programas em memória.
Primeira Geração (1945-1955):Computadores com Tubos a Vácuo• John von Neumann (Estados Unidos da
América, Instituto de Estudos Avançados de Princeton) construiu em 1952 o computador IAS:– Programas e dados representados de forma
digital em memória– Processamento baseado em aritmética
binária, ao invés de decimal
Máquina de von Neumann
Memória
Unidade deControle
Unidade Aritmética Lógica
AcumuladorInput
Output
Memória: 4096 palavras de 40 bits (2 instruções de 20 bits ou um inteiro)Instrução: 8 bits para indicar o tipo, 12 tipos para endereçar a memóriaAcumulador: registrador especial de 40 bits
Primeira Geração (1945-1955):Computadores com Tubos a Vácuo• IBM começou a construir computadores:
– 1953: IBM 701• 2048 palavras de 36 bits• Duas instruções por palavra• Máquina para aplicações científicas (numéricas)
– 1956: IBM 704• 4K de memória• Instruções de 36 bits• Hardware para floating-point (números reais)
– 1958: IBM 709
Segunda Geração (1955-1965):Computadores com Transistores
• Invenção do transistor– 1948, Bell Labs, EUA– John Bardeen, Walter Brattain e William Shockley
• TX-0 (Transistorized eXperimental computer 0)– M.I.T., Lincoln Laboratory– Primeiro computador com transistor
• PDP-1– 1961, DEC (Digital Equipment Corporation)– Primeiro computador comercializado– Kenneth Olsen (participante do projeto do TX-2) fundou a DEC em 1957.– Memória: 4K palavras de 18 bits– Ciclo: 5 microsegundos– Primeiro computador com display visual: tela de 512x512 pontos– Preço: US$120,000– Unidades vendidas: algumas dezenas– Nascimento da indústria de minicomputadores
Segunda Geração (1955-1965):Computadores com Transistores
• PDP-8– DEC, 1965– Preço: US$16,000– Unidades vendidas: 50.000– Máquina de 12 bits– Barramento único: omnibus (FIGURA)
• 7090– IBM (Industry of Business Machine)– Versão transistorizada do IBM 709
• 7094– 1962, IBM– Memória: 32K palavras de 36 bits– Ciclo: 2 microsegundos
• 1401– 1961, IBM– Memória: 4K bytes– Máquina orientada a negócios:
• Fitas magnéticas (leitura e escrita)• Cartões (leitura e perfuração)• Impressão relativamente rápida e barata
Barramento único do PDP-8- omnibus -
CPU memoryconsoleterminal
papertape I/O other I/O
Omnibus
Segunda Geração (1955-1965):Computadores com Transistores
• 6600– 1964, CDC (Control Data Corporation)– Projetista: Seymour Cray– Alto grau de paralelismo dentro da CPU:
• Várias unidades para adição, multiplicação e divisão trabalhando simultaneamente
• Muito mais rápido que o 7094 !– Pequenos computadores auxiliares para tratamento de entrada
e saída– Sucessores: 7600, Cray-1
• B5000– Burroughs– Projeto orientado para a execução de programas em Algol-60,
linguagem precursora do Pascal– Maior prioridade para o software– Menor prioridade para velocidade de processamento e preço
Terceira Geração (1965-1980):Computadores com Circuitos Integrados
• Invenção do circuito integrado de silício– 1958, Robert Noyce– Dezenas de transistores em um único chip– Possibilitou construir computadores menores,
mais rápidos e mais baratos
Terceira Geração (1965-1980):Computadores com Circuitos Integrados
• System/360– IBM, 1965– Família de computadores, com diferentes capacidades de
processamento e armazenamento: modelos 30, 40, 50 e 65 (tabela)
– Visava substituir o 1401 (comercial) e o 7094 (científico) ao mesmo tempo
– Permitia multiprogramação: vários programas em memória em execução simultânea (quando um aguardava uma operação de entrada ou saída se completar, outro podia executar)
– Emulava outros computadores (1401, 7094), devido à sua capacidade de microprogramação
– Endereçamento máximo: 16 megabytes (24 bits)• PDP-11
– DEC, 1970– Sucessor de 16 bits do PDP-8– Grande sucesso, especialmente nas universidades
Família IBM System/360
Propriedade Modelo 30 Modelo 40 Modelo 50 Modelo 65
Desempenho relativo
1 3,5 10 21
Ciclo (nsec) 1000 625 500 250
Memória (KB)
64 256 256 512
Bytes lidos por ciclo
1 2 4 16
Canais para dados
3 3 4 6
Quarta Geração (1980-?):Computadores com Integração em Escala Muito Grande –
Very Large Scale Integration (VLSI)
• Década de 80: grande compactação dos circuitos integrados– Dezenas de milhares, depois centenas de
milhares e finalmente milhões de transistores em um chip
– Desempenho aumentou muito– Preços caíram muito– Computadores deixaram de ser privilégio de
grandes corporações– Início da era do computador pessoal
Primeiros computadores pessoais
• Vendidos em kits para o próprio consumidor montar– Placa de circuito impresso– Conjunto de chips (tipicamente Intel 8080)– Alguns cabos– Fonte de alimentação– Floppy disk de 8 polegadas
• Software não era fornecido:– o consumidor tinha que escrever seu próprio software
• Sistema operacional CP/M– Gary Kildall– Processadores Intel 8080– Floppy disk operating system– Sistema de arquivos– Comandos por teclado
• Apple, Apple II– Steve Jobs e Steve Wozniak– Muito popular para uso doméstico e em escolas
Primeiros computadores pessoais
• IBM Personal Computer– IBM, 1981– Intel 8088– Projeto de circuitos público:
• Objetivo: permitir que outros fabricassem componentes facilmente acopláveis ao PC (plug-in boards)
• Conseqüência: indústria de clones
– Sistema operacional:• Inicialmente, MS-DOS (criação da Microsoft)• Mais tarde, com CPUs mais poderosas, OS/2, que possui
interface gráfica semelhante ao Apple Macintosh• Mais tarde ainda, MS-Windows
Lei de Moore
• Gordon Moore, 1965, Intel• Número de transistores em um chip dobra a cada 18
meses.• Figura 1.8, página 25• Círculo Virtuoso:
– Avanço tecnológico propicia melhores produtos a preços mais baixos.
– Preços mais baixos induz ao surgimento de novas aplicações (exemplo, video games)
– Novas aplicações aumentam as possibilidades de mercado e fazem surgir novas empresas.
– Novas empresas leva a competição, criando demanda econômica para o avanço tecnológico.
Lei de Nathan
• Nathan Myhrvold, Microsoft
• “Software é como gás: expande até preencher todo o container.”
• Exemplo: editores de texto– Troff (década de 80) ocupava alguns milhares
de kilobytes de memória– Editores atuais ocupam dezenas de
megabytes
Categorias de computadores
Tipo Preço ($) Exemplos de aplicação
Descartável 1 Cartões de mensagens
Embutido 10 Relógios, carros, equipamentos
Game 100 Vídeo games
Computadores pessoais
1K Desktops e portáteis
Servidores 10K Servidores de rede
Coleção de workstations
100K Minisupercomputador departamental
Mainframe 1M Processamento batch em bancos
Supercomputador 10M Previsão de tempo, prospecção de petróleo
Intel
• 1968: Fundação• Robert Noyce ( inventor do circuito integrado de
silício )• Gordon Moore ( Moore’s law )• Arthur Rock ( investidor )
• Tabela de processadores (próximo slide)
• Figura 1-11, página 32
IntelChip Data MHz Transistores Memória Nota
4004 4/1971 0,108 2.300 640 Primeiro microprocessador em um único chip
8008 4/1972 0,108 3.500 16 KB Primeiro microprocessador de 8 bits
8080 4/1974 2 6.000 64 KB Primeira CPU de propósito geral em um chip
8086 6/1978 5-10 29.000 1 MB Primeira CPU de 16 bits em um chip
8088 6/1979 5-8 29.000 1 MB Usado no IBM PC
80286 2/1982 8-12 134.000 16 MB Esquema de proteção de memória
80386 10/1985 16-33 275.000 4 GB Primeira CPU de 32 bits
80486 4/1989 25-100 1,2M 4 GB Cache interno de 8K
Pentium 3/1993 60-233 3,1M 4 GB 2 pipelines; MMX
Pentium Pro 3/1995 150-200 5,5M 4 GB Cache interno em dois níveis
Pentium II 5/1997 233-400 7,5M 4 GB Pentium Pro com MMX
SUN
• SUN: Stanford University Network)• 1981, Andy Bechtolsheim, alemão, estudante de
graduação de Stanford, montou seu próprio computador (SUN-1) para executar Unix, usando CPU Motorola 68020.– “workstation”: Ethernet e TCP/IP para conectar a ARPANET
(precursora da Internet)• 1987: SPARC (Scalable Processor ARChitecture)
– RISC: Reduced Instruction Set– Máquina de 32 bits
• 1995: UltraSPARC I– Máquina de 64 bits– Orientada a multimídia– VIS: Visual Instruction Set
JVM
• JVM: Java Virtual Machine
• SUN
• Portabilidade: independente de CPU
• Problema: desempenho
• CPU específica:– picoJava II (somente uma definição)– SUN microJava 701 (uma concretização do
picoJava II)