introdução aos computadores - paginas.fe.up.ptssn/disciplinas/crc/computadores.pdf · sérgio...
TRANSCRIPT
Introdução aos Computadores
Computadores e Redes de ComunicaçãoMestrado em Gestão de Informação, FEUP 06/07
Sérgio Sobral Nunesmail: [email protected]: www.fe.up.pt/~ssn
Sérgio Nunes Computadores e Redes de Comunicação 2
Sumário
• Definição• Breve história• Evolução• Funções básicas• Representação de dados• Organização• Programação
Sérgio Nunes Computadores e Redes de Comunicação 4
DefiniçãoComputador “Sistema programável que permite
armazenar, recuperar e processar dados.”
Entrada SaídaProcessamento
Armazenamento
Instruções
Sérgio Nunes Computadores e Redes de Comunicação 5
Breve História
• Computadores mecânicos– Ábaco (2500 AC)– Calculadora de discos Pascal (1642)– Máquina diferencial (Babbage, 1822)– Motor analítico (Babbage, 1833)– Tabuladora Hollerith (1890)
Sérgio Nunes Computadores e Redes de Comunicação 9
Breve História
• 1ª Geração (1946-1957)– Uso de válvulas e cartões perfurados. Cálculos
digitais substituíram os cálculos analógicos.
– Harvard MARK I (Aiken, 1944) – hardware electromecânico.
– ENIAC (Eckert e Mauchly, 1946) – primeiro computador completamente electrónico. 18 mil válvulas.
– EDVAC (von Neumann, 1950) – introduziu a memória permanente e o sistema binário.
– UNIVAC I (1951) – primeiro computador a ser produzido em massa.
Sérgio Nunes Computadores e Redes de Comunicação 12
Breve História
• 2ª Geração (1958-1964)– Substituição das válvulas pelo transístor.– Linguagens de programação de alto nível.– Introdução de sistemas operativos.– Foram os primeiros computadores com sucesso
comercial.
– FORTRAN, COBOL – linguagens de programação.– IBM 1401
Sérgio Nunes Computadores e Redes de Comunicação 15
Breve História
• 3ª Geração (1965-1971)– Utilização do circuito integrado.– Minicomputadores – versões reduzidas dos mainframes.– Redes de computadores.– Desenvolvimento das linguagens de programação
BASIC e PASCAL.
– IBM System/360
Sérgio Nunes Computadores e Redes de Comunicação 18
Breve História
• Gerações seguintes (1972-)– Invenção do microprocessador.– Computadores pessoais.– Crescimento acentuado (Lei de Moore).
– Large Scale Integration (70s) – 3,000 a 100,000 elementos num chip.
– Very LSI (desde 80s) – 100,000 a 100,000,000.– Ultra LSI (hoje) – mais de 100,000,000.
Sérgio Nunes Computadores e Redes de Comunicação 20
Evolução dos Computadores
>50.000.000<$1.000262.144>100.000.000<3000.2PCHoje
3.556.188$7.40016.38450.000.0005000,2HP 90001991
42.105$3.702256240.0001500,15IBM-PC1981
21.842$7.675.59132.768166.000.00060.0005,8Cray-11976
10.855$59.9474330.0005000,8PDP-81965
263$3.756.50264500.00010.0006IBM S3601964
1$4.533.607481.900124.500100UNIVAC I1951
$/desempenho vs. UNIVAC
Custo ajustado a 1991
MemóriaKB
Desempenho(soma/seg)
Potência(watts)
Área(m2)
NomeAno
Sérgio Nunes Computadores e Redes de Comunicação 21
Tendências
• Evolução nas áreas:– Processamento– Armazenamento– Comunicação
Sérgio Nunes Computadores e Redes de Comunicação 24
Funções Básicas
Entradae Saída
Controlo
Armazenamento Processamento
Sérgio Nunes Computadores e Redes de Comunicação 25
Funções Básicas• Armazenamento de dados
– Capacidade de armazenar os dados de forma permanente ou temporária.
• Operações de entrada e saída– Permitem obter ou disponibilizar dados ao mundo exterior.– Existe uma grande diversidade de dispositivos de entrada e
saída.• Controlo das operações
– Selecção e ordenação das operações a executar de acordo com regras pré-determinadas (programa).
• Processamento de dados– Execução de operações básicas: aritméticas, lógicas,
comparações, pesquisas, etc.– Centenas de milhões de operações por segundo
Sérgio Nunes Computadores e Redes de Comunicação 26
Representação de Dados
• Sistema binário– Nos computadores digitais, a informação é
representada sob a forma de voltagens.– Resulta em circuitos mais simples e mais imunes ao
ruído.– O uso de um sistema decimal implicaria o recurso a
10 valores diferentes e fiáveis para cada dígito.
Tempo
VoltagemRepresentação do valor 0110010
Sérgio Nunes Computadores e Redes de Comunicação 27
Representação de Dados• Num computador digital, toda a informação é codificada em binário.
– Símbolos na base 10: 0,1,2,3,...,9. (algarismos árabes)
– Símbolos na base 2: 0,1. (dígitos binários ou bits)
• Notação posicional: a mudança de um símbolo da direita para a esquerda, representa um aumento na ordem de magnitude.– base 10: aumentos em potências de 10. (1,10,100,1000...)– base 2: aumentos em potências de 2. (1,2,4,8...)
• Representação de valores numéricos:– 11012 base 2 1x23 + 1x22 + 0x21 + 1x20 = 13– 24710 base 10 2x102 + 4x101 + 7x100 = 247
Sérgio Nunes Computadores e Redes de Comunicação 28
Representação de Dados
101010
10019
10008
1117
1106
1015
1004
113
102
11
BinárioDecimal
1010020
1001119
1001018
1000117
1000016
111115
111014
110113
110012
101111
BinárioDecimal
Sérgio Nunes Computadores e Redes de Comunicação 29
Representação de Dados• Binário Decimal
– 1012 = 1 x 22 + 0 x 21 + 1 x 20 = 4 + 0 + 1 = 510– 10012 = 1 x 23 + 0 x 22 + 0 x 21 + 1 x 20 = 910– 10,112 = 1 x 21 + 0 x 20 + 1 x 2-1 + 1 x 2-2 =
2 + 0 + ½ + ¼ = 2 + ¾ = 2,7510
• Decimal Binário– 27 / 2 = 13 + resto 1– 13 / 2 = 6 + resto 1– 6 / 2 = 3 + resto 0– 3 / 2 = 1 + resto 1– 1 / 2 = 0 + resto 1
– 2710 = 110112
Sérgio Nunes Computadores e Redes de Comunicação 30
Representação de Dados• Como representar outros símbolos?
– Utilizando normas de codificação – as normas de codificação permitem relacionar um conjunto de símbolos (alfabeto) com outro conjunto, p.e. números ou impulsos eléctricos.
• Código ASCII:
• Outras normas: Unicode, ISO 8859-1
14900110001
04800110000
/4700101111
.4600101110
ASCIIDecimalBinário
D6800110001
C6700110000
B6600101111
A6500101110
ASCIIDecimalBinário
Sérgio Nunes Computadores e Redes de Comunicação 31
Representação de Dados• 1 bit (binary digit)• 1 byte (binary term) = 8 bits
• Os prefixos apresentados correspondem, segundo as normas internacionais, a potências na base 10 (kilo – 103, mega – 106, ..). No entanto, na área da ciência dos computadores, são associados à base 2.
• 1 kilobyte (KB) = 210 bytes = 1 024 bytes• 1 megabyte (MB) = 220 bytes = 1 024 kilobytes• 1 gigabyte (GB) = 230 bytes = 1 024 megabytes• 1 terabyte (TB) = 240 bytes = 1 024 gigabytes• 1 petabyte (PB) = 250 bytes = 1 024 terabytes• 1 exabyte (EB) = 260 bytes = 1 024 petabytes
• 1 Kb = 1 kilobit ≠ 1KB = 1 kilobyte
Sérgio Nunes Computadores e Redes de Comunicação 32
Representação de Dados• 1 símbolo ~ 1 byte
• 1 livro ~ 1 MB (apenas texto)
• Biblioteca do Congresso dos EUA ~ 28 TB
• Informação armazenada anualmente em todo o mundo ~ 5 EB– A maioria da nova informação produzida é armazenada em discos duros.– Considerando a população mundial, cada pessoa produz em média 800 MB/ano.
• Chamadas telefónicas por ano (fixo e móvel) ~ 17 EB– Cerca de 3,5 vezes mais do que aquela que é armazenada anualmente.
• World Wide Web (à superfície) ~ 170 TB– À superfície, ignorando as bases de dados (“deep web”).
Projecto “How Much Information? 2003”.website: http://www.sims.berkeley.edu/research/projects/how-much-info-2003/
Sérgio Nunes Computadores e Redes de Comunicação 35
Organização do Computador
Unidade Centralde Processamento
Memória Entrada e Saída
Unidade deControlo
UnidadeLógica e
Aritmética
dados
controlo
barramentos
Sérgio Nunes Computadores e Redes de Comunicação 36
Organização do Computador• Unidade Central de Processamento (CPU)
– Controla a operação do computador e desempenha as funções de processamento dos dados. Muitas vezes referido apenas como o processador.
• Memória– Armazenamento dos programas, dados e resultados.
• Entrada e Saída (E/S)– Transfere os dados entre o computador e o ambiente externo (teclado,
monitor, etc.).
• No CPU– Unidade de Controlo (UC): Controla a operação do CPU.– Unidade Lógica e Aritmética (ULA): Desempenha as funções
lógicas (p.e. comparações) e aritméticas (p.e. adição).
Sérgio Nunes Computadores e Redes de Comunicação 37
Processador• Executa as instruções indicadas nos programas armazenados em
memória.
• Instruções– Conjunto limitado de operações elementares.– Adicionar, testar, comunicar com dispositivos de E/S, mover, ...– As instruções disponíveis dependem da arquitectura do computador.
• Ciclo de execução (simplificado)– Obter próxima instrução– Descodificar instrução– Executar instrução– Escrever resultados Obter Descod. Exec. Gravar
Sérgio Nunes Computadores e Redes de Comunicação 38
Processador
• Exemplo de instruções– LOAD A, R1 Mover os conteúdos da posição de memória A para
o registo R1.
– LOAD B, R2
– ADD R1, R2, R3 Adicionar o conteúdo do registo R1 com R2 ecolocar o resultado em R3.
– STORE R3, C Armazenar o valor de R3 na posição de memória C.
Sérgio Nunes Computadores e Redes de Comunicação 40
Processador• Em qualquer computador escalar, apenas uma instrução é
executada de cada vez.• Durante as fases de descodificação e execução, os canais de
comunicação (bus) estão livres.• Uma forma de aproveitar esta inactividade é através da obtenção
antecipada (prefetch) das instruções seguintes.
obter 1 executar 1 obter 2 executar 2 obter 3 executar 3
obter 1 obter 2 obter 3 obter 4 obter 5
executar 1 executar 2 executar 3 exec. 4
obter 6
ganho
Sérgio Nunes Computadores e Redes de Comunicação 41
Processador
• Principais características– Comprimento da palavra. A palavra corresponde ao número de
bits que são tratados como uma unidade durante o processamento interno (ex: “O Sun UltraSPARC é um processador de 64 bits”).
– Velocidade do processador. Para coordenar o funcionamento das partes do processador são usados sinais de relógio. A velocidade do processador corresponde ao número de ciclos de relógio por segundo (hertz) (ex: “PC a 2 GHz”).
Sérgio Nunes Computadores e Redes de Comunicação 42
Memória
• A memória pode ser vista como um conjunto de células onde é possível armazenar dados.
• A cada célula está associado um número de identificação único – endereço.
Sérgio Nunes Computadores e Redes de Comunicação 43
Memória• Principais características
– Localização• Processador, interna, externa (secundária).
– Capacidade• Tamanho da palavra, número de palavras.
– Método de acesso• Sequencial, directo, aleatório, associativo.
– Desempenho• Tempo de acesso, frequência de relógio, taxa de transferência.
– Tipo físico• Semicondutor, magnético, óptico.
– Características físicas• Volátil, permanente.
Sérgio Nunes Computadores e Redes de Comunicação 44
Memória
• Hierarquia de memórias do computador
registos
cache
memória principal
cache de disco
disco magnético
disco ópticobanda magnética
•Menor custo por bit•Maior capacidade•Maiores tempos de acesso
10
103
Unidades decapacidade 106
106
109
109
Sérgio Nunes Computadores e Redes de Comunicação 45
Memória
• Evolução da capacidade dos chips de DRAM.
1 Gb2002
256 Mb1999
64 Mb1996
16 Mb1992
4 Mb1989
1 Mb1986
256 Kb1983
64 Kb1980
CapacidadeAnoDRAM
Sérgio Nunes Computadores e Redes de Comunicação 46
Memória• Memória primária (interna)
– Usada para armazenar dados de utilização frequente. Geralmente volátil.
• Memória secundária (externa)– Dispositivos periféricos, acessíveis ao processador através dos
controladores de E/S.
ArmazenamentoPrimário
ArmazenamentoSecundário
ROM
RAM SRAMDRAM
ROMPROM
EPROMEEPROM
Disco magnético
Disco óptico (CR-ROM, DVD)
Banda magnética
Sérgio Nunes Computadores e Redes de Comunicação 48
Entrada e Saída
• Os controladores de entrada e saída (E/S) são a interface de um computador para o exterior.
• O módulo de E/S tem duas funções principais:– Interface com o processador e memória através dos canais de
comunicação do sistema.
– Interface com cada um dos periféricos instalados através de canais específicos.
• Categorização de dispositivos externos (periféricos):– Interface com Humanos: comunicação com o utilizador.
– Interface com Máquinas: comunicação com equipamento.
– Comunicação: comunicação com dispositivos remotos.
Sérgio Nunes Computadores e Redes de Comunicação 49
Periféricos
• Interface com Humanos– Teclado, monitor, impressora.
• Interface com Máquinas– Disco magnético, sensor, actuador.
• Comunicação– Modem.
Sérgio Nunes Computadores e Redes de Comunicação 50
Monitor CRT• Cathode Ray Tube (CRT)• Dispositivo de saída mais usado.
• Resolução máxima: número máximo depontos individuais.
• Taxa de refrescamento: número de vezesque a imagem no ecrã é desenhada.
• Profundidade de cor: número de cores que podem ser desenhadas num ponto.
• A imagem corresponde a uma matriz de pixels, representados num mapa de bits (bitmap).
Sérgio Nunes Computadores e Redes de Comunicação 51
Programação de Computadores
• Um programa especifica, na sintaxe precisa de uma linguagem de programação, as tarefas que se pretende que o computador realize.
• Um algoritmo tem o mesmo objectivo de um programa mas não está associado a nenhuma linguagem em particular. Tem como principal função facilitar a comunicação entre humanos.
• Exemplo: receita de bolo de chocolate.
Sérgio Nunes Computadores e Redes de Comunicação 52
Programação1.Numa taça:
1.Bater:5 ovos2. cháv. de chá de açúcar.
até obter uma mistura consistente.
2.Acrescentar alternadamente:2 cháv. de chá de farinha.1 col. chá de fermento em pó.1 cháv. de chá de óleo.1 cháv. de chá de chocolate em pó.
3.Bater até obter uma massa espessa.4.Acrescentar 1 cháv. de chá de água.
2.Untar forma com manteiga e farinha.3.Deitar massa na forma.4.Levar forma ao forno durante 30-40 minutos a 250ºC.
Sérgio Nunes Computadores e Redes de Comunicação 53
Programaçãoswap(int v[], int k);{
int temp;temp = v[k];v[k] = v[k+1];v[k+1] = temp;
}
swap:multi $2, $5,4add $2, $4,$2lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)jr $31,
00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000
Linguagem de alto nível (C)
Linguagem de montagem
Código máquina
compilador
assembler