Prévia do material em texto
Introdução Por baixo do seu programa Sob as tampas Organização de Computadores Marcelo Lobosco Universidade Federal de Juiz de Fora Aula 02 - Abstrações e Tecnologias Computacionais Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução Por baixo do seu programa Sob as tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução I Tecnologia da Informação I Responsável por cerca de 7,1% do PIB americano em 2013 I Mais de US$1 trilhão de dólares I No mundo: cerca de US$3.8 trilhões de dólares I Inovações com velocidade surpreendente I Se setor de transportes tivesse tido mesmo desenvolvimento que computação... I ...viagem de Nova Iorque a Londres em um segundo! I ... pelo custo de centavos de dólar! I Terceira revolução: informação Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução I Novo veio de investigação científica: ciência/engenharia computacional I Aplicação de computação na exploração de novas fronteiras na astronomia, biologia, física, química... I Cada vez que custo da computação melhora por um fator de 10, aplicações que eram economicamente proibitivas tornam-se viáveis I Caixas automáticos I Computadores em automóveis I Computadores portáteis I Genoma humano I WWW Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução I Classes de computadores I Desktop I Uso individual I Ênfase em bom desempenho por um baixo custo I Acesso via teclado/mouse I Servidor I Múltiplos usuários I Projetados para suportar grandes cargas de trabalho (única aplicação complexa/múltiplas tarefas pequenas) I Acesso via rede I Abrangem faixa mais ampla em termos de custo e capacidade (supercomputadores, centros de processamento de dados...) Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução I Classes de computadores (cont.) I Computadores embarcados/embutidos I Maior classe de computadores I Microprocessadores encontrados em micro-ondas, celular, automóveis, máquinas de lavar, aviões... I Projetados para executar aplicações/conjunto de aplicações relacionadas com um único sistema I Necessidades específicas: desempenho mínimo com limitações rígidas em relação ao custo ou potência I Possuem maior tolerância a falhas: obtida por simplicidade e/ou redundância Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Introdução Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Aplicações típicas podem consistir de milhares de linhas de código e se basear em bibliotecas de software que implementam funções complexas I Hardware só pode executar instruções extremamente simples I Camadas de software interpretam instruções de alto nível nas instruções simples que o hardware compreende I Organizadas de modo hierárquico I Muitos tipos de software de sistema I SO e compilador fundamentais Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Sistema operacional I Fornece interface entre programa do usuário e o hardware I Disponibiliza serviços e funções de supervisão I Manipular operações básicas de entrada e saída I Alocar armazenamento e memória I Possibilitar e controlar o compartilhamento do computador entre as diversas aplicações que o utilizam simultaneamente I Disciplina específica para estudar SO Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Compiladores I Realizam outra função fundamental: tradução de programas escritos em linguagem de alto nível em instruções que o hardware possa executar I Processo complexo devido à sofisticação das linguagens modernas e às instruções simples executadas pelo hardware I Disciplina específica para estudar compiladores Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Comunicação com máquinas eletrônicas se dá por meio do envio de sinais elétricos (comandos ou instruções) I Ligado e desligado, corrente alto ou baixa,... I "Alfabeto" resume-se a duas "letras" I Não limitam o que os computadores podem fazer I 0 e 1 I Linguagem de máquina: números na base 2 ou binários I Cada letra: digito binário (binary digit) ou bit Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Primeiros programadores comunicavam-se com computadores usando números binários I 1000110010100000 I Maçante e propenso a erros I Novas notações mais parecidas como os humanos pensam I Inicialmente notações traduzidas para binário manualmente I Processo ainda cansativo I Pioneiros desenvolveram programas para traduzir da notação simbólica para binário Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Primeiro desses programas chamado de montador (assembler) I Traduz versão simbólica de uma instrução para uma versão binária I add A,B => 1000110010100000 I Linguagem simbólica chamada de assembly I Fantástico avanço, mas ainda longe do ideal I Uma linha para cada instrução que a máquina seguirá I Programador obrigado a pensar como a máquina I Passo anterior pode ser repetido I Programa pode ser escrito para traduzir linguagem mais poderosa (alto nível) em linguagem mais simples Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Por Baixo do Seu Programa I Linguagens de alto nível oferecem vários benefícios I Permitem que o programador pense em uma linguagem mais natural I Uso de palavras em inglês e notação algébrica I Permitem que linguagem seja projetada de acordo com uso pretendido I Fortan, Cobol, Lisp... I Maior produtividade do programador I Linguagens independentes do computador onde serão executadas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Hardware de qualquer computador realiza as mesmas funções básicas sobre dados I Inserir I Processar I Armazenar I Gerar saída I Cinco componentes realizam estas funções: dispositivos de entrada, saída, memória, caminho de dados e controle I Dois últimos combinam-se para formar o processador Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Processador contém dois componentes principais I Caminho de dados I Realiza operações aritméticas I Controle I Diz ao caminho de dados, à memória e aos dispositivos de E/S o que fazer, de acordo com as instruções do programa Departamento de Ciência da Computação Universidade Federalde Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Memória construída de chips DRAM I DRAM (Dynamic Random Access Memory) I Acessos à memória levam o mesmo tempo, independente da parte da memória lida I Diferentemente de memórias de acesso sequencial, como unidades de fita I Dentro do processador: memória cache I Memória pequena e rápida que age como buffer para a memória DRAM I Construída com SRAM (Static Random Access Memory) I Mais rápida, mais menos densa Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Ambas as memória são voláteis I Conserva os dados apenas enquanto estiver recebendo energia I Memória não volátil necessária para armazenar programas e dados entre execuções I Discos magnéticos, CDs, DVDs, fita magnética, memórias FLASH, unidades de disco flexível, unidades ZIP... I Memória principal x memória secundária I Termo usado para distinguir a memória usada para armazenar programas enquanto estão em execução × entre execuções Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Comunicação com outros computadores I Modem (modulador e demodulador) I Placa de rede I Redes locais (local area network - LAN) I Redes metropolitanas (wide area network - WAN) I Redes sem fio I Padrão mais popular: IEEE 802.11a/g I Disciplina específica para estudar redes Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Tecnologias para construção de processadores e memórias I Lei de Moore: Capacidade dos transistores dobra a cada 18/24 meses Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Sob as Tampas I Regra de crescimento da DRAM: crescimento de quatro vezes a cada três anos Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas Próxima aula... I Abstrações e Tecnologias Computacionais I Desempenho Departamento de Ciência da Computação Universidade Federal de Juiz de Fora Introdução Por baixo do seu programa Sob as tampas