Baixe o app para aproveitar ainda mais
Prévia do material em texto
Computação Básica – carlacastanho@cic.unb.br Algoritmos e Programação de Computadores Disciplina: 116301 Profa. Carla Denise Castanho Prof. Marcio Victorino Universidade de Brasília – UnB Instituto de Ciências Exatas – IE Departamento de Ciência da Computação – CIC 1 Computação Básica – carlacastanho@cic.unb.br 2 1. O Histórico da Computação “Conhecer o passado é ficar seguro no presente e saber para onde ir no futuro”. Ditado Zen Budista Computação Básica – carlacastanho@cic.unb.br • O primeiro grande passo do homem rumo à ciência e à tecnologia talvez tenha sido a concepção da idéia de número. Como surgiu a idéia do número? Comparação entre conjuntos. 1. Conceito de Número 3 • A comparação por agrupamentos deu origem ao conceito de base de um sistema de numeração. Computação Básica – carlacastanho@cic.unb.br • Muito provavelmente a utilização dos dedos como um dos conjuntos a serem comparados tenha dado origem ao nosso sistema de numeração de base decimal. Por que não base 20 ? 1. Conceito de Número 4 Computação Básica – carlacastanho@cic.unb.br • É quase certo que o primeiro instrumento de cálculo que o homem utilizou foram seus próprios dedos. • De onde vem os termos Dígito e Digital 2. Primeiros Métodos de Cálculo 5 Computação Básica – carlacastanho@cic.unb.br • Ábaco: instrumento construído de contas móveis em eixos, representando dígitos de um número. • 1.000 a.c. babilônios e egípcios • Aperfeiçoado pelos chineses. • Em japonês: ‘soroban’ 3. Geração zero de Computadores Dispositivos Mecânicos (500 a.C. – 1880) Foi com o uso de pedrinhas para auxiliar nas contagens que surgiu o termo cálculo. CÁLCULO deriva da palavra latina calculus que está relacionada com a palavra grega chalix, ambas significando pedra ou cascalho. 6 Computação Básica – carlacastanho@cic.unb.br • Ábaco (Soroban): 3. Dispositivos Mecânicos (500 a.C. – 1880) Valem 5 unidades Valem 1 unidade 5 50 500 5000 1 10 100 1000 EIXOS: posição dos dígitos PEDRINHAS: dígitos 7 Computação Básica – carlacastanho@cic.unb.br • Ábaco (Soroban): 3. Dispositivos Mecânicos (500 a.C. – 1880) 5 50 500 5000 1 10 100 1000 Representação do número 27 20 + 7 = 27 8 Computação Básica – carlacastanho@cic.unb.br • Exemplo: 236+61 = ? 3. Dispositivos Mecânicos (500 a.C. – 1880) 5 50 500 5000 1 10 100 1000 236 5 50 500 5000 236 + 61 = 297 1 10 100 1000 • Isso é eficiente? Soroban x Calculadora Soroban • Porém.... 9 Computação Básica – carlacastanho@cic.unb.br Primeira calculadora portátil! Napier construiu um dispositivo simples com bastões de osso: “Ossos de Napier” 3. Dispositivos Mecânicos (500 a.C. – 1880) • John Napier (1550-1617), matemático escocês, “descobre” os logaritmos e propõe a tábua de logaritmos, que possibilita trocar as operações de multiplicação e divisão por operações de adição e subtração. 10 Computação Básica – carlacastanho@cic.unb.br • Bastões (ou ossos) de Napier: 3. Dispositivos Mecânicos (500 a.C. – 1880) 137 x 4 = ? 4 2 1 5 8 137 x 4 = 5 4 8 2 4 8 1 2 3 4 5 6 7 8 9 0 3 6 9 2 5 8 1 4 7 0 1 1 1 2 2 2 1 3 7 4 1 8 5 2 9 6 3 0 2 3 4 4 5 6 7 1 2 11 Computação Básica – carlacastanho@cic.unb.br 3. Dispositivos Mecânicos (500 a.C. – 1880) • Régua de Cálculo (século XVII): as tabelas criadas por Napier após exaustivas horas de cálculo foram usadas por William Oughtred, matemático inglês, para desenvolver a régua de cálculo, cuja forma final ficou sendo retangular com uma régua mais estreita deslizando entre duas outra. 12 Computação Básica – carlacastanho@cic.unb.br • Blaise Pascal (1623 - 1662), filósofo e matemático francês, construiu um contador mecânico que realizava operações aritméticas de soma e subtração por meio de rodas e engrenagens dentadas (Pascaline). 3. Dispositivos Mecânicos (500 a.C. – 1880) (visão externa) (visão interna) A linguagem de programação PASCAL foi assim chamada em homenagem a este cientista pelo seu trabalho pioneiro em matemática. 13 Computação Básica – carlacastanho@cic.unb.br • Em 1673 o matemático e filósofo alemão, Gottfried Wilhelm von Leibniz (1646 - 1716), mostrou como uma calculadora mais completa que a de Pascal poderia ser obtida a partir do fato de que uma multiplicação poder ser vista como a soma de uma mesma parcela um certo número de vezes. 3. Dispositivos Mecânicos (500 a.C. – 1880) Esta máquina foi construída em 1694. 14 Computação Básica – carlacastanho@cic.unb.br • Revolução Industrial: contribuiu no desenvolvimento de dispositivos automáticos. • Século XVIII Basile Bouchon, Jean Falcon, Jacques Vaucanson, contribuíram para a construção e o aprimoramento de um tear que podia tecer de acordo com instruções cifradas em papel perfurado. 3. Dispositivos Mecânicos (500 a.C. – 1880) 15 Anos mais tarde Computação Básica – carlacastanho@cic.unb.br • Em 1823 Charles P. Babbage (1791 - 1871) foi contratado pela Royal Astronomical Society of Great Britain para produzir uma máquina calculadora programável, com a finalidade de gerar tabelas de navegação para a Marinha britânica. • Projetou 2 tipos de máquinas 3. Dispositivos Mecânicos (500 a.C. – 1880) 1) Máquina de Diferenças Realizaria adições e subtrações. Seria acionada por um motor movido a vapor. Conteria um dispositivo de gravação em uma chapa de cobre. 16 • As ferramentas da época não eram suficientemente sofisticadas para construir a máquina. • Babbage abandona o projeto Computação Básica – carlacastanho@cic.unb.br 2) Máquina Analítica: • Em 1833 Babbage consegue convencer o governo inglês a financiar a construção de uma máquina mais sofisticada e precisa, a Máquina Analítica. Generalização da Máquina de Diferenças. Projetada para suportar qualquer tipo de cálculo Utiliza a “programação” como princípio básico. •Também não foi terminada! Porém: 3. Dispositivos Mecânicos (500 a.C. – 1880) BABBAGE – O PAI DOS COMPUTADORES O projeto de Babbage anteviu os passos que até hoje são a base do funcionamento dos computadores: Programação e alimentação de dados, através de cartões perfurados. Uma unidade de memória, onde os números podiam ser armazenados e reutilizados. Programação sequencial de operações. 17 Computação Básica – carlacastanho@cic.unb.br • Máquina Analítica: Somente em 1991 o museu de Ciência de Londres construiu uma versão da Máquina Analítica a partir dos desenhos de Babbage... e... Funcionou!!! 3. Dispositivos Mecânicos (500 a.C. – 1880) 18 Computação Básica – carlacastanho@cic.unb.br • Máquina Analítica: Ada Augusta King (1815 - 1852), Condessa de Lovelace: matemática talentosa, grande colaboradora de Babbage. Criou programas de exemplo para a máquina. É reconhecida como a primeira programadora da história. Serviu de nome para a linguagem de programação ADA, desenvolvida para o departamento de Defesa dos EUA. Com relação à Máquina Analítica, Babbagedeclarou que Lovelace "parece compreendê-la melhor que eu". 3. Dispositivos Mecânicos (500 a.C. – 1880) 19 Computação Básica – carlacastanho@cic.unb.br • Com a invenção do motor elétrico (Michael Faraday, Joseph Henry, Tomas Davenport, Nikola Tesla), no fim do século XIX, surgiu uma grande quantidade de máquinas de somar acionadas por motores elétricos. 4. Primeira Geração dos Computadores Dispositivos Eletromecânicos (1880 – 1930) 20 Computação Básica – carlacastanho@cic.unb.br •Em 1889, o estatístico Herman Hollerith (1860 - 1929) desenvolveu uma máquina perfuradora de cartões e uma máquina tabuladora que contava, classificava e ordenava informações armazenadas em cartões perfurados. 4. Dispositivos Eletromecânicos (1880 – 1930) 21 • Por causa dessa invenção, o Bureau of Census dos EUA contratou Hollerith em 1890 para utilizar sua máquina na apuração de dados do censo. O censo foi apurado em apenas 2,5 anos! (O anterior tinha sido apurado em 10 anos) Computação Básica – carlacastanho@cic.unb.br • O sucesso de Hollerith com a apuração do censo conduziu à criação, em 1896, da Tabulating Machine Company, por onde Hollerith vendia uma linha de máquinas de tabulação com cartões perfurados. • Em 1911, o banqueiro Charles R. Flint persuadiu três companhias a se juntarem, entre elas a empresa de Hollerith, formando a Computing- Tabulating-Recording Company. 4. Dispositivos Eletromecânicos (1880 – 1930) 22 Computação Básica – carlacastanho@cic.unb.br • Em 1914 Thomas John Watson foi contratado como gerente geral, e em 1924 ele mudou o nome da companhia para: IBM - International Business Machines. 4. Dispositivos Eletromecânicos (1880 – 1930) 23 Computação Básica – carlacastanho@cic.unb.br • Relé (Joseph Henry): Chave eletromecânica 4. Dispositivos Eletromecânicos (1880 – 1930) 24 Computação Básica – carlacastanho@cic.unb.br • Na década de 1930, Konrad Zuse (1910 - 1955), um estudante de engenharia alemão a primeira máquina, chamada Z1, baseada em relés eletromecânicos. 4. Dispositivos Eletromecânicos (1880 – 1930) Usava um teclado como dispositivo de entrada e lâmpadas como de saída. Evolução: Z2, Z3, Z4 25 Obs.: O primeiro microcomputador comercial, o Altair, em 1974 também usava lâmpadas como dispositivo de saída, embora ainda não empregasse o teclado como dispositivo de entrada (1º produto Microsoft, interpretador BASIC) Computação Básica – carlacastanho@cic.unb.br • Provavelmente Zuse teria desenvolvido máquinas de maior capacidade e versatilidade se tivesse sido mais bem financiado pelo governo alemão. • Os bombardeios aliados na Alemanha destruíram a maior parte dos computadores construídos por Zuse. “A História é escrita pelos vencedores” George Orwell 4. Dispositivos Eletromecânicos (1880 – 1930) 26 Computação Básica – carlacastanho@cic.unb.br • Outro "inventor" da época de dispositivos eletromecânicos foi Howard H. Aiken (1900 - 1973), um físico e matemático americano. 4. Dispositivos Eletromecânicos (1880 – 1930) 27 • Nos anos 1930 concebeu, com o apoio da IBM, o Automatic Sequence Controlled Calculator (ASCC) que depois ficou conhecido como Harvard Mark I. Mark I (1944-1959) VIDEO Baseado no sistema decimal . Capaz de armazenar 72 números. 3.300 relés, 175.000 conexões, 800 km de cabos, 5 toneladas. Instruções de dois operandos eram introduzidas na máquina por meio de fita de papel perfurado. Dados eram introduzidas por chaves Podia realizar uma soma em seis segundos e uma divisão em 12 segundos. Computação Básica – carlacastanho@cic.unb.br • O MARK I é um marco importante na história da computação. - Programa: Papel perfurado -Dados: Dispositivos Eletromecânicos 4. Dispositivos Eletromecânicos (1880 – 1930) Processador Memória de Dados Memória de Programa 28 A técnica de armazenamento de dados e instruções separadamente tornou-se conhecida como Arquitetura Harvard. Computação Básica – carlacastanho@cic.unb.br Evolução: 1945 - MARK II, III e IV Grace Murray Hopper (1906-1992): Primeiro Compilador (COBOL) História do primeiro BUG reportado foi no Mark II 29 4. Dispositivos Eletromecânicos (1880 – 1930) Computação Básica – carlacastanho@cic.unb.br • Desenvolvimentos da Eletrônica •A válvula foi inventada por Lee De Forest (1873 - 1961). Patenteada em 1907. 5. Computadores de 1ª Geração Componentes Eletrônicos 30 É um dispositivo eletrônico que controla a passagem de corrente elétrica. Chave controlada por tensão sem partes mecânicas móveis = muito mais rápida que o relé. Porém... “Esquenta pra burro”! = ineficiência energética Computação Básica – carlacastanho@cic.unb.br • Desenvolvimento da Eletrônica (1930 – 1945) Na mesma época em que Zuse e Aiken realizavam seus trabalhos com dispositivos eletromecânicos, dois outros cientistas desenvolveram computadores usando válvulas. 5. Componentes Eletrônicos 31 John Vincent Atanasoff, (1903 – 1995) que, por volta de 1939, projetou uma máquina calculadora para resolver equações lineares. Alan Turing (1912 - 1954), também desenvolveu máquinas com componentes eletrônicos e eletromecânicos. Porém, principais contribuições: •Formalização do conceito de Algoritmo, Máquina de Turing, computabilidade,... •Pai da Ciência da Computação Computação Básica – carlacastanho@cic.unb.br • Primeira geração: Computadores à Válvula ENIAC - Electronic Numerical Integrator and Calculator: Projetado por William Mauchly (1907-1980) e John Presper Eckert (1919-1995), de 1943 a 1946. 5. Computadores Eletrônicos (1945 - ...) Primeiro computador eletrônico e digital. Construído para emprego geral, isto é, com programa de instruções que podia alterar o tipo de cálculo a ser realizado com os dados. 32 Computação Básica – carlacastanho@cic.unb.br • ENIAC - Electronic Numerical Integrator and Calculator: •Mais de 17.000 válvulas, 800 km de cabos, pesava cerca de 30 toneladas e consumia uma enorme quantidade de energia elétrica. • Válvulas queimavam com grande frequência devido ao calor. 5. Computadores Eletrônicos (1945 - ?) 33 Computação Básica – carlacastanho@cic.unb.br ENIAC - Electronic Numerical Integrator and Calculator: Realizava 10.000 operações por segundo. Possuía 20 registradores, cada um deles podendo armazenar um valor numérico de 10 dígitos; Máquina decimal (não binária) e, por isso, cada dígito era representado por um anel de 10 válvulas, uma das quais estava ligada em cada instante, indicando o algarismo desejado. Dado eram entrados através da redistribuição de cabos em tomadas diferentes e rearranjo de chaves (possuía cerca de 6000). 5. Computadores Eletrônicos (1945 - ?) 34 Computação Básica – carlacastanho@cic.unb.br Em 1944 Mauchly e Eckert iniciaram a construção de um novo computador, o EDVAC (Electronic Discret Variable Automatic Computer). A outra vertente do aperfeiçoamento do ENIAC é atribuída ao matemático húngaro John von Neumann (1903-1957). 5. Computadores Eletrônicos (1945 - ?) 35 Von Neumann cria o conceito de “programa armazenado”, apresentando em um relatório sobre o EDVAC. Computação Básica – carlacastanho@cic.unb.br O EDVAC de Mauchly e Eckert não foi adiante devido à saída de ambos da Universidade da Pensilvânia, para constituírem sua própriaempresa, que mais tarde se tornou a UNIVAC. Depois, a UNIVAC uniu-se à Burroughs, constituindo-se na atual Unysis Corporation. 5. Computadores Eletrônicos (1945 - ?) Em 1946 von Neumann e vários outros cientistas em Princeton iniciaram a construção de uma nova máquina, um computador eletrônico de programa armazenado, o IAS, que se utilizava dos mesmos princípios descritos no referido relatório do EDVAC. 36 Computação Básica – carlacastanho@cic.unb.br No IAS, o conceito de programa armazenado eliminou a necessidade de se alterar as ligações com cabos ou outros dispositivos. A arquitetura proposta permanece até os dias de hoje, denominada Arquitetura de Von Neumann, que se caracteriza por apresentar dados e programa armazenados em uma mesma memória. 5. Computadores Eletrônicos (1945 - ?) Processador Memória Busca Decodificação Execução 37 Computação Básica – carlacastanho@cic.unb.br Em 1949 a empresa fundada por Mauchly e Eckert construiu com sucesso o primeiro computador para fins comerciais, o UNIVAC 1 (Universal Automatic Computer). Adquirido pelo Bureau of Census dos EUA, para processar os dados do censo de 1950. 5. Computadores Eletrônicos (1945 - ?) 38 Computação Básica – carlacastanho@cic.unb.br Em 1953 a IBM, até então mais voltada, e com sucesso, para a construção e comercialização de equipamentos de processamento por cartão perfurado, lançou o seu primeiro computador eletrônico de programa armazenado. 5. Computadores Eletrônicos (1945 - ?) 39 Em 1955, IBM-702 uso comercial Em 1953, IBM-701 uso científico Computação Básica – carlacastanho@cic.unb.br Outros modelos foram lançados, até que em 1958, a IBM apresenta outra máquina, mais aperfeiçoada, o IBM-709. Nessa ocasião, a IBM já se destacava no mercado em relação à UNIVAC, que vinha sendo a número 1 desde 1950. 5. Computadores Eletrônicos (1945 - ?) 40 Computação Básica – carlacastanho@cic.unb.br •Segunda geração: Computadores Transistorizados Transistor: realiza as mesmas funções básicas de uma válvula, porém o faz consumindo muito menos energia e calor, o que o tornou rapidamente substituto completo das válvulas. Bell Laboratories, John Bardeen, Walter Bratain e William Schockley. 5. Segunda Geração de Computadores Computadores Eletrônicos (1945 - ?) 41 Computação Básica – carlacastanho@cic.unb.br • Segunda geração: Computadores Transistorizados 5. Computadores Eletrônicos (1945 - ?) 42 •1959: IBM 1401 – Aplicações comerciais 1958: IBM 7090 - Aplicações científicas Computação Básica – carlacastanho@cic.unb.br • Segunda geração: Computadores Transistorizados O ápice dos computadores transistorizados foi o CDC-6600, um supercomputador criado pela Control Data Corportation em 1964. 5. Computadores Eletrônicos (1945 - ?) 43 Computação Básica – carlacastanho@cic.unb.br • Terceira geração: Computadores com Circuitos Integrados Circuito Integrado: O ponto importante no conceito de circuitos integrados é que se pode formar múltiplos transistores em um único elemento de silício. Jack Kilby, da Texas Instruments Co. e Robert Noyce, da Fairchild Semiconductor Inc. 5. Terceira Geração de Computadores Computadores Eletrônicos (1945 - ?) 44 Computação Básica – carlacastanho@cic.unb.br • Terceira geração: Computadores com Circuitos Integrados Em 1964, a IBM se utilizou das recentes inovações tecnológicas na área da microeletrônica (os circuitos integrados) e lançou a sua mais famosa "família" de computadores, a série/360. 5. Computadores Eletrônicos (1945 - ?) 45 Computação Básica – carlacastanho@cic.unb.br • Terceira geração: Computadores com Circuitos Integrados 46 1977: surge no mercado de produção em série, os microcomputadores: o Apple II, o TRS-80 da Radio Shack e o PET da Commodore, ZX-80 Sinclair. 1979: é lançado pela Software Arts o "VisiCalc", o qual foi o primeiro programa comercial para microcomputadores. 5. Computadores Eletrônicos (1945 - ?) Computação Básica – carlacastanho@cic.unb.br • Quarta geração: Computadores que Utilizam VLSI O termo VLSI (Very Large Scale Integration), integração em larga escala, caracteriza uma classe de dispositivos eletrônicos capazes de armazenar, em um único invólucro, milhares e até milhões de componentes. Se até aqui a fronteira entre uma geração e outra é muito nítida e bem definida, agora já não é mais. 5. Computadores Eletrônicos (1945 - ?) Enquanto nas gerações anteriores as mudanças eram físicas, com mudanças na tecnologia eletrônica dos computadores, agora é uma questão de evolução de um componente: o chip 47 Computação Básica – carlacastanho@cic.unb.br • Processadores Intel: 5. Computadores Eletrônicos (1945 - ?) 1972 1974 1978 1982 1985 1989 1993 1995 1997 48 1999 2000 Computação Básica – carlacastanho@cic.unb.br • Processadores Intel: 5. Computadores Eletrônicos (1945 - ?) 2006 2008 49 2014 Computação Básica – carlacastanho@cic.unb.br http://www.intel.com/portugues/products/processor/core2quad/?cid=lar:ggl|c2d_br_quad|k8B85|s 50 • Cronologia: Microprocessadores integrados em um chip da Intel •Ano: Modelo - Tamanho da Palavra, Num. Trans. , Frequência de clock •1971: Intel 4004 - 4 bits, 2.300 transistores, 740kHz •1972: Intel 8008 - 8 bits, 3.500, 500kHz •1976, Intel 8085 – 8 bits, 6.500, 5MHz •1978: Intel 8086 - 16 bits, 29.000, 10MHz •1982: Intel 80186 – 16bits •1982: Intel 80286 – 16 bits, 134.000, 25MHz •1985: Intel 80386 - 32 bits, 275.000, 33MHz (cache externa) •1989: Intel 40486 – 32 bits, 1.200.000, 50MHz (L1 cache) •1993: Pentium – 32 bits, 3.100.000, até 233MHz •1995: Pentium Pro e MMX – 32 bits, 4.500.000, 200MHz (L2 cache) •1997: Pentium II– 32 bits, 7.5000.000, 450MHz •1999: Pentium III – 32 bits, 28.000.000, 1.13GHz •2000: Pentium IV – 32 bits, 42.000.000, até 3.4GHz •2001: Intel Itanium – 64 bits (AMD lançou arquitetura EM64T antes) •2003: Pentium-M (Centrino, Celeron M) – 32 bits, 77.000.000, 2.1GHz •2005: Pentium-D (Extreme HT) – 64bits, 230.000.000, 3.4GHz •2006: Core (Duo,Solo) – 32bits, 151.000.000, 1.66GHz •2006: Core2 (Duo) - 64 bits, 291.000.000, 3GHz •2007: Core2 (Quad) – 64 bits 830.000.000 3GHz (só L2) •2008: Core i7 (Hex/Quad) – 64 bits 731.000.000 3GHz (L3 cache) •2011: Core i7 2ª Geração (Quad) – 64 bits 1.160.000.000 3.4GHz •2012: Core i7 3ª Geração (Quad) – 64 bits 1.400.000.000 3.9GHz (3D) •2013: Core i7 4ª Geração (Quad) – 64 bits 1.400.000.000 3.9GHz •2015: Core i7 5ª Geração (Dual) – 64 bits 1.900.000.000 Computação Básica – carlacastanho@cic.unb.br Next Generations O que vem por aí?? Mudança na Organização: 1 core, 2 cores, 4 cores, 8 cores, 16 cores, ...many cores..., Network on Chip (NoC), GPUs, Chips Heterogêneos. Mudança Paradigma: Computação Ótica, Computação Quântica, Computação Biológica (DNA, Redes Neurais, Computação Evolutiva, ...), ... Vocês farão este futuro! 51
Compartilhar