Você está na página 1de 33

Histrico e Evoluo dos Computadores

Alcides Calsavara

Referncia Bibliogrfica
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, Nveis e Mquinas Virtuais


Linguagem: conjunto de instrues utilizadas para se construir programas Linguagem de Mquina: linguagem (L0) do computador real Linguagem Abstrata: linguagem (L1) mais adequada para pessoas Traduo: substituio de cada instruo de um programa em L1 por uma seqncia equivalente de instrues em L0, obtendo um novo programa em L0 que pode ser executado no computador real Interpretao: execuo de um programa em L1 por outro programa (interpretador) em L0; o programa em L1 input para o interpretador, que examina cada instruo em L1 e executa uma seqncia equivalente de instrues em L0 Mquina Virtual: mquina (M1) hipottica, cuja linguagem de mquina a linguagem L1 Nvel ou Camada: uma mquina (computador real ou virtual) e a correspondente linguagem, sobre a qual uma nova camada pode ser acrescentada

Mquina Multinvel (Multicamada)


Mquina virtual Mn, com linguagem de mquina Ln
Programa em Ln pode ser interpretado por um interpretador executando em uma mquina mais abaixo, ou traduzido para a linguagem de mquina de uma mquina mais abaixo Programa em L2 pode ser interpretado por interpretadores executando em M1 ou em M0, ou traduzido para L1 ou L0

Mquina virtual M2, com linguagem de mquina L2

Mquina virtual M1, com linguagem de mquina L1

Programa em L1 pode ser interpretado por um interpretador executando em M0, ou traduzido para L0

Computador real M0, com linguagem de mquina L0

Programa em L0 diretamente executado por circuitos eletrnicos

Mquina Multinvel Contempornea


Nvel 5

Nvel de Linguagem Orientada a Problemas


Traduo (compilador)

(BASIC, C, C++, Java, LISP, Prolog, ...) (mnemnicos para as Instrues de mquina)

Nvel 4

Nvel de Linguagem de Montagem (Assembly)


Traduo (montador ou assembler)

Nvel 3

Nvel de Mquina de Sistema Operacional


Interpretao parcial (sistema operacional)

(instrues para permitir concorrncia e uma organizao diferente da memria) (instrues de mquina)

Nvel 2

Nvel de Arquitetura de Conjunto de Instrues


Interpretao (microprograma) ou execuo direta

Nvel 1

Nvel de Microarquitetura
Hardware

(registradores e o circuito ALU Arithmetic Logic Unit) (gates constitudos de transistores e registradores que compem a memria)

Nvel 0

Nvel de Lgica Digital

Inveno da Microprogramao
Os primeiros computadores (anos 40) possuam somente dois nveis: Nvel de Arquitetura de Conjunto de Instrues e o Nvel de Lgica Digital, que era complicado, difcil de entender e construir, e de baixa confiabilidade. Em 1951, Maurice Wilkes (University of Cambridge) sugeriu a introduo de um nvel intermedirio para simplificar o hardware: um interpretador (microprograma) imutvel para executar as instrues especificadas no nvel acima.

Inveno do Sistema Operacional


Por volta de 1960, foi criado um programa sistema operacional que ficaria constantemente em execuo no computador com a funo 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 compilao, entrar os dados para o programa, imprimir os resultados do programa, ... Batch system: execuo seqencial de jobs (um nico usurio por vez no computador) Timesharing system: terminais remotos conectados ao computador central atravs de linhas de telefone (CPU compartilhada entre muitos usurios)

Geraes de Computadores
1. Computadores Mecnicos (1642-1945) 2. Computadores com Tubos a Vcuo ou Vlvulas Eletrnicas (1945-1955) 3. Computadores com Transistores (19551965) 4. Computadores com Circuitos Integrados (1965-1980) 5. Computadores com Integrao em Escala Muito Grande - VLSI (1980-?)

Gerao Pioneira (1642-1945): Computadores Mecnicos


Blaise Pascal (1623-1662, Frana) construiu em 1642 a primeira mquina de calcular, baseada em engrenagens e alavancas, e que permitia fazer adies e subtraes. Baron Gottfried Wilhelm von Leibniz (1646-1716, Alemanha) construiu outra mquina no mesmo estilo, e que permitia tambm fazer multiplicaes e divises.

Gerao Pioneira (1642-1945): Computadores Mecnicos


Charles Babbage (1792-1871, Inglaterra) construiu na Universidade de Cambridge duas mquinas:
Difference Engine: executava sempre o mesmo algoritmo (tratava tabelas de nmeros para fins de navegao naval, aplicando o mtodo de diferenas finitas usando polinmios); a sada era gravada em pratos de cobre e ao. Analytical Engine:
Quatro componentes: store (memria), mill (unidade de computao), input section (leitora de cartes perfurados) e output section (sada impressa e com perfurao); A unidade de computao lia nmeros da memria, fazia clculos (adio, subtrao, multiplicao e diviso) e podia retornar o resultado para a memria. Mquina de propsito geral: lia instrues (de tratamento aritmtico e de desvio condicional) atravs de cartes perfurados e as executava. Primeira pessoa a escrever programas: Ada Augusta Lovelace

Gerao Pioneira (1642-1945): Computadores Mecnicos


Konrad Zuse (Alemanha) construiu durante a dcada de 1930 uma srie de mquinas de calcular baseadas em relays eletromagnticos, mas a Segunda Guerra Mundial impediu o seu avano e ainda causou a sua destruio. John Atanasoff (Estados Unidos da Amrica, Iowa State University) e George Stibbitz (Estados Unidos da Amrica, Bell Labs) construram no final da dcada de 1930 calculadoras que j usavam aritmtica binria e possuam memria baseada em capacitores. Howard Aiken (Estados Unidos da Amrica, Harvard University) construiu em 1944 uma mquina de propsito geral chamada Mark I, baseada no trabalho de Babbage, mas que usava relays eletromagnticos no lugar de engrenagens.

Primeira Gerao (1945-1955): Computadores com Tubos a Vcuo


Governo Britnico construiu em 1943 o primeiro computador digital eletrnico, o COLOSSUS, para fins de decodificar as mensagens trocadas pelos alemes durante a Segunda Guerra Mundial, que eram criptografadas por uma mquina chamada ENIGMA.
O projeto foi mantido em segredo por 30 anos, por isso, no houve evoluo. Alan Turing participou do projeto.

John Mauchley e J. Presper Eckert (Estados Unidos da Amrica) construram em 1946 para fins militares um computador eletrnico chamado ENIAC (Electronic Numerical Integrator and Computer):
18.000 tubos a vcuo 1.500 relays 30 toneladas 140 kilowats 20 registradores de nmeros decimais de 10 dgitos Programao feita atravs de 6.000 switches e de milhares de jumpers (cabos de conexo) John von Neumann participou do projeto.

Primeira Gerao (1945-1955): Computadores com Tubos a Vcuo


Vrios computadores surgiram na seqncia:
JOHNIAC: Rand Corporation ILLIAC: Universidade de Illinois MANIAC: Laboratrio de Los Alamos WEIZAC: Instituto Weizmann, Israel EDSAC (1949): Universidade de Cambridge; foi o primeiro a armazenar programas em memria.

Primeira Gerao (1945-1955): Computadores com Tubos a Vcuo


John von Neumann (Estados Unidos da Amrica, Instituto de Estudos Avanados de Princeton) construiu em 1952 o computador IAS:
Programas e dados representados de forma digital em memria Processamento baseado em aritmtica binria, ao invs de decimal

Mquina de von Neumann


Memria

Unidade de Controle

Unidade Aritmtica Lgica Acumulador

Input Output

Memria: 4096 palavras de 40 bits (2 instrues de 20 bits ou um inteiro) Instruo: 8 bits para indicar o tipo, 12 tipos para enderear a memria Acumulador: registrador especial de 40 bits

Primeira Gerao (1945-1955): Computadores com Tubos a Vcuo


IBM comeou a construir computadores:
1953: IBM 701
2048 palavras de 36 bits Duas instrues por palavra Mquina para aplicaes cientficas (numricas)

1956: IBM 704


4K de memria Instrues de 36 bits Hardware para floating-point (nmeros reais)

1958: IBM 709

Segunda Gerao (1955-1965): Computadores com Transistores


Inveno 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. Memria: 4K palavras de 18 bits Ciclo: 5 microsegundos Primeiro computador com display visual: tela de 512x512 pontos Preo: US$120,000 Unidades vendidas: algumas dezenas Nascimento da indstria de minicomputadores

Segunda Gerao (1955-1965): Computadores com Transistores


PDP-8
DEC, 1965 Preo: US$16,000 Unidades vendidas: 50.000 Mquina de 12 bits Barramento nico: omnibus (FIGURA) IBM (Industry of Business Machine) Verso transistorizada do IBM 709 1962, IBM Memria: 32K palavras de 36 bits Ciclo: 2 microsegundos 1961, IBM Memria: 4K bytes Mquina orientada a negcios:
Fitas magnticas (leitura e escrita) Cartes (leitura e perfurao) Impresso relativamente rpida e barata

7090

7094

1401

Barramento nico do PDP-8 - omnibus console terminal paper tape I/O

CPU

memory

other I/O

Omnibus

Segunda Gerao (1955-1965): Computadores com Transistores


6600
1964, CDC (Control Data Corporation) Projetista: Seymour Cray Alto grau de paralelismo dentro da CPU:
Vrias unidades para adio, multiplicao e diviso trabalhando simultaneamente Muito mais rpido que o 7094 !

Pequenos computadores auxiliares para tratamento de entrada e sada Sucessores: 7600, Cray-1

B5000
Burroughs Projeto orientado para a execuo de programas em Algol-60, linguagem precursora do Pascal Maior prioridade para o software Menor prioridade para velocidade de processamento e preo

Terceira Gerao (1965-1980):


Computadores com Circuitos Integrados Inveno do circuito integrado de silcio
1958, Robert Noyce Dezenas de transistores em um nico chip Possibilitou construir computadores menores, mais rpidos e mais baratos

Terceira Gerao (1965-1980):


Computadores com Circuitos Integrados
System/360
IBM, 1965 Famlia de computadores, com diferentes capacidades de processamento e armazenamento: modelos 30, 40, 50 e 65 (tabela) Visava substituir o 1401 (comercial) e o 7094 (cientfico) ao mesmo tempo Permitia multiprogramao: vrios programas em memria em execuo simultnea (quando um aguardava uma operao de entrada ou sada se completar, outro podia executar) Emulava outros computadores (1401, 7094), devido sua capacidade de microprogramao Endereamento mximo: 16 megabytes (24 bits)

PDP-11
DEC, 1970 Sucessor de 16 bits do PDP-8 Grande sucesso, especialmente nas universidades

Famlia IBM System/360


Propriedade Modelo 30 1 1000 64 1 3 Modelo 40 3,5 625 256 2 3 Modelo 50 10 500 256 4 4 Modelo 65 21 250 512 16 6 Desempenho relativo Ciclo (nsec) Memria (KB) Bytes lidos por ciclo Canais para dados

Quarta Gerao (1980-?):


Computadores com Integrao em Escala Muito Grande Very Large Scale Integration (VLSI)

Dcada de 80: grande compactao dos circuitos integrados


Dezenas de milhares, depois centenas de milhares e finalmente milhes de transistores em um chip Desempenho aumentou muito Preos caram muito Computadores deixaram de ser privilgio de grandes corporaes Incio da era do computador pessoal

Primeiros computadores pessoais


Vendidos em kits para o prprio consumidor montar
Placa de circuito impresso Conjunto de chips (tipicamente Intel 8080) Alguns cabos Fonte de alimentao Floppy disk de 8 polegadas

Software no era fornecido:


o consumidor tinha que escrever seu prprio 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 domstico e em escolas

Primeiros computadores pessoais


IBM Personal Computer
IBM, 1981 Intel 8088 Projeto de circuitos pblico:
Objetivo: permitir que outros fabricassem componentes facilmente acoplveis ao PC (plug-in boards) Conseqncia: indstria de clones

Sistema operacional:
Inicialmente, MS-DOS (criao da Microsoft) Mais tarde, com CPUs mais poderosas, OS/2, que possui interface grfica semelhante ao Apple Macintosh Mais tarde ainda, MS-Windows

Lei de Moore
Gordon Moore, 1965, Intel Nmero de transistores em um chip dobra a cada 18 meses. Figura 1.8, pgina 25 Crculo Virtuoso:
Avano tecnolgico propicia melhores produtos a preos mais baixos. Preos mais baixos induz ao surgimento de novas aplicaes (exemplo, video games) Novas aplicaes aumentam as possibilidades de mercado e fazem surgir novas empresas. Novas empresas leva a competio, criando demanda econmica para o avano tecnolgico.

Lei de Nathan
Nathan Myhrvold, Microsoft Software como gs: expande at preencher todo o container. Exemplo: editores de texto
Troff (dcada de 80) ocupava alguns milhares de kilobytes de memria Editores atuais ocupam dezenas de megabytes

Categorias de computadores
Tipo Descartvel Embutido Game Computadores pessoais Servidores Coleo de workstations Mainframe Supercomputador Preo ($) Exemplos de aplicao 1 Cartes de mensagens 10 Relgios, carros, equipamentos 100 Vdeo games 1K Desktops e portteis 10K Servidores de rede 100K Minisupercomputador departamental 1M Processamento batch em bancos 10M Previso de tempo, prospeco de petrleo

Intel
1968: Fundao
Robert Noyce ( inventor do circuito integrado de silcio ) Gordon Moore ( Moores law ) Arthur Rock ( investidor )

Tabela de processadores (prximo slide) Figura 1-11, pgina 32

Intel
Chip 4004 8008 8080 8086 8088 80286 80386 80486 Pentium Pentium Pro Pentium II Data 4/1971 4/1972 4/1974 6/1978 6/1979 2/1982 10/1985 4/1989 3/1993 3/1995 5/1997 MHz 0,108 0,108 2 5-10 5-8 8-12 16-33 25-100 60-233 150-200 233-400 Transistores 2.300 3.500 6.000 29.000 29.000 134.000 275.000 1,2M 3,1M 5,5M 7,5M Memria 640 16 KB 64 KB 1 MB 1 MB 16 MB 4 GB 4 GB 4 GB 4 GB 4 GB Nota Primeiro microprocessador em um nico chip Primeiro microprocessador de 8 bits Primeira CPU de propsito geral em um chip Primeira CPU de 16 bits em um chip Usado no IBM PC Esquema de proteo de memria Primeira CPU de 32 bits Cache interno de 8K 2 pipelines; MMX Cache interno em dois nveis Pentium Pro com MMX

SUN
SUN: Stanford University Network) 1981, Andy Bechtolsheim, alemo, estudante de graduao de Stanford, montou seu prprio 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 Mquina de 32 bits

1995: UltraSPARC I
Mquina de 64 bits Orientada a multimdia VIS: Visual Instruction Set

JVM
JVM: Java Virtual Machine SUN Portabilidade: independente de CPU Problema: desempenho CPU especfica:
picoJava II (somente uma definio) SUN microJava 701 (uma concretizao do picoJava II)