Скачать презентацию Histórico e Evolução dos Computadores Alcides Calsavara Скачать презентацию Histórico e Evolução dos Computadores Alcides Calsavara

5f3222ccea7cfb2ae5cac18e126c6b33.ppt

  • Количество слайдов: 33

Histórico e Evolução dos Computadores Alcides Calsavara 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 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 e Máquinas Virtuais • Linguagem: conjunto de instruções utilizadas para se construir Linguagens, Níveis e Máquinas Virtuais • Linguagem: conjunto de instruções utilizadas para se construir programas • Linguagem de Máquina: linguagem (L 0) do computador real • Linguagem Abstrata: linguagem (L 1) mais adequada para pessoas • Tradução: substituição de cada instrução de um programa em L 1 por uma seqüência equivalente de instruções em L 0, obtendo um novo programa em L 0 que pode ser executado no computador real • Interpretação: execução de um programa em L 1 por outro programa (interpretador) em L 0; o programa em L 1 é input para o interpretador, que examina cada instrução em L 1 e executa uma seqüência equivalente de instruções em L 0 • Máquina Virtual: máquina (M 1) hipotética, cuja linguagem de máquina é a linguagem L 1 • 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) Máquina virtual Mn, com linguagem de máquina Ln Programa em Ln Máquina Multinível (Multicamada) Máquina virtual Mn, com linguagem de máquina Ln Programa em Ln pode ser interpretado por um interpretador executando em uma máquina mais abaixo, ou traduzido para a linguagem de máquina de uma máquina mais abaixo Máquina virtual M 2, com linguagem de máquina L 2 Programa em L 2 pode ser interpretado por interpretadores executando em M 1 ou em M 0, ou traduzido para L 1 ou L 0 Máquina virtual M 1, com linguagem de máquina L 1 Programa em L 1 pode ser interpretado por um interpretador executando em M 0, ou traduzido para L 0 Computador real M 0, com linguagem de máquina L 0 Programa em L 0 é diretamente executado por circuitos eletrônicos

Máquina Multinível Contemporânea Nível 5 (BASIC, C, C++, Java, LISP, Prolog, . . . Máquina Multinível Contemporânea Nível 5 (BASIC, C, C++, Java, LISP, Prolog, . . . ) Nível de Linguagem Orientada a Problemas Tradução (compilador) Nível 4 Nível de Linguagem de Montagem (Assembly) Tradução (montador ou assembler) Nível 3 Nível de Máquina de Sistema Operacional Interpretação parcial (sistema operacional) Nível 2 (mnemônicos para as Instruções de máquina) (instruções para permitir concorrência e uma organização diferente da memória) Nível de Arquitetura de Conjunto de Instruções (instruções de máquina) Interpretação (microprograma) ou execução direta Nível 1 Nível de Microarquitetura Hardware Nível 0 Nível de Lógica Digital (registradores e o circuito ALU – Arithmetic Logic Unit) (gates – constituídos de transistores – e registradores – que compõem a memória)

Invenção da Microprogramação • Os primeiros computadores (anos 40) possuíam somente dois níveis: Nível 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 – 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 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 (19551965) 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 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 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 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 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 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 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 de Controle Unidade Aritmética Lógica Acumulador Input Output Máquina de von Neumann Memória Unidade de Controle Unidade Aritmética Lógica Acumulador Input 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ória Acumulador: registrador especial de 40 bits

Primeira Geração (1945 -1955): Computadores com Tubos a Vácuo • IBM começou a construir 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 • 4 K 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 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 e. Xperimental 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: 4 K palavras de 18 bits Ciclo: 5 microsegundos Primeiro computador com display visual: tela de 512 x 512 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, 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: 32 K palavras de 36 bits – Ciclo: 2 microsegundos • 1401 – 1961, IBM – Memória: 4 K 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 memory console terminal paper tape I/O other Barramento único do PDP-8 - omnibus CPU memory console terminal paper tape I/O other I/O Omnibus

Segunda Geração (1955 -1965): Computadores com Transistores • 6600 – 1964, CDC (Control Data 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 • B 5000 – 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 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 – 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 Desempenho relativo Modelo 30 Modelo 40 Modelo 50 Modelo 65 Família IBM System/360 Propriedade Desempenho relativo Modelo 30 Modelo 40 Modelo 50 Modelo 65 1 3, 5 10 21 1000 625 500 250 64 256 512 Bytes lidos por ciclo 1 2 4 16 Canais para dados 3 3 4 6 Ciclo (nsec) Memória (KB)

Quarta Geração (1980 -? ): Computadores com Integração em Escala Muito Grande – Very 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 – – 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 – 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 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é 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 Descartável Embutido Game Computadores pessoais Servidores Coleção de workstations Mainframe Categorias de computadores Tipo Descartável Embutido Game Computadores pessoais Servidores Coleção de workstations Mainframe Supercomputador Preço ($) Exemplos de aplicação 1 Cartões de mensagens 10 Relógios, carros, equipamentos 100 Vídeo games 1 K Desktops e portáteis 10 K Servidores de rede 100 K Minisupercomputador departamental 1 M Processamento batch em bancos 10 M Previsão de tempo, prospecção de petróleo

Intel • 1968: Fundação • Robert Noyce ( inventor do circuito integrado de silício 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

Intel Chip Data MHz Transistores Memória Nota 4004 4/1971 0, 108 2. 300 640 Intel Chip 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 80386 10/1985 16 -33 275. 000 4 GB Primeira CPU de 32 bits 80486 4/1989 25 -100 1, 2 M 4 GB Cache interno de 8 K Pentium 3/1993 60 -233 3, 1 M 4 GB 2 pipelines; MMX Pentium Pro 3/1995 150 -200 5, 5 M 4 GB Cache interno em dois níveis Pentium II 5/1997 233 -400 7, 5 M 4 GB Pentium Pro com MMX Esquema de proteção de memória

SUN • SUN: Stanford University Network) • 1981, Andy Bechtolsheim, alemão, estudante de graduação 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: Ultra. SPARC 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: JVM • • • JVM: Java Virtual Machine SUN Portabilidade: independente de CPU Problema: desempenho CPU específica: – pico. Java II (somente uma definição) – SUN micro. Java 701 (uma concretização do pico. Java II)