Baixe o app para aproveitar ainda mais
Prévia do material em texto
História da Computação e computadores Prof. Dr. Leandro Carrijo Cintra PUC-Campinas Introdução à Ciência da Computação O que é computação? ● Computação é a busca da solução de um problema utilizando-se um método formal (algoritmo), o qual aplicado a entradas (inputs) gera resultados (outputs) ● Observe: a computação não é restrita a entradas numéricas, mas os artefatos desenvolvidos pelo homem para a realização de computação inicialmente se restringiram a dados numéricos ● A partir da década de 50 a computação obteve status de ciência e então cunhou-se o termo ciência da computação ● Stonehenge - do inglês arcaico "stan" = pedra, e "hencg" = eixo ● Monumento pré-histórico (3000 a.C) utilizado na determinação de datas importantes, como por exemplo solstícios e equinócios. Estas datas têm relação com as estações do ano, que por sua vez são essenciais para a agricultura. O conceito de número ● O número é um conceito abstrato e representa a ideia de dois conjuntos sendo comparados ● Surgiu na antiguidade, provavelmente, quando os pastores precisavam saber se não estavam perdendo animais de seus rebanhos. – Marcação em ossos, com pedras, etc... ● Com o crescimento do rebanho, foi necessário passar a fazer a representação em grupos – Ex: uma pedra para cada 10 animais e um graveto para um único animal O conceito de número ● Muito provavelmente, utilizamos hoje a base 10 em função dos 10 dedos que temos nas mãos ● O zero foi o último dos algarismos a ser criado. O conceito de nulidade é muito abstrato e exigiu muito da humanidade ● Durante séculos os europeus utilizaram o sistema de numeração romano, que não previa o conceito de valor relativo e nem possuía um símbolo para representar o nada (zero) – Ex: XLI – 41 – MCMXCIX - 1999 As bases numéricas historicamente ● Nem sempre o uso da base 10 esteve presente nas civilizações humanas: ● EX: Os maias utilizam um sistema de numeração com base 20 ● ● ● ● ● ● ● ● Sugestão de leitura: Uma breve história dos números - ??? As bases numéricas historicamente ● A civilização suméria utilizou um sistema de numeração sexagesimal (base 60) ● A principal hipótese para a criação de tal sistema consiste em considerar que o mesmo surgiu a partir da união de um sistema de contagem de base 5 que se baseava em contar com os dedos da mão e o sistema de contagem de base 12 que usava o método das três falanges Primeiros métodos de cálculo ● O primeiro instrumento para cálculo utilizado pelo homem foram seus próprios dedos – Para algumas civilizações, seus corpos ● Exemplo: Os romanos só decoravam a tabuada até o 5. As demais eles calculavam com auxilio dos dedos. O ábaco ● Usado na Mesopotâmia a aproximadamente 2500 a.C ● Adaptado posteriormente pelos romanos, egípcios, gregos, indianos e chineses ●Levado para o Japão pelos Jesuítas em 1541 ???? Auxílios manuais nos cálculos numéricos – o método tabular Auxílios manuais nos cálculos numéricos – as tábuas logarítmicas 1 2 4 8 16 32 64 128 256 20 21 22 23 24 25 26 27 28 ●John Napier (1550-1617), um nobre escocês, foi o criador do conceito de logaritmo no. log no. log 1 0 32 5 2 1 64 6 4 2 128 7 8 3 256 8 16 4 512 9 Muitas e variadas tábuas de Logarítmos foram confeccionais Importância do logarítmo ● O logarítmo permite que: ● Para multiplicar dois números, somemos seus logarítmos ● Para dividir dois números, subtraiamos seus logaritmos ● Para elevar um número a uma potência, multipliquemos o seu logaritmo pelo expoente ● Para extrair a n-ésima raiz de um número, dividamos o logaritmo do número pelo índice da raiz Auxílios mecânicos para calcular – Ossos de Napier ● Em 1617 John Napier generalizou o procedimento tabular árabe e construiu um dispositivo com bastões de ossos, no qual a multiplicação era realizada girando-se os cilindros ● O resultado ainda era obtido com o operador somando as diagonais Auxílios mecânicos para calcular – Régua de Cálculo ● No século XVII foi inventada a régua de cálculo aplicando-se as ideias de logaritmos Auxílios mecânicos para calcular – Pascalina ● Em 1642 o filósofo francês Blaise Pascal construiu uma calculadora (a primeira máquina de somar) para o seu pai, um coletor de impostos. ● Leibnitz projetou em 1673 uma máquina de multiplicar que foi construída em 1694 Auxílios mecânicos automáticos ● Em 1728, foi criado um tear, que podia tecer desenhos de seda, de acordo com instruções cifradas em uma folha de papel (cartão) perfurado. ● Em 1801, Joseph Marie Jacquard criou a máquina de tecer com cartões perfurados A máquina diferencial de Babbage ● Em 1812 Charles Babbage começou a pensar em uma máquina que pudesse computar tabelas matemáticas (logarítmos, senos, cosenos, etc). Em 1859 a máquina diferencial de Babbage foi construída e passou a ser usada pelas companhias de seguros para computar tabelas de seguro de vida A máquina analítica de Babbage ● Babbage trabalhou até a sua morte em 1871 em uma máquina mecânica, que poderia ser programada. ● A máquina analítica de Babbage ● O projeto previa o uso de mais de 8000 peças móveis ● Não pode ser concluída na época de Babbage em função das limitações tecnológicas A máquina analítica de Babbage Unidade de processamento Unidade de armazenamento Automatismo completo – substituindo rodas e engrenagens por componentes eletrônicos ● Em 1937 começou-se a construir o MARK I, uma máquina capaz de calcular derivadas e integrais utilizando relés e outros dispositivos eletromecânicos. Ela entrou em operação em 1944 MARK I ● 18 metros de comprimento ● 2 metros de largura ● Pesava 70 toneladas ● 7 milhões de peças móveis ● 800 km de fiação Colossus (1943) – o primeiro computador eletrônico ENIAC (Eletronic Numerical Integrator And Calculator) ● Início do projeto em 1943 para calcular trajetórias balísticas. Entrou em operação em 1946, após o fim da II Guerra Mundial. ● O ENIAC era controlado por uma grande quantidade de interruptores que podiam assumir os estados ON (ligado) e OFF (desligado) ● O ENIAC trabalhava na base 10 (não era binário) ENIAC (Eletronic Numerical Integrator And Calculator) ● Pesava mais de 30 toneladas ● Ocupava 270 m2 ● Realizava 5000 operações por segundo ● Possuía 18000 válvulas 160 km de fiação ● 70000 resistências e 6000 interruptores ● Consumia 200000 watts ● Podia armazenar 10 números de 10 dígitos em sua memória (198 bits) A arquitetura de John Von Neumann ● Em 1946, John Von Neumann e outros apresentaram um artigo propondo que os dados e os programas (instruções) fossem armazenados na memória EDVAC (Electronic Discrete Variable Automatic Computer) ● Foi o primeiro computador construído com a proposta de Von Neumann, ou seja, seu controle era exercido por um programa armazenado em memória ● Foi construído em 1948 e não houve produção em série UNIVAC I (Universal Automatic Computer) ● O primeiro UNIVAC foi entregue no escritório do censo dos EUA, em 31 de março de 1951 ● Foi fabricado pela Remington ● O segundo UNIVAC foi entregue ao Pentágono, e se tornou na realidade o primeiro a entrar em operação ● O UNIVAC foi um dos primeiros computadores do Brasil, adquirido pelo IBGE em 1961 por US$ 2.976.350,00 Computadores de destaque ● IBM 7090 ● PDP-I Evolução tecnológica dos computadores ● Quando analisamos a tecnologia que foi utilizada na confecçãodos dispositivos computacionais, podemos distinguir quatro grandes fases na história da computação. A estas fases chamamos de gerações 1a. Geração(1940-1956) ● Os computadores da primeira geração utilizavam circuitos eletromecânicos e válvulas ● Ex: ENIAC, EDVAC e UNIVAC ● Eram grandes, consumiam grande quantidade de energia e eram lentos 2a. Geração(1956-1963) ● Os computadores da 2a. Geração substituíram as válvulas pelo transístor ● Transistor - Pequeno dispositivo semicondutor utilizado para controlar o fluxo de eletricidade em um equipamento eletrônico. ● Grandes computadores – Mainframes (ex: IBM 7090) Transistor ● Um transistor é composto basicamente por três filamentos, chamados de base, emissor e coletor. O emissor é o polo positivo, o coletor o polo negativo, e a base controla o estado do transístor, que pode estar ligado, se houver corrente elétrica entre o emissor e o coletor; ou desligado, quando não há corrente. Quanto é aplicada uma certa tensão na base, o circuito é fechado e é estabelecida a corrente entre o emissor e o receptor. 3a. Geração (1964-1971) ● O domínio da física de estados sólidos permitiu a integração de vários transistores, resistores e capacitores em uma única embalagem, com aproximadamente o tamanho de um transistor original. Nasciam os CI (circuitos integrados) e os computadores desenvolvidos baseados nesta tecnologia foram ditos de 3a. Geração ● Minicomputadores (ex: PDP-I) 4a. Geração (1971-Atualmente) ● Atualmente o processo de integração tem praticamente o mesmo custo para se integrar dezenas, centenas ou milhares de transistores em uma única pastilha. ● Pode-se falar em integração de altíssima escala (VLSI - Very Larger Scale Integration) ● Computadores pessoais (desktops, notebooks, PDAs) 4a. Geração ● Esquemático do Pentium 4 ● 42 milhões de transistores ● Pastilha com 224 mm2 ● Outros proces- sadores também eram de 4a. geração 5a. Geração (Atualmente) ● Dispositivos computacionais que incorporam conceitos de Inteligência Artificial em seu hardware. ● A interação homem/máquina seria por meio da fala (reconhecimento de voz) ● Um grande projeto japonês foi estabelecido com tais objetivos ● Nunca houve de fato uma máquina de 5a. Geração, apenas de estarem surgindo dispositivos com algumas poucas características desta geração Componentes de um computador ● CPU (Central processing unit) ou UCP (unidade central de processamento) – é a parte central de um computador, responsável pelo processamento dos dados na máquina Memória ● Componente responsável por armazenar os programas e dados para que a CPU possa processá-los. A memória de um computador se divide em duas categorias: Memória principal e memória secundária Memória Principal ● Posicionada em slots na placa-mãe (mother-board) ● É uma memória volátil, de acesso randômico, rápida, alto custo e baixa capacidade de armazenamento ● Memória RAM (Random Access Memory – memória de acesso randômico) ● ROM (Read-Only Memory – Memória apenas de leitura) ● PROM (Programmable read-only memory) ● EPROM (Erasable Programmable read-only memory) ● EEPROM (Electrically-Erasable Programmable Read-only memory) Memória secundária ● HDs (discos rígidos), Cds, DVDs, pen-drives, fitas ● Memória não-volátil, baixo custo, acesso randômico (exceto fitas que têm acesso sequencial), lenta ● Recuperar ou armazenar uma informação em um disco rígido é em média 250000 vezes mais lento que realizar a mesma tarefa na memória RAM Unidades controladores de E/S (I/O) Controladora de vídeo Controladora de rede Controladora HBA Periféricos de E/S O Software ● O software é a parte intangível (intocável) dos sistemas computacionais. ● Um software é um conjunto de instruções que devem ser executados por uma CPU ● Pensemos neste momento em uma instrução como sendo um conjunto binário que controla a CPU na realização de alguma tarefa (ex: soma, subtração, multiplicação, divisão, comparação de dois valores, etc...) Linguagem de Máquina ● Todo computador programável tem a sua linguagem de máquina ● Neste sentido, a linguagem de máquina é o conjunto de símbolos que permitem o controle da máquina ● Com o advento do EDVAC, surgem os primeiros programas residentes em memória, os quais eram escritos diretamente em linguagem de máquina ● O programador tinha de saber o código binário de cada instrução presente na máquina Linguagem Simbólica Assembly ● Em 1950 surge a linguagem Assembly ● Não é mais necessário conhecer o código binário das operações de um processador, apenas o mnemônico delas ● Um programa especial conhecido como montador (assembler) é responsável por traduzir o programa para linguagem de máquina Linguagens de alto nível ● Compilador é um programa que possibilita a conversão de um código escrito em uma linguagem de alto nível (inteligível apenas pelos humanos) em um código em linguagem de máquina, ou seja, um código binário ● Entre 1954 e 1957 foi desenvolvido o primeiro compilador para a linguagem Fortran ● Em 1959 foi desenvolvido a linguagem COBOL ● Em 1972 Dennis Ritchie criou, no AT&T Bell Labs, a linguagem C, que tornou-se extremamente difundida Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46
Compartilhar