Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a Ciência da Computação Introdução Elverton Fazzion 2017/02 Slides adaptados do prof. Osvaldo (DCC/UFMG) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 COMPUTADORES Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computadores Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computadores Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sunway TaihuLight (2017) ● 93 Petaflops (93 quintilhões de operações aritméticas p/s) ○ 10 milhões de cores (um i7 possui 4 cores) ● Denominado supercomputador ○ O (ou um dos) melhor(es) em sua geração Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Evolução dos Supercomputerdores Soma #500 #1 Escala Logarítmica Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 ENIAC (1946) ● … 385 operações aritméticas por segundo ● 1000 vezes mais potente que seus predecessores ● mais “super” que os supercomputadores atuais Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Novidades em computação ● É fácil prever que os computadores serão mais rápidos ○ Mas qual é o rumo tomado na computação? ● Caso MS-DOS ○ Vendido para a Microsoft por $50.000 por Tim Patterson ○ Microsoft fez um contrato sem exclusividade com a IBM ○ Poucos anos depois a Microsoft se tornou maior que a IBM ● Caso Yahoo ○ Yahoo era uma das maiores empresas de computação ○ 1999: Poderia ter comprado a Google ○ 2006: Quase comprou o Facebook ● Difícil prever o que será novidade na computação Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 O que um computador faz? ● Transformam informação ... Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 O que um computador faz? ● Transformam informação … ● Recebem informação de entrada e produz informação de saída … Computador Entrada Saída Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 O que um computador faz? ● Transformam informação … ● Recebem informação de entrada e produz informação de saída … Computador Valor total da folha de pagamentos Funcionários Salários Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 O que um computador faz? ● Transformam informação … ● Recebem informação de entrada e produz informação de saída … Computador Páginas da Internet que possuem o texto Páginas da Internet Texto Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 O que um computador faz? ● Transformam informação … ● Recebem informação de entrada e produz informação de saída … Computador Jogo Tecla R Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computabilidade e Máquina de Turing ● Todos os computadores têm a mesma capacidade de transformação de informação, desde que disponham de armazenamento externo suficiente ● Essa capacidade é definida por um dispositivo teórico, a máquina de Turing (1937), que captura a noção de computabilidade Alan Turing (1912-1954) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computabilidade X IBM PC PC GAMER 2017 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computabilidade X IBM PC PC GAMER 2017 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computabilidade X Os dois possuem o mesmo poder de computabilidade porém o IBM PC vai demorar MUITO MAIS tempo para computar a informação (rodar o jogo) IBM PC PC GAMER 2017 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Computabilidade e Velocidade ● A velocidade com que a informação é transformada determina o seu valor ● Se um computador demora 2 dias para calcular a previsão de tempo para amanhã, a informação produzida não tem valor algum ● Se cálculos de bombas atômicas ou de projetos de aviões são feitos mais rapidamente, o ganho competitivo compensa o investimento Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Potência computacional TOP500 por país Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 MÓDULOS Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sistema computacional em módulos Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Processador Intel Core i7-980X 1,17 bilhões de transistores em ~2cm2! Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Arquitetura do sistema Android 12 milhões de linhas de código 100 homens- ano Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 A Internet Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Módulos ● Processadores, Computadores, Super-Computadores, programas, bancos de dados, usam módulos, sub-módulos, sub-sub-módulos, … ● Módulos são fundamentais para o domínio de sistemas complexos ● Estão em todas as partes da computação ● É graças à modularização que a computação funciona e está mudando o mundo. Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Módulos computacionais Informação de entrada Informação de saída Módulo Computacional Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Composição de módulos I IM IM IM Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Composição de módulos I IM IM IMM Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Composição de módulos I I M IM IM I IM Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Composição de módulos I I M IM IM I IM M Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Composição de módulos I IM IM IMM Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 INFORMAÇÃO ANALÓGICA E DIGITAL Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação ● Difícil definição: algo em um objeto (suporte) que diz alguma coisa sobre outro objeto (alvo) ou grandeza ● Um filme fotográfico revelado tem informação sobre uma cena fotografada ● Um arquivo JPEG (formato comum para imagens digitais) também tem Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação analógica e digital Alvo Informação Analógica Informação Digital Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação analógica x Informação digital ● Analógica ○ Registro no objeto suporte tem uma relação física direta com o alvo ○ Relação contínua ○ Ex. A deformação da mola de uma balança (suporte) tem relação direta com o peso de um cacho de bananas (alvo) ● Simbólica (ou digital) ○ Registro no objeto suporte é um símbolo com alguma convenção de interpretação que permita o seu reconhecimento ○ Relação discreta ○ Ex. Papel (suporte) com números expressando o peso em gramas de um cacho de bananas (alvo) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação analógica Ponto de fusão do gelo Ponto de ebulição da água Corpo humano ● Um termômetro tem informação sobre a temperatura de outros corpos ou ambientes Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação Digital Ponto de fusão do gelo Ponto de ebulição da água Corpo humano ● O uso de uma escala permite transformar informação analógica em informação simbólica (ou digital) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação Digital Ponto de fusão do gelo Ponto de ebulição da água Corpo humano ● Qual posição da coluna de mercúrio corresponde ao símbolo 50?● É preciso explicitar a escala, Celsius, Farenheit ou outra 50 50 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 BITS Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Simbolos podem representar símbolos Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Componentes de um computador ● Computadores trabalham com símbolos ● Processador transforma informação simbólica segundo um programa ● Memórias armazenam informação simbólica ● Dispositivos de entrada importam informações ○ Teclado, mouse, entrada de rede, microfone, … ● Dispositivos de saída exportam informações ○ Monitores, impressoras, alto-falantes Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Componentes de um computador Processador Memória E/S Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Bits ● Processadores usam somente dois símbolos básicos; comumente notados 0 e 1 ● Um bit é a unidade básica de informação que contém um destes dois símbolos ● Bits tem diversas representações ○ Voltagens ou correntes em circuitos ○ Comprimento de ondas óticas ○ Campos magnéticos Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Bits e informação ● 1 bit, 21 = 2 estados ● 2 bits, 22 = 4 estados ● 3 bits, 23 = 8 estados ● 8 bits (ou 1 byte), 28 = 256 estados, pode-se representar o alfabeto e os caracteres mais comuns ● 24 bits, 224 = 16.777.216 pode-se representar cores de 1 pixel com uma excelente qualidade ● 80 bits, 280 = 1 yotta = 1.208.925.819.614.629.174.706.176 estados! Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Prefixos binários e métricos Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Por que só usar 2 símbolos? O uso de 2 símbolos não limita nossa capacidade de representação, mas porque só 2? Porque não 10, mais familiar? Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Por que só usar 2 símbolos? O uso de 2 símbolos não limita nossa capacidade de representação, mas porque só 2? Porque não 10, mais familiar? Confiabilidade: a distinção entre dois níveis de voltagem ou de amperagem é muito mais confiável Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 CONVERSÕES A/D E D/A Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Conversões AD e DA ● Computadores lidam com informação analógica fazendo conversões A/D e D/A ● Perdas ocorrem em cada conversão, mas é possível mantê-las em níveis aceitáveis ● Quase sempre o sinal analógico (som luz, etc.) é convertido para um sinal elétrico, também analógico, e depois convertido para digital Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Transmissão Digital de Áudio A/D Canal Digital D/A Microfone Alto-falante Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sinal Analógico Original (1 segundo) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sinal original e 4 amostras/s com 2 bits de precisão 22=4 1 2 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sinal digitalizado, 4 amostras/s, 2 bits de precisão Tempo(s) Sinal(V) 0.00 00 (0) 0.33 10 (2) 0.66 10 (2) 1.00 00 (0) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Informação disponível para reconstrução do sinal Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Reconstrução com interpolação linear Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Reconstrução com interpolação linear Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sinal original e 40 amostras/s com 2 bits de precisão 22=4 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Reconstrução com interpolação linear Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Sinal original e 40 amostras/s com 6 bits de precisão 26=64 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Reconstrução com interpolação linear Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Conversões A/D e D/A ● A conversão não é perfeita mas, de maneira geral, pode ser muito boa ● Um CD usa 16 bits com 44,1 kHz ● Equipamentos profissionais de áudio usam 24 bits com 96 kHz ● Limites fisiológicos da percepção humana são frequentemente explorados (MP3 é um exemplo) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 MEMÓRIAS Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Memórias ● Memórias são usadas para registrar informações para recuperação posterior ● Computadores trabalham com diversos tipos de memória ● Memórias são organizadas segundo seu preço por bit e sua velocidade de acesso Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Hierarquia de memória Cache L1, L2, L3 Memória RAM Discos rígidos, SSDs Registradores Caches Memória Principal Memória Secundária Registradores + Velocidade - Capacidade + Custo ($) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Hierarquia de memória ● Registradores ○ Memórias pequenas e muito rápidas ○ Ficam no mesmo chip do processador (fazem parte dele) ○ Precisam de energia para armazenar a informação (voláteis) ● Memória Principal ○ Circuito externo ao processador (mais lento que registradores) ○ O processador usa informações da memória principal para executar programas ○ Essas informações são copiadas para os registradores antes de serem utilizadas pelo processador ○ Assim como os registradores, são voláteis Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Caches Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Caches ● Memórias com menor capacidade que a memória principal porém com acesso muito mais rápido ○ Também ficam no mesmo chip do processador ● Elas armazenam uma parte dos dados que estão na memória principal para acesso mais rápido ● Existem para reduzir a discrepância entre a velocidade de operação do processador e a memória principal ○ O desafio é fazer com que os dados estejam na cache sempre que o processador precisar acessá-los Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Caches Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Memórias secundárias ● Tipicamente são discos magnéticos, onde informações podem ser lidas e escritas ● A informação é sempre formatada em arquivos e diretórios - uma abstração essencial para o seu uso, provida pelo sistema operacional ● Memórias secundárias são necessariamente não-voláteis Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 ORGANIZAÇÃO DO CURSO Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Organização do curso - Parte I ● Entender representações em computação ○ Sistemas de numeração e conversões ● Operações em sistemas de numeração ○ Adição, subtração, multiplicação e divisão Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Organização do curso - Parte II ● Representação de números no computador ○ Inteiros: complemento de um, complemento de dois ○ Decimais: ponto flutuante ● Limitações ○ Overflow e underflow ● Sistemas de computação ○ Computador simplificado Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Organização do curso - Parte III ● Programação bash ○ Comandos básicos (cd, ls, ...) ○ Comandos intermediários (cut, paste, sort, wget, ...) ○ Editores de texto em terminais Unix ● Introdução ao LaTeX ○ Estrutura básica doLaTeX ○ Compilando um documento em LaTeX Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Avaliação ● Duas provas (referentes a Parte I e Parte II) ○ 30 pontos cada (total 60 pontos) ● Trabalho sobre programação BASH ○ 30 pontos (total 30 pontos) ● Listas de exercícios ○ 2 pontos cada (total 12 pontos -- 2 pontos extras) Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Cronograma (pode sofrer alterações) Data Tópico Entregas Listas Trabalho 7-ago-2017 Introdução ao curso + Visão geral da área 14-ago-2017 Feriado 21-ago-2017 Não haverá aula 28-ago-2017 HackFest 04-set-2017 História da computação 11-set-2017 Sistemas de numeração Lista 1 18-set-2017 Sistemas de numeração 25-set-2017 Aritmética binária Lista 2 2-out-2017 Aritmética binária 9-out-2017 Representação númerica em computadores Lista 3 16-out-2017 Prova 1 23-out-2017 Representação númerica em computadores 30-out-2017 Sistemas de computação Lista 4 6-nov-2017 Sistemas de computação 13-nov-2017 Introdução a programação bash Lista 5 20-nov-2017 Prova 2 27-nov-2017 Introdução a programação bash 4-dez-2017 Introdução a programação bash 11-dez-2017 Introdução ao LaTex Lista 6 18-dez-2017 Substitutiva Trabalho 1 Elverton Fazzion -- DCOMP/UFSJ -- Introdução a Ciência da Computação 2017/02 Referências básicas ● Referência básica ○ Introdução à Ciência da Computação (2 edição) POLLONI, E. G. F. ; PERES, F. R. ; FEDELI, R. D; ● Você pode estudar os tópicos dos slides por qualquer livro ○ Eu não vou pegar minúcias de livro ○ Prova parecida com a lista de exercícios ○ Eu colocarei materiais suplementares no Moodle quando for pertinente
Compartilhar