histórico e evolução dos computadores alcides calsavara

33
Histórico e Evolução dos Computadores Alcides Calsavara

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Histórico e Evolução dos Computadores Alcides Calsavara

Histórico e Evoluçãodos Computadores

Alcides Calsavara

Page 2: Histórico e Evolução dos 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/

Page 3: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 4: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 5: Histórico e Evolução dos Computadores Alcides Calsavara

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, ...)

Page 6: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 7: Histórico e Evolução dos Computadores Alcides Calsavara

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)

Page 8: Histórico e Evolução dos Computadores Alcides Calsavara

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-?)

Page 9: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 10: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 11: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 12: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 13: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 14: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 15: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 16: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 17: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 18: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 19: Histórico e Evolução dos Computadores Alcides Calsavara

Barramento único do PDP-8- omnibus -

CPU memoryconsoleterminal

papertape I/O other I/O

Omnibus

Page 20: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 21: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 22: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 23: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 24: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 25: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 26: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 27: Histórico e Evolução dos Computadores Alcides Calsavara

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.

Page 28: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 29: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 30: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 31: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 32: Histórico e Evolução dos Computadores Alcides Calsavara

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

Page 33: Histórico e Evolução dos Computadores Alcides Calsavara

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)