LABORATÓRIO DE INFORMÁTICA História da Computação
Agenda 2 Áreas da Computação História da Computação
Informática 3 Informática: informação automática, tratamento da informação de modo automático Informação, comunicação Área inicialmente conhecida como Ciência da Computação Situa-se na interseção de quatro áreas de conhecimento: Ciência da Computação Ciência da Informação Teoria de Sistemas Cibernética
Ciência da Computação 4 A computação é o estudo sistemático de processos algorítmicos que descrevem e transformam informação: sua teoria, análise, projeto, eficiência, implementação e aplicação [Comer et al. 1989]
Áreas da Ciência da Computação 5 1. Algoritmos e Estruturas de Dados 2. Linguagens de Programação 3. Arquitetura de Computadores 4. Computação Numérica e Simbólica 5. Sistemas Operacionais 6. Metodologia e Engenharia de Software 7. Sistemas de Banco de Dados e Recuperação de Informação 8. Inteligência Artificial e Robótica 9. Interação Humano-Computador
Algoritmos e Estruturas de Dados 6 Lida com classes específicas de problemas e com soluções eficientes para os mesmos: quais estruturas de representação de dados e algoritmos de manipulacao de dados sao mais eficientes? Principais aspectos relacionados: Computabilidade Complexidade computacional Limites de tempo e armazenamento de algoritmos Tratabilidade de problemas Relacao entre modelagem e implementação Métodos heurísticos Criptografia, grafos, funções recursivas, etc.
Linguagem de Programação 7 Preocupa-se com notações para máquinas virtuais que executam algoritmos, com notações para algoritmos e dados, e com a tradução eficiente de linguagens de alto-nível para código de máquina. Principais aspectos relacionados Análise e tradução de linguagens Procedimentos, funções e computação simbólica Semântica formal Lógica, álgebra e indução matemática.
Arquitetura de Computadores 8 Lida com métodos para organizar o hardware e seu software em sistemas eficientes e confiáveis Principais aspectos relacionados: Álgebra Booleana Dispositivos eletrônicos Representação de estados de uma máquina Matemática discreta Aritmética em diferentes sistemas numéricos.
Computação Numérica e Simbólica 9 Lida com métodos gerais para resolver com eficiência e acuracidade equações provenientes da modelagem matemática de sistemas. Preocupa-se com a representação, aproximação e manipulação de números e símbolos, de forma eficaz e eficiente Principais conceitos relacionados: Teoria dos Números Álgebra Linear Análise Numérica Cálculo, etc
Sistemas Operacionais 10 Preocupa-se com mecanismo de controle que permitem que múltiplos recursos sejam coordenados com eficiência para a execução de programas Principais aspectos relacionados: Sincronização e cooperação entre tarefas computacionais. Ordem de execução entre tarefas computacionais. Modelagem e análise de desempenho Políticas para gerenciamento de armazenamento de dados.
Metodologia e Engenharia de Software 11 Preocupa-se com o projeto de programas e grandes sistemas de software de acordo com as respectivas especificações para que elas sejam seguras, confiáveis e fiéis à especificação Principais aspectos relacionados: Princípios de desenvolvimento de programas Sistemas/ambientes de programação Especificação de requisitos Verificação e prova de programas Manutenabilidade e legibilidade de programas.
12 Sistemas de Banco de Dados e Recuperação de Informação Preocupa-se com a organização de grandes conjuntos de dados compartilhados e persistentes de forma que possam ser consultados e atualizados com eficiência Principais aspectos relacionados: Representação de dados e seus relacionamentos Implementação eficiente de operações de armazenamento, busca e recuperação de informação Proteção e segurança de informações Gerenciamento de dados distribuídos.
Inteligência Artificial e Robótica 13 Preocupa-se com a modelagem de comportamentos inteligentes e a construção de mecanismos que os simule Principais aspectos relacionados: Avaliação de regras, inferência, dedução Coleta e codificação de dados de sensores Representação de conhecimento.
Interação Humano-Computador 14 Trata da transferência eficiente de informações entre humanos e máquinas, por meio de sensores ou mecanismos apropriados aos humanos Principais aspectos relacionados: Métodos para representação e visualização de objetos Métodos efetivos para entrada e saída de dados e informações Clareza e simplicidade de representações.
15 História da Computação
Evolução das Máquinas de Vários Níveis 16 Evolução das arquiteturas 1. Geração zero Computadores mecânicos (1642-1945) 2. Primeira geração Válvulas (1945-1955) 3. Segunda geração Transistores (1955-1965) 4. Terceira geração Circuitos integrados (1965-1980) 5. Quarta geração Integração de circuito em escala muito alta (1980-hoje)
Primeira Forma de Calcular 17 Pastor Primeiro ser humano a calcular Técnica utilizada Empilhamento de pedras para poder contar e controlar o rebanho A palavra cálculo vem do latim Calculos do latim pedra
Primeira Forma de Cálculo 18 Uso dos dedos Primeira maneira dos homens indicarem a que quantidade estavam se referindo A palavra dígito vem do latim Digitus do latim dedo
Ábaco 19 Primeira tentativa bem sucedida de se criar uma máquina de calcular China, cerca de 2500 anos antes de Cristo Abacus do latim tábua de argia
Bastões de Napier 20 Criados em 1614 pelo matemático John Napier (inventor dos logaritmos) Criado como auxílio à multiplicação Os bastões de Napier era um conjunto de 9 bastões, um para cada dígito, que transformavam a multiplicação de dois números numa soma das tabuadas de cada dígito.
21 Simulação da multiplicação de 9 por 384 com Bastões de Napier
Régua de Cálculo 22 Círculos de proporção Representação dos logaritmos de Napier em escalas de madeira, marfim ou outro material Círculos de proporção dão origem à régua de cálculo Logaritmos representados por traços e sua divisão e produto obtidos pela adição e subtração de comprimentos
Régua de Cálculo 23 Exemplos de réguas de cálculo
24 Geração Zero Computadores Mecânicos (1642-1945)
Geração Zero 25 Primeira máquina de calcular Blaise Pascal (físico, filósofo e matemático francês) em 1642, aos 19 anos Projetado para ajudar seu pai, coletor de impostos Dispositivos inteiramente mecânico, dotado de várias engrenagens e acionado por uma alavanca Apenas somava e subtraia
Geração Zero 26 Barão Gottfried Wilhelm Leibnitz Construiu uma máquina mecânica que multiplicava e dividia, além de somar e subtrair, em 1671 Criava o equivalente às calculadoras de bolso atuais.
Geração Zero 27 Charles Babbage (matemático) Em 1822 inventa a Máquina Diferencial Idealizada para construir tabelas de números para navegação naval Construída para executar um único algoritmo Método das diferenças finitas usando polinômios Método para disponibilizar informações na saída Resultados perfurados em um prato de cobre Mídia precursora dos cartões perfurados e dos CD- ROMs
28 Máquina Diferencial
Geração Zero 29 Charles Babbage Não satisfeito com a máquina diferencial (um único algoritmo), cria a máquina analítica Constituída de memória, unidade de computação, e das unidades de entrada e saída (cartões perfurados) Máquina de propósito geral Ada Augusta Lovelace criou o software para a linguagem de montagem para a máquina analítica Primeira pessoa a programar um computador.
Primeira Geração 30 Ada, condessa de Lovelace (Inglaterra, 1815-1851)
Geração Zero 31 A máquina analítica de Babbage nunca funcionou a contento Milhares de engrenagens e mecanismos precisos impossíveis para a época Idéia avançada demais para a época Maioria dos computadores modernos tem estrutura semelhante a máquina analítica Babbage é o avô dos computadores digitais
Geração Zero 32 Máquina analítica de Babbage
Geração Zero 34 Relés Tentativas de substituir as partes mecânicas dos computadores por partes elétricas O alto custo, tamanho físico e baixo desempenho eram as desvantagens desse tipo de máquinas
Geração Zero 36 Howard Aiken Durante seu doutorado Necessidade de cálculos automáticos Construiu com relés a máquina de Babbage Primeira máquina Mark I Pronta em 1944 72 palavras de 32 dígitos decimais 6 segundos para executar uma instrução Quanto terminou o Mark II, ele já estava ultrapassado Criação dos transistores (início da era eletrônica)
Geração Zero 37 Características do Mark I 18 metros de comprimento 2 metros de largura Peso 70 toneladas 7 milhões de peças móveis Fiação alcançava 800Km Tinha 72 palavras de 23 dígitos decimais Tempo de execução de uma instrução 6 segundos
38 Primeira Geração Válvulas (1945-1955)
39 Primeira Geração - Válvulas
Primeira Geração 40 Principal estímulo para o desenvolvimento dos computadores eletrônicos 2 a guerra mundial ENIGMA Codificador de mensagens dos alemães
Primeira Geração 41 COLOSSUS (1943) 1 o computador eletrônico Decodificador de mensagens Devido a ser segredo militar a linha não se desenvolveu (segredo por 30 anos) Considerado o primeiro computador eletrônico.
Primeira Geração 42 Características do COLOSSUS Desenvolvido com a tecnologia de válvulas Capaz de processar cerca de 5 mil caracteres por segundo Capaz de quebrar o código da segunda geração de máquinas ENIGMA No final da guerra, dez COLOSSUS em operação constante permitiam que os ingleses soubessem melhor que o comando alemão onde se encontravam seus submarinos.
Primeira Geração 43 Consequências da guerra Cientista americanos trabalham no desenvolvimento de máquinas de computação Objetivo Calcular tabelas de direção de tiro para auxiliar na pontaria da artilharia americana Solução ENIAC (Eletronic Numerical Integrator And computer)
Primeira Geração 44 Características do ENIAC 18.000 válvulas 70.000 resistências 10.000 capacitores 1500 relés 6000 comutadores manuais 500.000 conexões de solda 30 toneladas de peso 5.5m de altura 25m de comprimento 150 m 2 de área
Primeira Geração 45 Características do ENIAC Motor equivalente a 2 potentes motores de carros de quatro cilindros Consumo 150 kw equivalente a 50 aquecedores domésticos Arquitetura Composta de 20 registradores Cada um capaz de armazenar 1 número decimal de 10 dígitos.
Primeira Geração 46 Características do ENIAC Programação Através de fios e pinos Executava 5000 adições/subtrações ou 300 multiplicações por segundo 1 ou 2 dias para programar Limitação Capacidade de armazenamento.
47 Primeira Geração - ENIAC
48 Primeira Geração - ENIAC
Primeira Geração 49 Quando o ENIAC foi concluído ele não era mais útil para o exército Fim da guerra Impulsionou o desenvolvimento de sucessores EDSAC, JOHNIAC, ILLIAC, MANIAC, WEIZAC Construtores do ENIAC (Eckert e Mauchely) desenvolvem o EDVAC Eletronic Discret Variable Automatic Computer
Primeira Geração 50 John Von Neumman Versão própria do EDVAC Motivação Desconforto Lentidão Inflexibilidade de se programar por meios de chaves e cabos Substituiu a aritmética decimal pela binária
Primeira Geração 51 A máquina de Von Neumman tinha cinco componentes Memória Unidade aritmética lógica Unidade de controle Dispositivos de entrada e saída.
52 Primeira Geração Máquina de Von Neumman
Primeira Geração 54 IBM Produzia perfuradores de cartões e máquinas mecânicas de separar cartões 1953 IBM 701 (2048 palavras de 36 bits, duas instruções por palavra) 1956 IBM 704 4K de memória Instruções de 36 bits Hardware para processamento de números em ponto flutuante
Primeira Geração 55 IBM 1958 Produção da última máquina a válvula (IBM 709) A IBM dominou o mercado de máquinas científicas por uma década.
56 Segunda Geração Transistores (1955-1965)
Segunda Geração 57 Invenção do transistor 1948, rendendo o prêmio Nobel de física de 1956 Em 10 anos revolucionou a indústria da computação Vantagens dos transistores Aquecimento mínimo Baixo consumo de energia Mais confiável e veloz
Segunda Geração 58 Primeiro computador transistorizado TX-0 (Transistored experimental computer 0) Nunca funcionou muito bem DEC Projeto de uma máquina semelhante ao TX-0 1961 PDP-1 (4K palavras de 8 bits e clock com período de 5us, preço: 120.000 dólares) Origem dos minicomputadores Primeiro videogame PDP-8 (máquina de 12 bits com barramento único, preço: 16.000).
Segunda Geração 59 PDP-8
Segunda Geração 60 IBM Versão transitorizada do 709->7090 7094 (clock com período de 2us, memória de 32K, palavras de 36 bits cada) Líder no mercado da computação científica 1401 máquina pequena, voltada para aplicações comerciais.
Segunda Geração 61 CDC (Control Data Corporation) Lançou o 660 em 1964 Característica do 660 Alta velocidade Conceito de processamento paralelo Hardware composto de um conjunto de pequenos processadores Denominação atual: Supercomputadores
Segunda Geração 62 Burroughs B5000 Máquina construída com o objetivo de rodar programas escritos em Algol 60 Fortalecimento do software.
63 Terceiro Geração Circuitos Integrados (1965-1980)
Terceira Geração 64 Microeletrônica Um computador é composto de portas, células de memória e interconexões.
Terceira Geração 65 Circuitos integrados Fabricados em um semicondutor Wafer de silício
Terceira Geração 66 1958 Robert Noyce desenvolveu os circuitos integrados Máquinas menores, mais baratas e mais rápidas
Terceira Geração 67 IBM System/360
Terceira Geração 68 Surgiram as primeiras linguagens de alto nível COBOL, FORTRAN, BASIC Surgimento do mouse Armazenamento Fita magnética
Terceira Geração 69 Altair Kit revista Popular Electronics Início da linguagem Altair BASIC Bill Gates Paul Allen Carta para Roberts Início da Micro-soft
70 Quarta Geração Integração de Circuitos em Escala Muito Alta (1980-dias atuais)
Quarta Geração 71 Técnica VLSI dezenas de milhares de transistores em um chip Máquinas menores e mais rápidas Não eram mais necessários os centros de computação Preços acessíveis a usuários domésticos Computadores pessoais Não possuíam software.
Quarta Geração 72 Gary Kildall escreveu o primeiro Sistema Operacional CP/M Surgimento do Apple e Apple II no início da década de 80 IBM construiu um computador baseado em um chip da Intel e componentes de mercado surgia o PC da IBM
Quarta Geração 73 Apple I Apple II IBM PC Osborne I
Quarta Geração 74 Devido a grande venda de IBM-PC, a Intel se torna a maior fabricante de processadores MS-DOS SO do IBM-PC IBM e Microsoft produziram o SO OS/2 As empresas brigam e o novo SO da Microsoft, o Windows, domina o mercado
Quarta Geração 75 80086 286 386 486 Pentium, Pentium 2 Pentium 3, Pentium 4 Core 2 Duo i7
Quarta geração 76 Intel i7 é constituído com uma tecnologia de 0.13 micrômetros e possui 731 milhões de transistores. Super computador Sequoia Consome 7.9 MW 1,572,864 processadores Processamento de 16 petaflops
Lei de Moore 77 Gordon Moore cofundador da Intel Número de transistores de um chip dobrará a cada ano Desde 1970, isso diminuiu um pouco Número de transistores dobra a cada 18 meses
78 Crescimento da contagem de transistores da CPU
79 Quinta Geração?
Quinta Geração? 80 Alguns autores consideram uma quinta geração de computadores Máquinas com processamento paralelo Computadores com inteligência artificial Arquitetura reduzida de instruções (RISC)
Tendências 81 Processamento paralelo Computadores óticos Nanotecnologia Computação biológica Computador quântico.