Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 1 São Paulo, 2009São Paulo, 2009 Faculdades Metropolitanas Unidas (FMU)Faculdades Metropolitanas Unidas (FMU) Introdução a Ciência da Introdução a Ciência da Computação (ICC)Computação (ICC) Prof. Msc. Vladimir CameloProf. Msc. Vladimir Camelo vladimir.professor@gmail.comvladimir.professor@gmail.com Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 2 INTRODUÇÃOINTRODUÇÃO No dicionário é possível encontrar a seguinte definição: No dicionário é possível encontrar a seguinte definição: "Computador - "Computador - aquele que faz cômputos ou que calcula; máquina à base de circuitos aquele que faz cômputos ou que calcula; máquina à base de circuitos eletrônicos que efetua grandes operações e cálculos gerais, de maneira eletrônicos que efetua grandes operações e cálculos gerais, de maneira rápida.”rápida.” O que é computador?O que é computador? Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 3 • O ábaco dos romanos consistia de bolinhas de mármore que deslizavam O ábaco dos romanos consistia de bolinhas de mármore que deslizavam numa placa de bronze cheia de sulcos. numa placa de bronze cheia de sulcos. • Isso gerou alguns termos matemáticos: em latim "Calx" significa mármore, Isso gerou alguns termos matemáticos: em latim "Calx" significa mármore, assim "Calculus" era uma bolinha do ábaco, e fazer calculos aritméticos assim "Calculus" era uma bolinha do ábaco, e fazer calculos aritméticos era "Calculare". era "Calculare". INTRODUÇÃOINTRODUÇÃO Ábaco chinês: construído há Ábaco chinês: construído há aproximadamente 1.200 d.c.aproximadamente 1.200 d.c. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 4 • Surgimento do ÁBACO há 2500 anos: Surgimento do ÁBACO há 2500 anos: Cálculos maiores e mais Cálculos maiores e mais complexos. complexos. • Tipos de ábacos:Tipos de ábacos: • O primeiro ábaco era formado por fios paralelos e contas ou arruelas O primeiro ábaco era formado por fios paralelos e contas ou arruelas deslizantes, que de acôrdo com a sua posição, representava a deslizantes, que de acôrdo com a sua posição, representava a quantidade a ser trabalhada.quantidade a ser trabalhada. • Russo: era o mais simples, continham 10 contas, bastando contá-las Russo: era o mais simples, continham 10 contas, bastando contá-las para obter as quantidades numéricas.para obter as quantidades numéricas. • Chinês: possuia 2 conjuntos por fio, contendo 5 contas no conjunto Chinês: possuia 2 conjuntos por fio, contendo 5 contas no conjunto das unidades e 2 contas que representavam 5 unidades.das unidades e 2 contas que representavam 5 unidades. • SOROBAN, ábaco japones simplificado (com 5 contas por fio, SOROBAN, ábaco japones simplificado (com 5 contas por fio, agrupadas 4x1), ainda utilizado para trabalhos mais simples. agrupadas 4x1), ainda utilizado para trabalhos mais simples. INTRODUÇÃOINTRODUÇÃO Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 5 Máquinas de calcularMáquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 6 John Napier (1550-1617) inventou a "Tábua de Napier", que era similar John Napier (1550-1617) inventou a "Tábua de Napier", que era similar a uma tabela de multiplicações. A tábua reduzia multiplicações e a uma tabela de multiplicações. A tábua reduzia multiplicações e divisões a adições e subtrações. divisões a adições e subtrações. Usando esse princípio, em 1620 foram criadas as réguas de cálculo, Usando esse princípio, em 1620 foram criadas as réguas de cálculo, usadas até 1970, antes das calculadoras de bolso. usadas até 1970, antes das calculadoras de bolso. Máquinas de calcularMáquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 7 Em 1642 um francês de 18 anos de nome Em 1642 um francês de 18 anos de nome Blaise Pascal (1623-1662), Blaise Pascal (1623-1662), inventou a primeira máquina de somar: PASCALINA, a qual executava inventou a primeira máquina de somar: PASCALINA, a qual executava operações aritméticas quando se giravam os discos interligados, sendo operações aritméticas quando se giravam os discos interligados, sendo assim a precursora das calculadoras mecânicas.assim a precursora das calculadoras mecânicas. A calculadora usava engrenagens que funcionavam de maneira similar A calculadora usava engrenagens que funcionavam de maneira similar a um odômetro.a um odômetro. Máquinas de calcularMáquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 8 Máquinas de calcularMáquinas de calcular Por volta do ano de 1671 na Alemanha,Por volta do ano de 1671 na Alemanha, Gottfried Wilhelm von Leibnitz Gottfried Wilhelm von Leibnitz (1646 - 1716) (1646 - 1716) inventou uma máquina muito parecida com a Pascalina, inventou uma máquina muito parecida com a Pascalina, que efetuava cálculos de multiplicação e divisão, e qual se tornou a que efetuava cálculos de multiplicação e divisão, e qual se tornou a antecessora direta das calculadoras manuais.antecessora direta das calculadoras manuais. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 9 Wilhelm Schickard (1592-1635) Wilhelm Schickard (1592-1635) construiu a primeira máquina de construiu a primeira máquina de verdade. verdade. Esta fazia multiplicação e divisão, mas foi perdida durante a Guerra dos Esta fazia multiplicação e divisão, mas foi perdida durante a Guerra dos Trinta Anos, sem que seu inventor pudesse defender sua primazia.Trinta Anos, sem que seu inventor pudesse defender sua primazia. Máquinas de calcularMáquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 10 A revolução industrialA revolução industrial Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 11 Em 1801, na França, durante a revolução industrial, Em 1801, na França, durante a revolução industrial, Joseph Marie Joseph Marie Jacquard (1752 - 1834) Jacquard (1752 - 1834) inventou um tear mecânico controlado por inventou um tear mecânico controlado por cartões perfurados.cartões perfurados. Sua máquina era capaz de produzir tecidos com desenhos bonitos e Sua máquina era capaz de produzir tecidos com desenhos bonitos e intrincados.intrincados. Foi tamanho o sucesso que Jacquard foi quase morto quando levou o Foi tamanho o sucesso que Jacquard foi quase morto quando levou o tear para Lyons: as pessoas tinham medo que o tear lhes fizesse perder o tear para Lyons: as pessoas tinham medo que o tear lhes fizesse perder o emprego. emprego. EvoluçãoEvolução Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 12 EvoluçãoEvolução Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 13 EvoluçãoEvolução Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 14 Evolução - Máquinas de calcularEvolução - Máquinas de calcular No ano de 1822, foi desenvolvido por um cientista inglês chamado Charles Babbage uma máquina diferencial que permitia cálculos como funções trigonométricas e logaritmas, utilizando os cartões de Jacquard. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 15 Em 1834 Charles Babbage, desenvolveu uma máquina analítica capaz de executar as quatro operações (somar, dividir, subtrair, multiplicar), armazenar dados em uma memória (de até 1.000 números de 50 dígitos) e imprimir resultados. Porém, sua máquina só pode ser concluída anos após a sua morte, tornando-sea base para a estrutura dos computadores atuais, fazendo com que Charles Babbage fosse considerado como o "Pai do Computador". Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 16 Charles Babbage nascido em Walworth, Surrey, on 26 December 1791.Charles Babbage nascido em Walworth, Surrey, on 26 December 1791. Residiu em Devonshire Street em London até 1828 e depois em 1 Residiu em Devonshire Street em London até 1828 e depois em 1 Dorset Street, Manchester Square, London, até sua morte. Dorset Street, Manchester Square, London, até sua morte. Eleito membro da Royal Society in 1816 e catedrático de Matemática em Eleito membro da Royal Society in 1816 e catedrático de Matemática em Cambridge University de 1828 até 1839 Cambridge University de 1828 até 1839 Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 17 Ada Byron, Lady Lovelace, uma das mais importantes figuras da História da Ada Byron, Lady Lovelace, uma das mais importantes figuras da História da Ciência da ComputaçãoCiência da Computação Augusta Ada Byron nasceu em 10/12/1815 filha do famoso poeta Lord Byron.Augusta Ada Byron nasceu em 10/12/1815 filha do famoso poeta Lord Byron. Evolução - Máquinas de calcularEvolução - Máquinas de calcular Ada inventou o conceito de Ada inventou o conceito de subrotinasubrotina: uma : uma seqüência de instruções que pode ser seqüência de instruções que pode ser usada várias vezes em diferentes usada várias vezes em diferentes contextos. contextos. Ela descobriu o valor das Ela descobriu o valor das repetiçõesrepetições - os - os laços (laços (loopsloops): deveria haver uma instrução ): deveria haver uma instrução que retornasse a leitora de cartões a um que retornasse a leitora de cartões a um cartão específico, de modo que a cartão específico, de modo que a seqüência pudesse ter sua execução seqüência pudesse ter sua execução repetida. repetida. Ela sonhava com o Ela sonhava com o desvio condicionaldesvio condicional: a : a leitora de cartões desviaria para outro leitora de cartões desviaria para outro cartão "se" alguma condição fosse cartão "se" alguma condição fosse satisfeita. .satisfeita. . Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 18 11aa geração geração 33aa geração geração 22aa geração geração Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 19 http://www.sciencemuseum.org.uk/on-line/babbage/index.asphttp://www.sciencemuseum.org.uk/on-line/babbage/index.asp Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 20 O matemático inglês O matemático inglês George Boole (1815 - 1864) George Boole (1815 - 1864) publicou em 1854 os publicou em 1854 os princípios da lógica booleana, onde as variáveis assumem apenas princípios da lógica booleana, onde as variáveis assumem apenas valores 0 e 1 (verdadeiro e falsovalores 0 e 1 (verdadeiro e falso). ). Evolução - Máquinas de calcularEvolução - Máquinas de calcular A lógica booleanaA lógica booleana As máquinas do século XIX usavam As máquinas do século XIX usavam base 10base 10. . A dificuldade de implementar um dígito A dificuldade de implementar um dígito decimal (um número inteiro entre 0 e 9) em decimal (um número inteiro entre 0 e 9) em componentes elétricos determinaram o uso componentes elétricos determinaram o uso da base 2 em computadores.da base 2 em computadores. A lógica booleana foi usada na A lógica booleana foi usada na implementação dos circuitos elétricos implementação dos circuitos elétricos internos a partir do século XX. internos a partir do século XX. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 21 Evolução - Máquinas de calcularEvolução - Máquinas de calcular A Era da Computação realmente teve início no ano de 1890, época do censo dos EUA, Hermann Hollerith percebeu que só conseguiria terminar de apurar os dados do censo quando já seria o tempo de se efetuar novo censo (1900). Então aperfeiçoou os cartões perfurados e inventou máquinas para manipulá-los, conseguindo obter os resultados em tempo recorde, isto é, 3 anos depois. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 22 Após os resultados obtidos por Hollerith, em 1896, fundou uma companhia chamada TMC - Tabulation Machine Company, vindo esta a se associar, em 1914 com duas outras pequenas empresas, formando a Computing Tabulation Recording Company vindo a se tornar, em 1924, a tão conhecida IBM - Internacional Business Machine. Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 23 CARTÃO PERFURADOCARTÃO PERFURADO Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 24 Evolução - Máquinas de calcularEvolução - Máquinas de calcular Em 1930, os cientistas começaram a progredir nas invenções de Em 1930, os cientistas começaram a progredir nas invenções de máquinas complexas, sendo que o Analisador Diferencial de Vannevar máquinas complexas, sendo que o Analisador Diferencial de Vannevar Bush anuncia a moderna era do computador.Bush anuncia a moderna era do computador. Em 1936, Allan Turing publica um artigo sobre "Números Computáveis" Em 1936, Allan Turing publica um artigo sobre "Números Computáveis" e Claude Shannon demonstra numa tese a conexão entre lógica e Claude Shannon demonstra numa tese a conexão entre lógica simbólica e circuítos elétricos.simbólica e circuítos elétricos. Em 1937, George Stibitz constrói em sua mesa de cozinha um "Somador Em 1937, George Stibitz constrói em sua mesa de cozinha um "Somador Binário". Binário". Com a chegada da Segunda Guerra Mundial houve a necessidade de se Com a chegada da Segunda Guerra Mundial houve a necessidade de se projetar máquinas capazes de executar cálculos balísticos com rapidez e projetar máquinas capazes de executar cálculos balísticos com rapidez e precisão para serem utilizadas na indústria bélica.precisão para serem utilizadas na indústria bélica. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 25 Em 1944, o 1º computador eletromecânico foi construído na Universidade de Em 1944, o 1º computador eletromecânico foi construído na Universidade de Harvard, pela equipe do professor H. Aiken e com a ajuda financeira da IBM, que Harvard, pela equipe do professor H. Aiken e com a ajuda financeira da IBM, que investiu US$ 500.000,00 no projeto, possuía o nome de MARK I, era controlado investiu US$ 500.000,00 no projeto, possuía o nome de MARK I, era controlado por programa e usava o sistema decimal.por programa e usava o sistema decimal. Tinha cerca de 15 metros de comprimento e 2,5 metros de altura, era envolvido Tinha cerca de 15 metros de comprimento e 2,5 metros de altura, era envolvido por uma caixa de vidro e de aço inoxidável brilhante e possuía as seguintes por uma caixa de vidro e de aço inoxidável brilhante e possuía as seguintes características:características: 760.000 peças 760.000 peças 800 km de fios 800 km de fios 420 interruptores para controle 420 interruptores para controle realizava uma soma em 0,3 s realizava uma soma em 0,3 s realizava uma multiplicação em 0,4 s realizava uma multiplicação em 0,4 s e uma divisão em cerca de 10 s e uma divisão em cerca de 10 s Evolução- Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 26 Evolução - Máquinas de calcularEvolução - Máquinas de calcular Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 27 O primeiro computadorO primeiro computador O primeiro computador eletromecânico, o chamado Z1, usava relês e foi O primeiro computador eletromecânico, o chamado Z1, usava relês e foi construído pelo alemão construído pelo alemão Konrad Zuse (1910 - 1995) Konrad Zuse (1910 - 1995) em 1936. em 1936. Zuze também construiu vários outros computadores para fins especiais, Zuze também construiu vários outros computadores para fins especiais, mas não teve muito apoio do governo Alemão, pois Hitler, na época mas não teve muito apoio do governo Alemão, pois Hitler, na época mandou embargar todas as pesquisas científicas, excetos as de curto mandou embargar todas as pesquisas científicas, excetos as de curto prazo, sendo que o projeto de Zuze levaria cerca de 2 anos para ser prazo, sendo que o projeto de Zuze levaria cerca de 2 anos para ser concluído.concluído. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 28 O MARK I prestou serviços de matemática em Harvard por 16 anos, O MARK I prestou serviços de matemática em Harvard por 16 anos, apesar de não ter feito sucesso, pois já era obsoleto antes de ser apesar de não ter feito sucesso, pois já era obsoleto antes de ser construído.construído. Em 1941, Konrad Zuse, na Alemanha, construía modelos de teste: Z1 e Em 1941, Konrad Zuse, na Alemanha, construía modelos de teste: Z1 e Z2, sendo logo após concluído um computador operacional (Z3), que Z2, sendo logo após concluído um computador operacional (Z3), que consistia de um dispositivo controlado por programa e baseado no consistia de um dispositivo controlado por programa e baseado no sistema binário que era menor e bem mais barata que o MARK I.sistema binário que era menor e bem mais barata que o MARK I. Os computadores Z3 e logo a seguir o Z4, eram utilizados na solução Os computadores Z3 e logo a seguir o Z4, eram utilizados na solução de problemas de engenharia de aeronaves e projetos de mísseis.de problemas de engenharia de aeronaves e projetos de mísseis. Umas das principais aplicações da máquinas de Zuze era quebrar os Umas das principais aplicações da máquinas de Zuze era quebrar os códigos secretos que os ingleses usavam para se comunicar com os códigos secretos que os ingleses usavam para se comunicar com os comandantes no campo.comandantes no campo. O primeiro computadorO primeiro computador Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 29 O primeiro computadorO primeiro computador Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 30 Os Computadores de Primeira Geração surgiram em 1943.Os Computadores de Primeira Geração surgiram em 1943. Um projeto britânico, sob a liderança do matemático Alan Turing, Um projeto britânico, sob a liderança do matemático Alan Turing, colocou em operação uma máquina mais ambiciosas, denominada colocou em operação uma máquina mais ambiciosas, denominada COLOSSUS, que ao invés de relés eletromecânicos, usava 2.000 COLOSSUS, que ao invés de relés eletromecânicos, usava 2.000 válvulas eletrônicas (por coincidência, + ou - o mesmo número de válvulas eletrônicas (por coincidência, + ou - o mesmo número de válvulas que Zuze propusera para a nova máquina que não lhe válvulas que Zuze propusera para a nova máquina que não lhe permitiram desenvolver). permitiram desenvolver). Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 31 Em 1946, foi projetado o ENIAC - Eletronic Numerical Interpreter and Em 1946, foi projetado o ENIAC - Eletronic Numerical Interpreter and Calculator, ou seja, "Computador e Integrador Numérico Eletrônico", Calculator, ou seja, "Computador e Integrador Numérico Eletrônico", para fins militares, pelo Departamento de Material de Guerra do para fins militares, pelo Departamento de Material de Guerra do Exército dos EUA, na Universidade de Pensilvânia.Exército dos EUA, na Universidade de Pensilvânia. Era o primeiro computador digital eletrônico de grande escala e foi Era o primeiro computador digital eletrônico de grande escala e foi projetado por John W. Mauchly (1907 - 1980) e John Presper Eckert projetado por John W. Mauchly (1907 - 1980) e John Presper Eckert (1919 – 1995) (que era um gênio em engenharia, pois quando tinha (1919 – 1995) (que era um gênio em engenharia, pois quando tinha apenas 8 anos construiu um rádio a cristal e colocou-o num lápis). apenas 8 anos construiu um rádio a cristal e colocou-o num lápis). Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 32 Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 33 Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 34 Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 35 O sucessor do ENIAC foi o EDVAC - Eletronic Discrete Variable O sucessor do ENIAC foi o EDVAC - Eletronic Discrete Variable Computer ou "Computador Eletrônico de Variáveis Discretas".Computer ou "Computador Eletrônico de Variáveis Discretas". O EDVAC foi planejado para acelerar o trabalho armazenando tanto O EDVAC foi planejado para acelerar o trabalho armazenando tanto programas quanto dados em sua expansão de memória interna.programas quanto dados em sua expansão de memória interna. Os dados eram armazenados eletronicamente em um meio material Os dados eram armazenados eletronicamente em um meio material composto de um tubo cheio de mercúrio, conhecido como linha de composto de um tubo cheio de mercúrio, conhecido como linha de retardo, onde os cristais dentro do tubo geravam pulsos eletrônicos que retardo, onde os cristais dentro do tubo geravam pulsos eletrônicos que se refletiam para frente e para trás, tão lentamente quanto podiam, de se refletiam para frente e para trás, tão lentamente quanto podiam, de fato a reter a informação, semelhante a um desfiladeiro que retém um fato a reter a informação, semelhante a um desfiladeiro que retém um eco, que Eckert decobriu por acaso ao trabalhar com radar.eco, que Eckert decobriu por acaso ao trabalhar com radar. Outra grande característica do EDVAC era poder codificar as Outra grande característica do EDVAC era poder codificar as informações em forma binária em vez da forma decimal, reduzindo informações em forma binária em vez da forma decimal, reduzindo bastante o número de válvulas.bastante o número de válvulas. Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 36 Em 1949, surge o EDSAC - Eletronic Delay Storage Automatic Calculator Em 1949, surge o EDSAC - Eletronic Delay Storage Automatic Calculator ou "Calculadora Automática com Armazenamento por Retardo ou "Calculadora Automática com Armazenamento por Retardo Eletrônico", o qual marcou o último grande passo na série de avanços Eletrônico", o qual marcou o último grande passo na série de avanços decisivos inspirados pela guerra.decisivos inspirados pela guerra. Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 37 Em 1951, surge o primeiro computador comercial o LEOEm 1951, surge o primeiro computador comercial o LEO Primeira geração de computadoresPrimeira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 38 Segunda geração de computadoresSegunda geração de computadores Os Computadores de Segunda Geração tiveram seu início em 1952, um Os Computadores de Segunda Geração tiveram seu início em 1952, um grupo de Stanford com a Bell Laboratories inventou o Transistor que grupo de Stanford com a Bell Laboratories inventou o Transistor que passou a ser um componente básico na construção de computadores e passou a ser um componente básico na construção de computadores e apresentava as seguintes vantagens:apresentava as seguintes vantagens: aquecimento mínimo aquecimento mínimo pequeno consumo de energia pequeno consumo de energia mais confiável e veloz do que as válvulas mais confiável e veloz do que as válvulas Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 39 Em 1952, John Mauchly e Presper Eckert abriram sua própria firma na Em 1952, John Mauchly e Presper Eckert abriram sua própria firma na Filadéfia e criaram o UNIVAC - Universal Automatic Computer Filadéfia e criaram o UNIVAC - Universal Automatic Computer ("Computador Automático Universal“), destinado ao uso comercial.("Computador Automático Universal“), destinado ao uso comercial. O UNIVAC era uma máquina eletrônica de programa armazenado que O UNIVAC era uma máquina eletrônica de programa armazenado que recebia instruções de uma fita magnética de alta velocidade ao invés dos recebia instruções de uma fita magnética de alta velocidade ao invés dos cartões perfurados e foi utilizado para prever os resultados de uma cartões perfurados e foi utilizado para prever os resultados de uma eleição presidencial.eleição presidencial. Segunda geração de computadoresSegunda geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 40 Em 1952, Grace Hopper transformou-se em uma pioneira no processamento de Em 1952, Grace Hopper transformou-se em uma pioneira no processamento de dados, pois criou o 1º compilador e ajudou a desenvolver 2 linguagens de dados, pois criou o 1º compilador e ajudou a desenvolver 2 linguagens de programação que tornaram os computadores mais atrativos para comércio. programação que tornaram os computadores mais atrativos para comércio. Em 1953, Jay Forrester, do MIT, construiu uma memória magnética menor e bem Em 1953, Jay Forrester, do MIT, construiu uma memória magnética menor e bem mais rápida, a qual substituía as que usavam válvulas eletrônicas.mais rápida, a qual substituía as que usavam válvulas eletrônicas. Em 1954, a IBM concluiu o 1º computador produzido em série, o 650, que era de Em 1954, a IBM concluiu o 1º computador produzido em série, o 650, que era de tamanho médio e enquanto isso, Gordon Teal, da Texas Instruments, descobre tamanho médio e enquanto isso, Gordon Teal, da Texas Instruments, descobre um meio de fabricar transistores de cristais isolados de silício a um custo baixo. um meio de fabricar transistores de cristais isolados de silício a um custo baixo. Segunda geração de computadoresSegunda geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 41 Conclui-se em 1955, o primeiro computador transistorizado, feito pela Bell Laboratories: o TRADIC, o qual possuía 800 transistores, sendo cada um em seu próprio recipiente Segunda geração de computadoresSegunda geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 42 Os Computadores de 3º Geração surgiram entre 1958 a 1959, Robert Os Computadores de 3º Geração surgiram entre 1958 a 1959, Robert Noyce, Jean Hoerni, Jack Kilby e Kurt Lehovec participam do Noyce, Jean Hoerni, Jack Kilby e Kurt Lehovec participam do desenvolvimento do Circuito Integrado (CI).desenvolvimento do Circuito Integrado (CI). Em 1960, a IBM lança o IBM/360, cuja série marcou uma nova tendência Em 1960, a IBM lança o IBM/360, cuja série marcou uma nova tendência na construção de computadores com o uso de CI, ou pastilhas, que na construção de computadores com o uso de CI, ou pastilhas, que ficaram conhecidas como Chips.ficaram conhecidas como Chips. Esses chips incorporavam, numa única peça de dimensões reduzidas, Esses chips incorporavam, numa única peça de dimensões reduzidas, várias dezenas de transistores já interligados, formando circuitos várias dezenas de transistores já interligados, formando circuitos eletrônicos complexos. eletrônicos complexos. Steven Hofstein, descobriu, em 1961, o transistor de efeito de campo, Steven Hofstein, descobriu, em 1961, o transistor de efeito de campo, usado nos circuitos integrados MOS. usado nos circuitos integrados MOS. No ano de 1965, a Digital Equipment introduz o PDP-8, o primeiro No ano de 1965, a Digital Equipment introduz o PDP-8, o primeiro minicomputador comercial e com preço competitivo.minicomputador comercial e com preço competitivo. Terceira geração de computadoresTerceira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 43 Terceira geração de computadoresTerceira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 44 Em 1971, Ted Hoff, planeja o microprocessador Intel 4004, o qual era um Em 1971, Ted Hoff, planeja o microprocessador Intel 4004, o qual era um único chip com todas as partes básicas de um processador central. Esse único chip com todas as partes básicas de um processador central. Esse processador era a CPU de um computador de 4 bits.processador era a CPU de um computador de 4 bits. Em1974, Ed Roberts, do MITS (Micro Instrumentation and Telemetry Em1974, Ed Roberts, do MITS (Micro Instrumentation and Telemetry Systems) em Albuquerque - Novo México, constrói um microcomputador Systems) em Albuquerque - Novo México, constrói um microcomputador chamado ALTAIR 8800 (o nome "Altair" se deve a uma estrela, pois chamado ALTAIR 8800 (o nome "Altair" se deve a uma estrela, pois consideravam o lançamento da máquina um "evento estelar"), cuja consideravam o lançamento da máquina um "evento estelar"), cuja máquina foi construída com base no processador da Intel o 8080, que já máquina foi construída com base no processador da Intel o 8080, que já era um descendente do processador Intel 8008.era um descendente do processador Intel 8008. O ALTAIR tornou-se o maior sucesso, marcando o início de uma O ALTAIR tornou-se o maior sucesso, marcando o início de uma indústria multibilionária, pois Roberts esperava vender uns oitocentos indústria multibilionária, pois Roberts esperava vender uns oitocentos ALTAIR por ano e acabou tendo dificuldades para satisfazer 4.000 ALTAIR por ano e acabou tendo dificuldades para satisfazer 4.000 pedidos!pedidos! Terceira geração de computadoresTerceira geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 45 Os Computadores de 4º Geração surgiram na década de 80, foi criado o Os Computadores de 4º Geração surgiram na década de 80, foi criado o Integratede Circuit Large Scale Integration (ICSLI - Circuito Integrado em Integratede Circuit Large Scale Integration (ICSLI - Circuito Integrado em Larga Escala de Integração), no qual foram desenvolvidas técnicas para Larga Escala de Integração), no qual foram desenvolvidas técnicas para se aumentar cada vez mais o número de componentes no mesmo se aumentar cada vez mais o número de componentes no mesmo circuito integrado.circuito integrado. Alguns tipos de ICLSI incorporavam até 300.000 componentes em uma Alguns tipos de ICLSIincorporavam até 300.000 componentes em uma única pastilha.única pastilha. Em 1981, a IBM resolve entrar no mercado de microcomputadores com o Em 1981, a IBM resolve entrar no mercado de microcomputadores com o IBM-PC.IBM-PC. Quarta geração de computadoresQuarta geração de computadores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 46 Quinta geração de computadoresQuinta geração de computadores Os computadores de 5º Geração têm como característica o uso de Os computadores de 5º Geração têm como característica o uso de Integrated Circuit Very Large Scale Integration (ICVLSI - Circuitos Integrated Circuit Very Large Scale Integration (ICVLSI - Circuitos Integrados em uma Escala Muito Maior de Integração). Integrados em uma Escala Muito Maior de Integração). Os "chips" vêm diminuindo tanto de tamanho, fazendo com que seja Os "chips" vêm diminuindo tanto de tamanho, fazendo com que seja possível a criação de computadores cada vez menores, como é o caso possível a criação de computadores cada vez menores, como é o caso da micro-miniaturização do microprocessador F-100, que mede somente da micro-miniaturização do microprocessador F-100, que mede somente 0,6 cm quadrados e é pequeno o suficiente para passar pelo buraco de 0,6 cm quadrados e é pequeno o suficiente para passar pelo buraco de uma agulha!uma agulha! Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 47 Von NeumannVon Neumann O matemático húngaro John Von Neumann (1903-1957) formalizou o O matemático húngaro John Von Neumann (1903-1957) formalizou o projeto lógico de um computador. projeto lógico de um computador. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 48 Von NeumannVon Neumann John von Neumann estabeleceu em 1945 os princípios de operação de John von Neumann estabeleceu em 1945 os princípios de operação de um computador eletrônico digital.um computador eletrônico digital. Estes princípios ficaram conhecidos como arquitetura de Von Neumann Estes princípios ficaram conhecidos como arquitetura de Von Neumann e são ainda hoje as bases de operação dos computadores modernos;e são ainda hoje as bases de operação dos computadores modernos; A arquitetura de von Neumann, é uma arquitetura que se caracteriza A arquitetura de von Neumann, é uma arquitetura que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular no mesmo espaço de memória que os dados, podendo assim manipular tais programas.tais programas. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 49 Arquitetura de von NeumannArquitetura de von Neumann Esta arquitetura baseia-se em três componentes principais:Esta arquitetura baseia-se em três componentes principais: Memória;Memória; Unidade Lógica e Aritmética (ULA);Unidade Lógica e Aritmética (ULA); Unidade Central de Processamento (UCP).Unidade Central de Processamento (UCP). Unidade de Controle (UC);Unidade de Controle (UC); Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 50 Memória: Memória: A memória permite o armazenamento de dados e programas A memória permite o armazenamento de dados e programas (conjunto de instruções a serem executadas).(conjunto de instruções a serem executadas). Unidade Lógica e Aritmética:Unidade Lógica e Aritmética: A ULA é a responsável pela execução de operações aritméticas. A A ULA é a responsável pela execução de operações aritméticas. A tecnologia utilizada foi inicialmente Relés, herança da telefonia, e tecnologia utilizada foi inicialmente Relés, herança da telefonia, e posteriormente Válvulas, herança da radiofonia.posteriormente Válvulas, herança da radiofonia. Com o aparecimento dos transistores, e depois dos circuitos Com o aparecimento dos transistores, e depois dos circuitos integrados, os circuitos da unidade lógica e aritmética passaram a integrados, os circuitos da unidade lógica e aritmética passaram a ser implementados com a tecnologia de semi-condutoresser implementados com a tecnologia de semi-condutores Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 51 Unidade de Controle: Unidade de Controle: A UC é um circuito lógico responsável pelo funcionamento da A UC é um circuito lógico responsável pelo funcionamento da máquina, controlando o fluxo de instruções.máquina, controlando o fluxo de instruções. Este funcionamento realiza-se em ciclos.Este funcionamento realiza-se em ciclos. Unidade Central de ProcessamentoUnidade Central de Processamento Neste componente, formado basicamente por um conjunto de Neste componente, formado basicamente por um conjunto de registradores, são armazenados os dados e a instrução correntes.registradores, são armazenados os dados e a instrução correntes. Originalmente, os registradores eram seqüências de relés ou Originalmente, os registradores eram seqüências de relés ou válvulas capazes de armazenar um certo número de bits.válvulas capazes de armazenar um certo número de bits. Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 52 Unidade Central de ProcessamentoUnidade Central de Processamento Os registradores são utilizados como locais de armazenamento Os registradores são utilizados como locais de armazenamento temporário de dados provenientes da memória destinados à ULA, temporário de dados provenientes da memória destinados à ULA, ou vice-versa.ou vice-versa. Existem ainda registradores cuja função é armazenar informações Existem ainda registradores cuja função é armazenar informações relevantes ao controle do processamento.relevantes ao controle do processamento. Os principais registradores utilizados na arquitetura de von Os principais registradores utilizados na arquitetura de von Neumann e suas respectivas funções são os seguintes:Neumann e suas respectivas funções são os seguintes: Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 53 Unidade Central de Processamento: Unidade Central de Processamento: Os principais registradores Os principais registradores utilizados na arquitetura de von Neumann e suas respectivas funções utilizados na arquitetura de von Neumann e suas respectivas funções são:são: IC (IC (Instruction CounterInstruction Counter)) - contém o endereço na memória com a - contém o endereço na memória com a próxima instrução a ser executada.próxima instrução a ser executada. IR (IR (Instuction RegisterInstuction Register)) - contém a próxima instrução a ser - contém a próxima instrução a ser executada.executada. MAR (MAR (Memory Address RegisterMemory Address Register)) - contém o endereço da posição - contém o endereço da posição da memória a ser lida ou escrita.da memória a ser lida ou escrita. MBR (MBR (Memory Buffer RegisterMemory Buffer Register)) - contém o dado a ser lido ou - contém o dado a ser lido ou escrito na memória.escrito na memória. Registradores de propósito geralRegistradores de propósito geral - usados para armazenar - usados para armazenar resultados intermediários.resultados intermediários. Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 54 MemóriaMemória Unidade de ControleUnidade de Controle ICIC IRIR Registrador ARegistrador A Registrador BRegistrador B Registrador CRegistrador C ULAULA MARMAR MBRMBR Aprincipal característica da A principal característica da arquitetura de Von Neumann é arquitetura de Von Neumann é que o processamento é feito de que o processamento é feito de forma seqüencial (por meio do forma seqüencial (por meio do incremento do IC), sendo que incremento do IC), sendo que fluxo de instruções pode ter fluxo de instruções pode ter desvios condicionais ou desvios condicionais ou condicionais.condicionais. Esta arquitetura persiste até Esta arquitetura persiste até hoje, mesmo nos computadores hoje, mesmo nos computadores modernos.modernos. Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 55 1.1. Transferência do conteúdo do IC para o MAR.Transferência do conteúdo do IC para o MAR. 2.2. Busca da próxima instrução e sua transferência para MBR.Busca da próxima instrução e sua transferência para MBR. 3.3. Transferência do conteúdo do MBR para o IR (Transferência do conteúdo do MBR para o IR (instruction fetchinstruction fetch).). 4.4. Decodificação da instrução pelo circuito lógico da unidade de controle.Decodificação da instrução pelo circuito lógico da unidade de controle. 5.5. Execução da operação:Execução da operação: Em cada ciclo de funcionamento da máquina são executadas as seguintes Em cada ciclo de funcionamento da máquina são executadas as seguintes operações:operações: Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 5630/08/09 vladimir.professor@gmail.com 56 1.1. Fim do ciclo retorna para (1)Fim do ciclo retorna para (1) Em cada ciclo de funcionamento da máquina são executadas as seguintes Em cada ciclo de funcionamento da máquina são executadas as seguintes operações:operações: Operação aritmética – neste caso, a ALU opera sobre números armazenados Operação aritmética – neste caso, a ALU opera sobre números armazenados em dois ou mais registradores específicos para o tipo de operação.em dois ou mais registradores específicos para o tipo de operação. Leitura ou gravação de um dado na memória – se a instrução for de leitura, o Leitura ou gravação de um dado na memória – se a instrução for de leitura, o endereço do operando, contido no IR, é transferido para o MAR e o valor lido endereço do operando, contido no IR, é transferido para o MAR e o valor lido é transferido para o MBR e daí para um registrador apropriado para a é transferido para o MBR e daí para um registrador apropriado para a operação. Se a instrução for de gravação na memória (por exemplo, um operação. Se a instrução for de gravação na memória (por exemplo, um resultado de uma operação), o dado é transferido de um registrador para o resultado de uma operação), o dado é transferido de um registrador para o MBR, com seu endereço na memória em MAR.MBR, com seu endereço na memória em MAR. Arquitetura de von NeumannArquitetura de von Neumann Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 57 São Paulo, 2009São Paulo, 2009 Faculdades Metropolitanas Unidas (FMU)Faculdades Metropolitanas Unidas (FMU) HardwareHardware Prof. Msc. Vladimir CameloProf. Msc. Vladimir Camelo vladimir.professor@gmail.comvladimir.professor@gmail.com Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 58 O que é um Computador ?O que é um Computador ? Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 59 Os computadores atuais são dispositivos eletrônicos que utilizam Os computadores atuais são dispositivos eletrônicos que utilizam rotinas pré-programadas para realizar quatro operações fundamentais, rotinas pré-programadas para realizar quatro operações fundamentais, como:como: Entrada (Input)Entrada (Input) Processamento (Processing)Processamento (Processing) Saída (Output)Saída (Output) Armazenamento (Storage)Armazenamento (Storage) Estrutura do computadorEstrutura do computador Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 60 Estrutura do computadorEstrutura do computador ComputadorComputador Memória Memória PrincipalPrincipal Controladores Controladores de E/Sde E/S Sistema de Sistema de interconexãointerconexão Dispositivos Dispositivos de E/Sde E/S CPUCPU ComputadorComputador Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 61 Estrutura do computadorEstrutura do computador ComputadorComputador Unidade Unidade lógica e lógica e aritméticaaritmética Unidade Unidade de controlede controle Sistema de Sistema de interconexão interconexão internointerno RegistradoresRegistradores CPUCPU E/SE/S MemóriaMemória BarramentosBarramentos CPUCPU Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 62 Dispositivos de Entrada: são utilizados para a inserção de dados em um Dispositivos de Entrada: são utilizados para a inserção de dados em um computador para que estes possam ser processados.computador para que estes possam ser processados. Dispositivos de entrada comuns:Dispositivos de entrada comuns: Telas Telas touch-screentouch-screen TecladoTeclado MouseMouse ScannerScanner Dispositivos de entradaDispositivos de entrada Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 63 Saída: o resultado produzido pela CPU.Saída: o resultado produzido pela CPU. Formas comuns de saída: texto, números, gráficos e sons.Formas comuns de saída: texto, números, gráficos e sons. Dispositivos comuns de saída:Dispositivos comuns de saída: Tela (monitor): pode exibir texto, números, fotografias e até mesmo Tela (monitor): pode exibir texto, números, fotografias e até mesmo vídeo, totalmente em cores.vídeo, totalmente em cores. Impressora: produz relatórios impressos conforme as instruções de Impressora: produz relatórios impressos conforme as instruções de um programa.um programa. Dispositivos de saídaDispositivos de saída Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 64 Dois tipos de armazenamento:Dois tipos de armazenamento: Armazenamento secundário:Armazenamento secundário: Armazenamento de longo prazo.Armazenamento de longo prazo. Armazenado em mídia externa; por exemplo, um disco.Armazenado em mídia externa; por exemplo, um disco. Armazenamento primário (memória):Armazenamento primário (memória): Armazena dados temporariamente.Armazena dados temporariamente. A CPU referencia-o tanto para obtenção de instruções de A CPU referencia-o tanto para obtenção de instruções de programa como de dados.programa como de dados. Armazenamento de dadosArmazenamento de dados Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 65 Provê armazenamento em longo prazo:Provê armazenamento em longo prazo: Separado da memória.Separado da memória. Mídias comuns:Mídias comuns: Discos magnéticosDiscos magnéticos Discos ópticosDiscos ópticos Fita magnéticaFita magnética Armazenamento secundárioArmazenamento secundário Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 66 Usado para guardar dados temporariamente:Usado para guardar dados temporariamente: Depois que eles são recebidos do dispositivo de entrada e antes de Depois que eles são recebidos do dispositivo de entrada e antes de serem processados.serem processados. Depois que eles são processados e antes de serem liberados para o Depois que eles são processados e antes de serem liberados para o dispositivo de saída.dispositivo de saída. Armazenamento temporário (volátil):Armazenamentotemporário (volátil): Os dados contidos na memória se perdem se a energia cair ou se o Os dados contidos na memória se perdem se a energia cair ou se o programa for fechado.programa for fechado. Armazenamento primárioArmazenamento primário Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 67 Também conhecida como armazenamento primário e memória principal.Também conhecida como armazenamento primário e memória principal. Freqüentemente expressa como memória de acesso aleatório (RAM).Freqüentemente expressa como memória de acesso aleatório (RAM). Não faz parte da CPU.Não faz parte da CPU. Retém dados e instruções para serem processados.Retém dados e instruções para serem processados. Armazena informações somente enquanto o programa está em Armazena informações somente enquanto o programa está em operação.operação. MemóriaMemória Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 68 Cada localização de memória tem um endereço:Cada localização de memória tem um endereço: Um número único, como em uma caixa postal.Um número único, como em uma caixa postal. Pode conter somente uma instrução ou peça de dados:Pode conter somente uma instrução ou peça de dados: Quando dados são reescritos na memória, o conteúdo anterior Quando dados são reescritos na memória, o conteúdo anterior desse endereço é destruído.desse endereço é destruído. Referenciado pelo número:Referenciado pelo número: As linguagens de programação usam um endereço simbólico As linguagens de programação usam um endereço simbólico (nomeado), tal como Horas ou Salário.(nomeado), tal como Horas ou Salário. Endereços de MemóriaEndereços de Memória Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 69 Representação de Dados Os computadores entendem apenas Os computadores entendem apenas duas coisas: ligado e desligado.duas coisas: ligado e desligado. Os dados são representados na forma Os dados são representados na forma binária:binária: Sistema numérico binário (base 2).Sistema numérico binário (base 2). Contém somente 2 dígitos: 0 e 1.Contém somente 2 dígitos: 0 e 1. Corresponde a dois estados: Corresponde a dois estados: ligado e desligado.ligado e desligado. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 70 Bit Bit ByteByte Palavra Palavra Representação de Dados Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 71 Bit Abreviação de Abreviação de binary digit binary digit (dígito binário).(dígito binário). Dois valores possíveis: 0 e 1.Dois valores possíveis: 0 e 1. Nunca pode estar vazio.Nunca pode estar vazio. Unidade básica para armazenar dados:Unidade básica para armazenar dados: 0 significa desligado; 0 significa desligado; 1 significa ligado1 significa ligado Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 72 Um grupo é formado por um conjunto de 8 bits.Um grupo é formado por um conjunto de 8 bits. Para texto, armazena um caractere:Para texto, armazena um caractere: Pode ser letra, dígito ou caractere especial.Pode ser letra, dígito ou caractere especial. Dispositivos de memória de armazenamento são medidos em número Dispositivos de memória de armazenamento são medidos em número de bytes.de bytes. Byte Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 73 É o número de bits que a CPU processa como uma unidade.É o número de bits que a CPU processa como uma unidade. Tipicamente, um número inteiro de bytes.Tipicamente, um número inteiro de bytes. Quanto maior a palavra, mais potente é o computador.Quanto maior a palavra, mais potente é o computador. Computadores pessoais tipicamente têm 32 ou 64 bits de extensão Computadores pessoais tipicamente têm 32 ou 64 bits de extensão de palavras.de palavras. Palavra Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 74 Um pequeno bloco de memória de alta velocidade:Um pequeno bloco de memória de alta velocidade: Armazena os dados e as instruções usados com mais freqüência e Armazena os dados e as instruções usados com mais freqüência e mais recentemente.mais recentemente. O microprocessador procura primeiramente na cache os O microprocessador procura primeiramente na cache os dados de que necessita:dados de que necessita: Transferidos da cache muito mais rapidamente do que da memória.Transferidos da cache muito mais rapidamente do que da memória. Se não estiverem na cache, a unidade de controle recupera-os da Se não estiverem na cache, a unidade de controle recupera-os da memória.memória. Quanto mais “presença de dados” na cache, mais rápido é o Quanto mais “presença de dados” na cache, mais rápido é o desempenho do sistema.desempenho do sistema. Memória cache Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 75 ProcessadorProcessador CacheCache RAMRAM Memória cache Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 76 Áreas de armazenamento temporário de alta velocidade.Áreas de armazenamento temporário de alta velocidade. Localizações de armazenamento situadas dentro da CPU.Localizações de armazenamento situadas dentro da CPU. Funcionam sob direção da unidade de controle:Funcionam sob direção da unidade de controle: Recebem, guardam e transferem instruções ou dados.Recebem, guardam e transferem instruções ou dados. Controlam onde a próxima instrução a ser executada ou os dados Controlam onde a próxima instrução a ser executada ou os dados necessários serão armazenados.necessários serão armazenados. Registradores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 77 UC- Unidade de UC- Unidade de controlecontrole ULA- Unidade lógica e ULA- Unidade lógica e aritmética controlearitmética controle RegistradoresRegistradores AA BB CC DD CICI RIRI Unidade Central de Processamento - CPUUnidade Central de Processamento - CPU RI- registrador de instruçõesRI- registrador de instruções CI- contador de instruçõesCI- contador de instruções Registradores Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 78 Registradores CPCP +1+1 RERE RIRI AA RDRD MemóriaMemória controlecontrole ULAULA ...... 2424 2525 2626 2727 2828 2929 3030 3131 3232 3333 3434 ...... LOAD_D M(28)LOAD_D M(28) ADD_D M(29)ADD_D M(29) valor 23valor 23 valor 17valor 17 STOR_D M(30)STOR_D M(30) ADD_I valor 5ADD_I valor 5 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 79 Centro de atividade do computadorCentro de atividade do computador Consiste em circuitos elétricos: Consiste em circuitos elétricos: Interpreta e executa instruções de programa.Interpreta e executa instruções de programa. Comunica-se com os dispositivos de entrada, saída e Comunica-se com os dispositivos de entrada, saída e armazenamento.armazenamento. Transforma dados, de fato, em informaçãoTransforma dados, de fato, em informação Processador Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 80 Unidade Central de Processamento (CPU) Conjunto complexo de circuitos eletrônicos.Conjunto complexo de circuitos eletrônicos. Executa instruções de programa armazenadas.Executa instruções de programa armazenadas. Duas partes:Duas partes: Unidade de controleUnidade de controle Unidade aritmética e lógica (ALU)Unidade aritmética e lógica (ALU) Introdução a Ciência da Computação (ICC) 30/08/09vladimir.professor@gmail.com 81 Unidade de Controle Direciona o sistema do computador a executar instruções de programa Direciona o sistema do computador a executar instruções de programa armazenadas.armazenadas. Deve comunicar-se com a memória e com a ALU.Deve comunicar-se com a memória e com a ALU. Envia dados e instruções do armazenamento secundário para a Envia dados e instruções do armazenamento secundário para a memória, quando necessário.memória, quando necessário. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 82 Unidade Aritmética e Lógica Executa todas as operações aritméticas e lógicas.Executa todas as operações aritméticas e lógicas. Operações aritméticas:Operações aritméticas: Adição, subtração, multiplicação, divisão.Adição, subtração, multiplicação, divisão. Operações lógicas:Operações lógicas: Comparação de números, letras ou caracteres especiais.Comparação de números, letras ou caracteres especiais. Testa uma de três condições:Testa uma de três condições: Condição de igualdade (igual a)Condição de igualdade (igual a) Condição menor queCondição menor que Condição maior queCondição maior que Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 83 A CPU e a Memória A CPU não pode processar dados diretamente do disco ou de um A CPU não pode processar dados diretamente do disco ou de um dispositivo de entrada:dispositivo de entrada: Primeiro eles devem ser passados para a memória, onde deverão Primeiro eles devem ser passados para a memória, onde deverão residir.residir. A passagem destes dados para a memória é realizada pela unidade A passagem destes dados para a memória é realizada pela unidade de controle.de controle. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 84 Itens enviados à CPU para ser processados:Itens enviados à CPU para ser processados: A unidade de controle envia itens à CPU e depois os envia A unidade de controle envia itens à CPU e depois os envia novamente à memória após serem processados.novamente à memória após serem processados. Dados e instruções permanecem na memória até serem enviados a um Dados e instruções permanecem na memória até serem enviados a um dispositivo de saída ou armazenamento, ou o programa ser fechadodispositivo de saída ou armazenamento, ou o programa ser fechado A CPU e a Memória Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 85 Como a CPU Executa Instruções Quatro etapas são executadas para cada instrução:Quatro etapas são executadas para cada instrução: A unidade de controle recebe a instrução da memória e a coloca em A unidade de controle recebe a instrução da memória e a coloca em um registro.um registro. A unidade de controle decodifica a instrução e determina qual é a A unidade de controle decodifica a instrução e determina qual é a localização na memória para os dados necessários.localização na memória para os dados necessários. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 86 A unidade de controle transfere dados da memória para registros na A unidade de controle transfere dados da memória para registros na ALU.ALU. A ALU executa instruções relativas aos dados.A ALU executa instruções relativas aos dados. A unidade de controle armazena o resultado da operação na memória A unidade de controle armazena o resultado da operação na memória ou em um registro. ou em um registro. Como a CPU Executa Instruções Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 87 O Ciclo da Máquina Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 88 Barramento Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 89 Um barramento é um conjunto de condutores elétricos em um Um barramento é um conjunto de condutores elétricos em um computador que permite a comunicação entre vários componentes do computador que permite a comunicação entre vários componentes do computador, tais como, o CPU, memória, unidades E/S.computador, tais como, o CPU, memória, unidades E/S. Conceito Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 90 É um conjunto de linhas É um conjunto de linhas (ligações físicas) (ligações físicas) que transportam os que transportam os endereços das células de memória ou das portas de entrada e saída.endereços das células de memória ou das portas de entrada e saída. Barramento de endereços Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 91 É um conjunto de linhas É um conjunto de linhas (ligações físicas) (ligações físicas) por onde se transportam as por onde se transportam as informações digitais binárias (instruções, dados, resultados) entre a informações digitais binárias (instruções, dados, resultados) entre a CPU, memória e I/O (bidirecional).CPU, memória e I/O (bidirecional). Barramento de dados Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 92 Barramentos de controle indica à memória ou dispositivos de indica à memória ou dispositivos de Entrada / Saída – Input/Output (E/Entrada / Saída – Input/Output (E/ S - I/O) S - I/O) se a CPU deseja fazer uma operação de se a CPU deseja fazer uma operação de leitura ou escrita.leitura ou escrita. Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 93 Exemplo: funcionamento interno CPU/Memória O processador está executando um programa e buscou a seguinte O processador está executando um programa e buscou a seguinte instrução:instrução: some #0 e #2 e guarde o resultado em #3 onde #0 e #2 são some #0 e #2 e guarde o resultado em #3 onde #0 e #2 são endereços de memória endereços de memória onde se encontram os valores a serem somados onde se encontram os valores a serem somados supondo que #0 contém o número 13 #2 contém o número 20supondo que #0 contém o número 13 #2 contém o número 20 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 94 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 95 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 96 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 97 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 98 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 99 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 100 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 101 São Paulo, 2009São Paulo, 2009 Faculdades Metropolitanas Unidas (FMU)Faculdades Metropolitanas Unidas (FMU) Transformações de bases e Transformações de bases e operações aritméticasoperações aritméticas Prof. Msc. Vladimir CameloProf. Msc. Vladimir Camelo vladimir.professor@gmail.comvladimir.professor@gmail.com Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 102 O sistema de numeração que estamos acostumados a utilizar é o O sistema de numeração que estamos acostumados a utilizar é o decimal, cujo alfabeto (coleção de símbolos) é formado por 10 dígitos.decimal, cujo alfabeto (coleção de símbolos) é formado por 10 dígitos. Um Um computador decimal: computador decimal: se trabalhasse com o sistema decimal um se trabalhasse com o sistema decimal um computador precisaria codificar 10 níveis de referência para caracterizar computador precisaria codificar 10 níveis de referência para caracterizar os 10dígitos do sistema utilizado.os 10 dígitos do sistema utilizado. Esses níveis de referência poderiam ser valores de tensão (0V, 1V, 2V, Esses níveis de referência poderiam ser valores de tensão (0V, 1V, 2V, etc.) que precisariam ser definidos e interpretados de maneira clara e etc.) que precisariam ser definidos e interpretados de maneira clara e precisa pela máquina. precisa pela máquina. Desvantagem: Desvantagem: quanto maior o número de interpretações maior a quanto maior o número de interpretações maior a probabilidade de erro.probabilidade de erro. Para decidir que está lendo o número 5 a máquina precisaria ter certeza Para decidir que está lendo o número 5 a máquina precisaria ter certeza de que o que leu não é: 0, 1, 2, 3, 4, 6, 7, 8, 9.de que o que leu não é: 0, 1, 2, 3, 4, 6, 7, 8, 9. Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 103 Conseqüência: Conseqüência: O sistema de numeração mais seguro deveria ser O sistema de numeração mais seguro deveria ser aquele com o menor número de símbolos (dígitos).aquele com o menor número de símbolos (dígitos). Conclusão: Conclusão: o melhor sistema de numeração para uma máquina seria o o melhor sistema de numeração para uma máquina seria o binário com apenas dois dígitos, o zero (0) e o um (1).binário com apenas dois dígitos, o zero (0) e o um (1). Obs.: Obs.: Não há sistema de numeração com alfabeto de um único dígito. Não há sistema de numeração com alfabeto de um único dígito. Todo sistema de numeração precisa dos conceitos de presença (1) e Todo sistema de numeração precisa dos conceitos de presença (1) e ausência (0).ausência (0). Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 104 Um possível problema no uso de máquinas binárias: o número binário Um possível problema no uso de máquinas binárias: o número binário precisa de mais dígitos para ser escrito do que o decimal. precisa de mais dígitos para ser escrito do que o decimal. Quatro em decimal é representado como 4. Sua representação em Quatro em decimal é representado como 4. Sua representação em binário é 100. binário é 100. Conseqüência: o computador binário seria mais preciso porém muito Conseqüência: o computador binário seria mais preciso porém muito lento porque a leitura da informação iria requerer mais tempo.lento porque a leitura da informação iria requerer mais tempo. (2)(2)1010 número de animais representado em decimal número de animais representado em decimal (10)(10)2 2 número de animais representado em binário número de animais representado em binário Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 105 Uma solução: Uma solução: o uso de dispositivos eletrônicos baseados na tecnologia o uso de dispositivos eletrônicos baseados na tecnologia dos semicondutores, como os transistores.dos semicondutores, como os transistores. O O transistor: transistor: é um dispositivo usado para controlar o fluxo de corrente. é um dispositivo usado para controlar o fluxo de corrente. Ele tem duas características importantes:Ele tem duas características importantes: 1 - é capaz de amplificar um sinal elétrico.1 - é capaz de amplificar um sinal elétrico. 2 - é capaz de chavear (comutar) entre ligado e desligado (fechado e 2 - é capaz de chavear (comutar) entre ligado e desligado (fechado e aberto), deixando corrente passar através dele ou bloqueando-a. aberto), deixando corrente passar através dele ou bloqueando-a. Essas condições são também denominadas “saturação” e “corte”.Essas condições são também denominadas “saturação” e “corte”. Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 106 O O transistortransistor pode mudar da condição de saturação para o corte em pode mudar da condição de saturação para o corte em velocidades acima de um milionésimo de segundo.velocidades acima de um milionésimo de segundo. Ele pode ser usado para caracterizar a presença (ou ausência) de um Ele pode ser usado para caracterizar a presença (ou ausência) de um dígito binário (0 ou 1) e pode tomar decisões desse tipo a uma taxa dígito binário (0 ou 1) e pode tomar decisões desse tipo a uma taxa superior a um milhão de decisões por segundo.superior a um milhão de decisões por segundo. Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 10730/08/09 vladimir.professor@gmail.com 107 O primeiro TransistorO primeiro Transistor Um Transistor moderno Um Transistor moderno Transistor: inventado nos Laboratórios da Bell Telephone em 12/1947 Transistor: inventado nos Laboratórios da Bell Telephone em 12/1947 por John Bardeen, Walter Brattain e William Shockley – Prêmio Nobel de por John Bardeen, Walter Brattain e William Shockley – Prêmio Nobel de física de 1956.física de 1956. O transistor é capaz de comutar em um milionésimo de segundo entre o O transistor é capaz de comutar em um milionésimo de segundo entre o corte e a saturação.corte e a saturação. Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 108 Sistemas de Numeração Classificação:Classificação: Sistema de numeração posicionalSistema de numeração posicional Sistema de numeração não posicionalSistema de numeração não posicional Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 109 Nos sistemas de numeração posicional, o valor do dígito em um Nos sistemas de numeração posicional, o valor do dígito em um número depende da posição que ele ocupa neste mesmo número. número depende da posição que ele ocupa neste mesmo número. 19891989 = 1000+900+80+9= 1000+900+80+9 1989 = 1x101989 = 1x1033 + 9x10 + 9x1022 + 8x10 + 8x1011 + 9x10 + 9x1000 Há um peso para cada posição ocupada pelo dígito.Há um peso para cada posição ocupada pelo dígito. Os pesos crescem para esquerda na parte inteira e decrescem Os pesos crescem para esquerda na parte inteira e decrescem para a direita na parte fracionária para a direita na parte fracionária 1989,4= 1x101989,4= 1x1033 + 9x10 + 9x1022 + 8x10 + 8x1011 + 9x10 + 9x1000+4x10+4x10-1-1 Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 110 Exemplo:Exemplo: Número 5.303 na base 10 = 5303Número 5.303 na base 10 = 53031010 Composto de 4 algarismos: 5,3,0,3Composto de 4 algarismos: 5,3,0,3 Valores:Valores: 3 unidades3 unidades = 3 x 10= 3 x 1000 = 3 = 3 0 dezenas0 dezenas = 0 x 10= 0 x 1011 = 0 = 0 3 centenas3 centenas = 3 x 10= 3 x 1022 = = 300 300 5 milhares5 milhares = 5 x 10= 5 x 1033 = = 5.0005.000 Total = Total = 5.3035.303 Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 111 A representação posicional fornece uma forma simplificada para a escrita A representação posicional fornece uma forma simplificada para a escrita de números e permite a representação de qualquer número com um de números e permite a representação de qualquer número com um alfabeto (uma coleção de símbolos) restrito de dígitos. alfabeto (uma coleção de símbolos) restrito de dígitos. O sistema decimal tem:O sistema decimal tem: Base R=10Base R=10 Um alfabeto ordenado e 10 dígitos, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, e Um alfabeto ordenado e 10 dígitos, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, e qualquer número pode ser representado com o uso deles. qualquer número pode ser representado com o uso deles. Sistemas de Numeração Introdução a Ciência daComputação (ICC) 30/08/09 vladimir.professor@gmail.com 112 Outros Exemplos de Sistemas PosicionaisOutros Exemplos de Sistemas Posicionais Sistema posicional binárioSistema posicional binário base R = 2base R = 2 alfabeto {0, 1}alfabeto {0, 1} Sistema posicional octalSistema posicional octal base R = 8base R = 8 alfabeto {0, 1, 2, 3, 4, 5, 6, 7}alfabeto {0, 1, 2, 3, 4, 5, 6, 7} Sistema posicional hexadecimalSistema posicional hexadecimal base R = 16base R = 16 alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}alfabeto {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 113 Sistema de Numeração RomanoSistema de Numeração Romano No número No número XXXX, vinte em decimal, o valor do dígito X à esquerda , vinte em decimal, o valor do dígito X à esquerda é o mesmo daquele à direita. Neste caso a representação é é o mesmo daquele à direita. Neste caso a representação é aditiva, com X representando a quantidade decimal 10, e com a aditiva, com X representando a quantidade decimal 10, e com a combinação XX associada a 10+10=20. Por outro lado em combinação XX associada a 10+10=20. Por outro lado em IXIX (nove em decimal) a representação é subtrativa. (nove em decimal) a representação é subtrativa. M = 1000M = 1000 Como antes de M não tinha nenhuma letra, Como antes de M não tinha nenhuma letra, buscavam a segunda letra de maior valor. buscavam a segunda letra de maior valor. D = 500 D = 500 Depois tiravam de D o valor da letra que vem antes. Depois tiravam de D o valor da letra que vem antes. D – C = 500 – 100 = 400 D – C = 500 – 100 = 400 Somavam 400 ao valor de M, porque CD está Somavam 400 ao valor de M, porque CD está depois de M. depois de M. M + CD = 1000 + 400 = 1400 M + CD = 1000 + 400 = 1400 Sobrava apenas o V. Então: Sobrava apenas o V. Então: MCDV = 1400 + 5= 1405MCDV = 1400 + 5= 1405 Sistemas de Numeração Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 114 Passagem de uma base R para a base 10Passagem de uma base R para a base 10 converte-se a base e cada dígito do número para o equivalente converte-se a base e cada dígito do número para o equivalente decimal.decimal. decompõe-se o número de acordo com a estrutura posicional decompõe-se o número de acordo com a estrutura posicional e, usando aritmética decimal, efetuam-se as operações de e, usando aritmética decimal, efetuam-se as operações de produtos e somas.produtos e somas. Notação: Notação: (...)(...)RR ler como o número do parêntesis expresso na base ler como o número do parêntesis expresso na base R.R. (1101)(1101)22=1x2=1x233+1x2+1x222+0x2+0x211+1x2+1x200=8+4+0+1=13=8+4+0+1=13 (2B0)(2B0)1616=2x16=2x1622+(11)x16+(11)x1611+0x16+0x1600= 512+176+0=688= 512+176+0=688 Transformações de base Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 115 ExEx11: Converter (1110): Converter (1110)22 para decimal para decimal (1110)(1110)22 = 1.2= 1.233 + 1.2 + 1.222 + 1.2 + 1.211 + 0.2 + 0.200 = = = 8 + 4 + 2 + 0 = = 8 + 4 + 2 + 0 = = (14)= (14)1010 = 14 = 14 ExEx22: Converter (1043): Converter (1043)55 para decimal para decimal (1043)(1043)55 = 1.5= 1.533 + 0.5 + 0.522 + 4.5 + 4.511 + 3.5 + 3.500 = = = 125 + 0 + 20 + 3 == 125 + 0 + 20 + 3 = = (148)= (148)1010 = 148 = 148 Conversão para decimal Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 116 ExrExr11: Converter (10011): Converter (10011)22 para decimal para decimal ExrExr22: Converter (1310): Converter (1310)33 para decimal para decimal ExrExr33: Converter 1C2FH para decimal: Converter 1C2FH para decimal RespResp11 = 19 = 19 RespResp22 = 57 = 57 RespResp33 = 7.215 = 7.215 Conversão para decimal Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 117 Binário ⇒ Decimal 0000 0 1000 8 0001 1 1001 9 0010 2 1010 10 0011 3 1011 11 0100 4 1100 12 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 bin bindec dec Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 118 Faixa de valores em decimalFaixa de valores em decimal 1 bit (0 ou 1): 0-11 bit (0 ou 1): 0-1 2 bits (00,01,10,11): 0-3 (22 bits (00,01,10,11): 0-3 (222-1)-1) 4 bits (0000-1111): 0-15 (24 bits (0000-1111): 0-15 (244-1)-1) 8 bits (1111 1111): 0-255 (28 bits (1111 1111): 0-255 (288-1)-1) 16 bits (1111 1111 1111 1111): 0-6553516 bits (1111 1111 1111 1111): 0-65535 Binário ⇒ Decimal Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 119 ExrExr11: Converter (010000000001): Converter (010000000001)22 para decimal para decimal ExrExr22: Converter (000000000001): Converter (000000000001)22 para decimal para decimal ExrExr33: Converter (11111110): Converter (11111110)22 para decimal para decimal RespResp11 = 1025 = 1025 RespResp22 = 1 = 1 RespResp33 = 254 = 254 Binário ⇒ Decimal Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 120 Divide-se o número decimal pelo valor da base B. O resto é o algarismo Divide-se o número decimal pelo valor da base B. O resto é o algarismo procurado. Repetir enquanto quociente procurado. Repetir enquanto quociente ≠≠ 0. 0. Exemplo: Converter (45)Exemplo: Converter (45)1010 para binário para binário 45/2 = 2245/2 = 22 resto=1resto=1 dd00 22/2 = 1122/2 = 11 resto=0resto=0 dd11 11/2 = 511/2 = 5 resto=1resto=1 dd22 5/2 = 25/2 = 2 resto=1resto=1 dd33 2/2 = 1 2/2 = 1 resto=0resto=0 dd44 1/2 = 01/2 = 0 resto=1resto=1 dd55 => (d=> (d55 d d44 d d33 d d22 d d11 d d00) = (101101)) = (101101)22 Conversão Binário ⇒ Base B Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 121 ExEx11: Converter (2754): Converter (2754)1010 para ( ) para ( )1616 2754/16 2754/16 = 172= 172 resto=2resto=2 172/16 172/16 = 10= 10 resto=12=Cresto=12=C 10/16 10/16 = 0= 0 resto=10=Aresto=10=A => (AC2)=> (AC2)1616 ou AC2 ou AC2HH ou AC2 ou AC2hh ExEx22: Converter (483): Converter (483)1010 para ( ) para ( )88 483/8483/8 = 60= 60 resto=3resto=3 60/860/8 = 7= 7 resto=4resto=4 7/87/8 = 0= 0 resto=7resto=7 => (743)=> (743)88 Conversão Binário ⇒ Base B Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 122 Conversão Binário ⇒ Base B ExrExr11: Converter (610): Converter (610)1010 para () para ()88 ExrExr22: Converter (77): Converter (77)1010 para () para ()22 ExrExr33: Converter (447): Converter (447)1010 para () para ()1616 RespResp11 = (1142) = (1142)88 RespResp22 = (1001101) = (1001101)22 RespResp33 = (1BF) = (1BF)1616 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 123 Aritmética binária SOMA: Semelhante à soma decimalSOMA: Semelhante à soma decimal 0+0 = 00+0 = 0 0+1 = 1+0 = 10+1 = 1+0 = 1 1+1 = 0, com vai ´1´1+1 = 0, com vai ´1´ 1 1111 <= vai ´1´1 1111 <= vai ´1´ Ex:Ex: 101101101101 + 101011+ 101011 10110001011000 Introdução a Ciência da Computação (ICC) 30/08/09 vladimir.professor@gmail.com 124 Aritmética binária SUBTRAÇÃO: semelhante, porém o SUBTRAÇÃO: semelhante, porém o ´empréstimo´ agora vale 2 (na base decimal ´empréstimo´ agora vale 2 (na base decimal quando temos 0-N pegamos 10 emprestado quando temos 0-N pegamos 10 emprestado ao algarismo da esquerda).ao algarismo da esquerda). 0-0=0, 1-1=0, 1-0=1, 0-1 => ´empréstimo´0-0=0, 1-1=0, 1-0=1, 0-1 => ´empréstimo´ 22 002002 Ex:Ex: 101101101101 --
Compartilhar