Aula Expositiva 1 1. Introdução 1.1 Computadores 1.2 Informação Analógica e Informação...

Preview:

Citation preview

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 60

Disco Rígido

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 osvaldo@dcc.ufmg.br 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 suporte@lcc.ufmg.br

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

Recommended