Aula Expositiva 1 1. Introdução 1.1 Computadores 1.2 Informação Analógica e Informação...
Transcript of Aula Expositiva 1 1. Introdução 1.1 Computadores 1.2 Informação Analógica e Informação...
Aula Expositiva 11. Introdução1.1 Computadores1.2 Informação Analógica e Informação Digital **1.3 Computadores e Informação 1.4 Conversões análogo-digital e vice-versa ** 1.5 Dispositivos de entrada e saída **1.6 Memórias **1.7 Organização da DisciplinaRegras e Recomendações
UFMG DCC001 2011-2 1
DCC 001Programação de Computadores
2o Semestre de 2011Prof. Osvaldo Carvalho
COMPUTADORES
UFMG DCC001 2011-2 2
UFMG DCC001 2011-2 3
IBM PC (1981)
Computadores
UFMG DCC001 2011-2 4
UFMG DCC001 2011-2 5
BlueGene (2006)
478 teraflops (trilhões de operações aritméticas p/s)
É chamado de supercomputador por figurar entre os mais poderosos de sua geração
Evolução Recente dos Supercomputadores
2006 – Blue Gene, 478 teraflops 2008 – Road Runner, da IBM, atingiu 1
petaflops – mil trilhões de operações aritméticas por segundo
2010 – Tianhe-1A, chinês, 2,6 petaflops 2011 – Sistema K, da Fujitsu, japonês, 8
petaflops
UFMG DCC001 2011-2 6
Computabilidade e Máquina de Turing
Todos os computadores têm a mesma potencialidade de transformação de informação, desde que disponham de armazenamento externo suficiente
Essa capacidade computacional é a mesma da máquina de Turing (1937)UFMG DCC001 2011-2 7
Alan Turing (1912-1954)
Computadores e Velocidade
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 projetos de aviões são feitos rapidamente, o ganho competitivo compensa o investimento
UFMG DCC001 2011-2 8
UFMG DCC001 2011-2 9
Harvard Mark I (1944)
3 adições ou subtrações por segundo, mas era mais “super” que o
Computador K é!
Distribuição por países dos computadores na lista Top500
UFMG DCC001 2011-2 10
MÓDULOS
UFMG DCC001 2011-2 11
UFMG DCC001 2011-2 12
BlueGene e suas partes
UFMG DCC001 2011-2 13
Processador Intel Core i7-980X
1,17 bilhões de transistores em quadrado de 1,6 cm!
UFMG DCC001 2011-2 14
A Internet
Azul: América do Norte
Verde: Europa, Oriente Médio, Ásia Central, África
Amarelo: América Latina
…
http
://w
ww
.opt
e.or
g/m
aps/
UFMG DCC001 2011-2 15
Módulos
Processadores, Computadores, Super-Computadores e a Internet 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, a computação está mudando o mundo.
INFORMAÇÃO
UFMG DCC001 2011-2 16
UFMG DCC001 2011-2 17
Informação
Difícil definição: algo em um objeto que diz alguma coisa sobre outro objeto 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
UFMG DCC001 2011-2 18
Informação Digital e Analógica
Informação Analógica
UFMG DCC001 2011-2 19
Um negativo tem informação analógica sobre a luz emitida por objetos na cena fotografada
UFMG DCC001 2011-2 20
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
UFMG DCC001 2011-2 21
Informação Simbólica ou 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)
UFMG DCC001 2011-2 22
Informação Simbólica requer Convenção de Interpretação
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
UFMG DCC001 2011-2 23
Símbolos podem Representar Quantidade
1 I 1
2 II 10
3 III 11
4 IV 100
5 V 101
6 VI 110
7 VII 111
COMPUTADORES E INFORMAÇÃO
UFMG DCC001 2011-2 24
UFMG DCC001 2011-2 25
Componentes de um Computador
Processador transforma informação exclusivamente simbólica executando instruções de um programa
Memórias armazenam informação binária Dispositivos de entrada (sensores)
transportam dados para memória de um computador: Teclado, mouse, câmera digital, unidade de disco…
Dispositivos de saída (atuadores) transportam dados de memória de um computador: Monitor, impressora, fone de ouvido, unidade de
disco…
Bits
Processadores usam somente dois símbolos
Um bit é a unidade básica de informação que contém um destes dois símbolos, comumente denotados 0, 1
UFMG DCC001 2011-2 26
UFMG DCC001 2011-2 27
Bits e Informação
1 bit, 21 = 2 valores (0, 1) 2 bits, 22 = 4 valores (00, 01, 10, 11) 3 bits, 23 = 8 valores (000, 001, 010, 011, 100,
…) 8 bits, 28 = 256 valores (pode-se
representar todos os caracteres mais comuns: ASCII)
32 bits, 232 = ... valores (Unicode: código usado atualmente para representação de caracteres)
Prefixos Binários
10 ≈ 23.335; logo 10n ≈ 2(n*3.335) ,2n ≈ 10(n/3.335)
Prove: (a^b)^c = a^(b*c) note:((a^b)^c) ≠ (a^(b^c))
UFMG DCC001 2011-2 28
Prefixo Símbolo Valor Base 10
kilo k/K 210 = 1 024 > 103 = 1,000
mega M 220 = 1 048 576 > 106 = 1 000 000
giga G 230 = 1 073 741 824 > 109 = 1 000 000 000
tera T 240 = 1 099 511 627 776 > 1012 = 1 000 000 000 000
peta P 250 = 1 125 899 906 842 624 > 1015 = 1 000 000 000 000 000
exa E 260 = 1 152 921 504 606 846 976 > 1018 = 1 000 000 000 000 000 000
zetta Z 270 = 1 180 591 620 717 411 303 424 > 1021 = 1 000 000 000 000 000 000 000
yotta Y 280 = 1 208 925 819 614 629 174 706 176 > 1024 = 1 000 000 000 000 000 000 000 000
Prefixos Binários e Decimais
Porque só usar 2 símbolos?
Uso de 2 símbolos não limita capacidade de representação, mas porque só 2? Porque não 10, mais familiar?
Confiabilidade: distinção (entre dois níveis, de voltagem ou amperagem) mais confiável
UFMG DCC001 2011-2 29
UFMG DCC001 2011-2 30
Bits e seu Processamento
Bits são representados por voltagens ou correntes em circuitos, ou por comprimento de ondas óticas, ou por campos magnéticos, ou...
Existem circuitos que realizam transformações sobre bits ou conjuntos de bits, circuitos que armazenam bits, e circuitos que transmitem bits
CONVERSÕES A/D E D/A
UFMG DCC001 2011-2 31
UFMG DCC001 2011-2 32
Conversões AD e DA
Existem dispositivos para conversões A/D e D/A
Perdas ocorrem em cada conversão Dispositivos com melhor qualidade são mais
caros
Qualidade de Conversão A/DSinal Analógico Original
UFMG DCC001 2011-2 33
Qualidade de Conversão8 bits, f = 41,67 MHz
UFMG DCC001 2011-2 34
Sinal reconstruído a partir da informação digital, sem
interpolação
Qualidade de Conversão A/D8 bits, f = 200 MHz
UFMG DCC001 2011-2 35
Qualidade de Conversão A/D8 bits, f = 6,17 MHz
UFMG DCC001 2011-2 36
Qualidade de Conversão A/D2 bits, f = 200 MHz
UFMG DCC001 2011-2 37
Qualidade de Conversão A/D1 bit, f = 200 MHz
UFMG DCC001 2011-2 38
Conversões A/D e D/A
A conversão não é perfeita mas, de maneira geral, pode ser tão boa quanto se necessite
Limites fisiológicos da percepção humana são frequentemente explorados (MP3 é um exemplo)
UFMG DCC001 2011-2 39
SENSORES E ATUADORES
UFMG DCC001 2011-2 40
UFMG DCC001 2011-2 41
Sensores e Atuadores Comuns
UFMG DCC001 2011-2 42
Barbara Blackburn
Recordista mundial de digitação
Velocidade sustentada de ~15 toques por segundo
Picos de 20 toques por segundo!
Com 8 bits por tecla, 160 bps (bits por segundo)
Usava teclado Dvorak
Teclado Dvorak
UFMG DCC001 2011-2 43
Produto de estudos de ergonomia Exemplo de conservadorismo que
ocorre em computação: é difícil mudar costumes
Câmeras Digitais
Uma camcorder de alta definição produz 24Mbps (24 milhões de bits por segundo), 150.000 vezes a taxa record de digitaçãoUFMG DCC001 2011-2 44
UFMG DCC001 2011-2 45
Rádio-Telescópios
UFMG DCC001 2011-2 46
Acelerador de Partículas
UFMG DCC001 2011-2 47
Velocidades
1 Rádio-Telescópio ou um Acelerador de Partículas produzem informação a taxas de ~1Gbps
Equivalente a 7.000.000 recordistas digitando simultaneamente!
UFMG DCC001 2011-2 48
Braço Mecânico
UFMG DCC001 2011-2 49
Redes de Computadores
MEMÓRIAS
UFMG DCC001 2011-2 50
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 em uma distribuição hierárquica
UFMG DCC001 2011-2 51
Registradores
Memórias pequenas e muito rápidas
Ficam no mesmo chip do processador – aliás, são parte do processador
Têm entradas e saídas ligadas diretamente a circuitos que transformam informação, como unidades aritméticasUFMG DCC001 2011-2 52
Memória Principal - 1
Também chamadas de RAM (Random Access Memory)
São circuitos externos ao processador, mas muito rápidos
Instruções executadas pelo processador endereçam diretamente operandos armazenados na memória principal
Transformações como operações aritméticas exigem que os operandos sejam transferidos da memória para registradores, onde as transformações são realizadasUFMG DCC001 2011-2 53
Memória Principal – 2
Na tecnologia atual as memórias principais são voláteis, isto é, a informação registrada é perdida ao desligar o computador
A volatilidade não é uma necessidade, mas uma característica tolerável, pois o armazenamento de longo prazo é feito com memórias secundáriasUFMG DCC001 2011-2 54
Memórias Secundárias
Tipicamente são discos magnéticos, onde informações podem ser lidas e escritas
O processador deve entretanto executar instruções especiais de entrada e saída para essas operações de leitura/escrita
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áteisUFMG DCC001 2011-2 55
Memórias Terciárias
São necessárias em ambientes com grande volume de dados
Geralmente utilizam fitas magnéticas, com um robô capaz de localizar a fita correta em um repositório e montá-la em uma unidade de fita ligada ao computador
UFMG DCC001 2011-2 56
Memórias Desconectadas
Também conhecidas como armazenamento fora de linha
Necessitam de intervenção humana para re-conexão a um computador
Usadas para backup, para transferência de informação
Essenciais para recuperação de desastres
UFMG DCC001 2011-2 57
Memória RAM
UFMG DCC001 2011-2 58
1GB de RAM montado em um PC
Memória RAM em 1964
UFMG DCC001 2011-2 59
Placa de memória de núcleos do supercomputador CDC 6600
10x10 cm 64 palavras de
64 bits
UFMG DCC001 2011-2 61
Fita Magnética
Biblioteca de Fitas
UFMG DCC001 2011-2 62
UFMG DCC001 2011-2 63
Codificação em Meio Magnéticoht
tp:/
/en.
wik
iped
ia.o
rg/w
iki/
Har
d_di
sk
A DISCIPLINA
UFMG DCC001 2011-2 64
UFMG DCC001 2011-2 65
Objetivos
Introduzir noções básicas de circuitos digitais, organização de computadores, representação de dados e programação
Apresentar ao aluno alguns princípios básicos da construção de algoritmos e de sua implementação em um ambiente de programação
Tornar o aluno fluente no uso de uma ferramenta computacional, o Scilab, de vasta aplicação nas ciências e engenharias
Conteúdo
Parte IOrganização de Computadores
Parte IIAmbiente e Linguagem Scilab
Parte IIIAlgoritmosUFMG DCC001 2011-2 66
Organização de ComputadoresObjetivos
Dar ao aluno uma compreensão básica do funcionamento interno de um computador
Introduzir o conceito de programa armazenado
UFMG DCC001 2011-2 67
Organização de ComputadoresTópicos - 2
Informação digital em computadores: bits
Códigos: convenções para interpretação de bits
Circuitos digitais combinatórios Não têm memória Saída é função da entrada corrente
Circuitos digitais sequenciais Têm memória Saída é função da entrada corrente e dos
valores armazenados na memóriaUFMG DCC001 2011-2 68
Circuito combinatório para Soma
UFMG DCC001 2011-2 69
Organização de ComputadoresTópicos - 3
Circuitos para temporizaçãoProcessadoresLinguagem Assembler
UFMG DCC001 2011-2 70
Linguagem e Ambiente ScilabObjetivos
Introdução de uma linguagem de alto nível, Scilab, que facilita imensamente a tarefa de programação de computadores através da oferta de comandos com formato muito mais próximo da forma como seres humanos raciocinam.
Familiarização do aluno com o ambiente de desenvolvimento e de execução de programas fornecido pelo Scilab.UFMG DCC001 2011-2 71
Linguagem e Ambiente ScilabTópicos
Variáveis, expressões e comandos de atribuição
Comandos condicionais e repetitivos
MatrizesArquivosFunções
UFMG DCC001 2011-2 72
Exemplo: Ondas Marinhas
O arquivo ondas1.txt contém dados obtidos em um laboratório que medem o nível do mar
As medidas são tomadas 30 vezes por segundo; a amostra tem 4096 pontos
Queremos obter um gráfico e saber os valores máximo e mínimoUFMG DCC001 2011-2 73
Programa da Onda
// Programa da Ondaexec("Minimo.sci");exec("Maximo.sci");arq = uigetfile();Onda = fscanfMat(arq); plot2d(Onda);printf("Min = %5.2f, Max = %5.2f",... Minimo(Onda), Maximo(Onda));
UFMG DCC001 2011-2 74
Funções utilizadasLeitura do
arquivo
Geração do gráfico
Saída
As funções Maximo e Minimo
UFMG DCC001 2011-2 75
Gráfico Onda do Mar
UFMG DCC001 2011-2 76
AlgoritmosObjetivos
Estudo de aspectos da programação de computadores que não dependem da linguagem utilizada
Conhecimento de algoritmos representativos, que servem como base e inspiração para a criação de programas
UFMG DCC001 2011-2 77
Algoritmos e ProgramasTópicos
Algoritmos Especificação Correção Complexidade Ordenação Pesquisa Algoritmos numéricos Barreiras de complexidade
UFMG DCC001 2011-2 78
UFMG DCC001 2011-2 79
Programas e Algoritmos
Um algoritmo é uma sequência lógica de operações que pretende atingir um determinado objetivo
Um programa é uma representação de um algoritmo, normalmente em uma linguagem de alto nível
UFMG DCC001 2011-2 80
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
Vetores, Programa para Mínimo
Queremos encontrar o menor valor em uma sequência (vetor) de números
Que possa ser usado para, potencialmente, uma sequência muito grande de números
Precisamos de um algoritmo, isto é, de um método.
Um Algoritmo para Encontrar o Menor Valor em um conjunto
É fácil encontrar o mínimo de um vetor com um único elemento – só pode ser este elemento!
Para avançar, usamos indução. Conhecendo
O mínimo entre A(1), ..., A(k) O valor de A(k+1)
podemos determinar o mínimo entre A(1),...,A(k+1), que é o menor entre A(k+1) e o mínimo anterior!
UFMG DCC001 2011-2 81
Encontrando o menor valor em um vetor
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
A = [39. 24. 50. 42. 28. 8. 62. 34. 70. 52.];
UFMG DCC001 2011-2 82
FORMA DE TRABALHO
UFMG DCC001 2011-2 83
Metodologia
Enfoque eminentemente prático, mas tocando em pontos fundamentais da Ciência da Computação
Uso do simulador Logisim para circuitos digitais
Uso do Scilab no restante do cursoUFMG DCC001 2011-2 84
UFMG DCC001 2011-2 85
Equipe
Professor Osvaldo [email protected] 3409 5860 Sala 4018 (por favor marquem
horários para atendimento) Monitores
Harlley, Joel, Bruno, Fernando, Renato e Pedro
UFMG DCC001 2011-2 86
Horário e Locais
Horário: 13:00 às 14:40, ou 14:55 às 16:35
Aulas Expositivas no Auditório 1 Aulas Práticas
Salas 1009, 1010, 2011 e 2012 A distribuição de alunos em cada sala
será colocada no site
UFMG DCC001 2011-2 87
O Site da Disciplina - 1
Uso intenso para Submeter práticas e provas, e ver
resultados Download de materiais (aulas,
programas, …) Anúncios importantes Encontrar links para sites de interesse
da disciplina Discussões e troca de informações com
o professor, colegas e monitores
UFMG DCC001 2011-2 88
O Site da Disciplina - 2
http://minha.ufmg.br 2011-2 - PROGRAMACAO DE
COMPUTADORES - METATURMA Para participar do curso, todo
aluno deve ter login e senha registrados no
minha UFMG ter solicitado correio eletrônico.
Suporte do LCC
Alunos que tiverem problemas com login e senha, ou que não vejam o link do curso no site minha.ufmg devem procurar o LCC – hoje! atrás da cantina 3409 4916 [email protected]
Na quarta-feira, depois de amanhã, todos já terão necessidade de ter login e senha operacionais
UFMG DCC001 2011-2 89
Avaliação - 1
UFMG DCC001 2011-2 90
Qtde Valor Total Observações
Avaliações Semanais ~12 2 20Somente os 10
melhores resultados são considerados
Provas Mensais 3 20 40Somente os 2
melhores resultados são considerados
Prova Final 1 40 40100Total
UFMG DCC001 2011-2 91
Avaliação - 2
Não damos nem 1 ponto, nem meio! Se você fizer 59,4 pontos, terá que fazer
exame especial Se fizer 89,4 pontos, terá conceito B
Se dermos 0,5 pontos, por exemplo, aqueles que estiverem a 0,6 pontos de seu objetivo irão me dizer só precisam de 0,1 pontos, e por aí vai.
Avaliações Semanais
São feitas por 1 ou 2 alunos, mas entregues individualmente
São publicadas no site até a aula prática de quarta, e devem ser entregues até as 23:00 do domingo seguinte.
A consulta a livros, sites da web e a colegas é permitida e estimulada, mas…
Se questionado pelo professor, o aluno deverá demonstrar que a prática entregue não resultou simplesmente de “copiar e colar”UFMG DCC001 2011-2 92
UFMG DCC001 2011-2 93
Provas
As provas são individuais, feitas online, nos laboratórios
Feitas em 2 turnos de 45 minutos cada; a distribuição de salas e horários será colocada no site
Os alunos devem obrigatoriamente fazer as provas nos locais e horários designados
Regras para Provas
Todo aluno deve deixar um documento de identidade com foto visível sobre sua mesa durante todo a prova.
O único site que pode ser acessado é o do curso
Dois acessos às provas de um único aluno, feitos em computadores distintos, levam à sua anulação
Colas antigas e modernas são rigorosamente punidas pela Comissão Disciplinar do ICEx
Avaliações já corrigidas ficam disponíveis no site, exceto nos horários de prova
UFMG DCC001 2011-2 94
UFMG DCC001 2011-2 95
Bibliografia
Referência básica: site do curso, comApresentaçõesApostilaExercícios
Resultados 2010-2(sem Exame Especial)
UFMG DCC001 2011-2 96
Recomendações: Tempo de Estudo
4 horas de estudo por semana (além das aulas)3 horas individuais1 hora em grupo: aprenda e
ensine com seus colegas
UFMG DCC001 2011-2 97
Recomendações - Inglês
Um mínimo de inglês é imprescindível em computação;
Os que têm deficiências devem fazer esforços extras para superá-las (o que dará um retorno em toda a vida estudantil e profissional)
UFMG DCC001 2011-2 98
Recomendações - Proficiência em Informática
O curso espera que os alunos saibam usar um computador, editores de texto, navegar na Web, usar email, e que tenham uma noção operacional de arquivos e diretórios no Windows
Alunos com dificuldades nesta área podem e devem procurar o professor ou os monitores; nós encontraremos uma forma de ajudá-los
UFMG DCC001 2011-2 99