Introdução aos Computadores

Propaganda
Introdução aos Computadores
Computadores e Redes de Comunicação
Mestrado em Gestão de Informação, FEUP 06/07
Sérgio Sobral Nunes
mail: [email protected]
web: www.fe.up.pt/~ssn
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
2
Definição
Breve História e Evolução
Definição
Computador “Sistema programável que permite
armazenar, recuperar e processar
dados.”
Instruções
Entrada
Processamento
Saída
Armazenamento
Sérgio Nunes
Computadores e Redes de Comunicação
4
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
5
Pascaline
Sérgio Nunes
Computadores e Redes de Comunicação
6
Máquina Diferencial de Babbage
Sérgio Nunes
Computadores e Redes de Comunicação
7
Tabuladora de Hollerith
Sérgio Nunes
Computadores e Redes de Comunicação
8
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
9
ENIAC (1946)
Sérgio Nunes
Computadores e Redes de Comunicação
10
UNIVAC
Sérgio Nunes
(publicidade, 1955)
Computadores e Redes de Comunicação
11
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
12
IBM 1401
Sérgio Nunes
Computadores e Redes de Comunicação
13
Circuito Impresso
Sérgio Nunes
Computadores e Redes de Comunicação
14
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
15
Circuito Integrado
Sérgio Nunes
Computadores e Redes de Comunicação
16
IBM System/360
Sérgio Nunes
Computadores e Redes de Comunicação
17
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
18
Wafer
Sérgio Nunes
Computadores e Redes de Comunicação
19
Evolução dos Computadores
Ano
Nome
1951
UNIVAC I
100
124.500
1.900
48
$4.533.607
1
1964
IBM S360
6
10.000
500.000
64
$3.756.502
263
1965
PDP-8
0,8
500
330.000
4
$59.947
10.855
1976
Cray-1
5,8
60.000
166.000.000
32.768
$7.675.591
21.842
1981
IBM-PC
0,15
150
240.000
256
$3.702
42.105
1991
HP 9000
0,2
500
50.000.000
16.384
$7.400
3.556.188
Hoje
PC
0.2
<300
>100.000.000
262.144
<$1.000
>50.000.000
Sérgio Nunes
Área
(m2)
Potência
(watts)
Desempenho
(soma/seg)
Memória
KB
Computadores e Redes de Comunicação
Custo ajustado
a 1991
$/desempenho
vs. UNIVAC
20
Tendências
• Evolução nas áreas:
– Processamento
– Armazenamento
– Comunicação
Sérgio Nunes
Computadores e Redes de Comunicação
21
Sérgio Nunes
Computadores e Redes de Comunicação
22
Organização Lógica
Representação de Dados
Funções Básicas
Entrada
e Saída
Controlo
Armazenamento
Sérgio Nunes
Computadores e Redes de Comunicação
Processamento
24
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
25
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.
Voltagem
Representação do
valor 0110010
Tempo
Sérgio Nunes
Computadores e Redes de Comunicação
26
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
– 24710
Sérgio Nunes
base 2
base 10
1x23 + 1x22 + 0x21 + 1x20 = 13
2x102 + 4x101 + 7x100 = 247
Computadores e Redes de Comunicação
27
Representação de Dados
Decimal
Sérgio Nunes
Binário
Decimal
Binário
1
1
11
1011
2
10
12
1100
3
11
13
1101
4
100
14
1110
5
101
15
1111
6
110
16
10000
7
111
17
10001
8
1000
18
10010
9
1001
19
10011
10
1010
20
10100
Computadores e Redes de Comunicação
28
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 / 2
6/2
3/2
1/2
= 13
=6
=3
=1
=0
+ resto 1
+ resto 1
+ resto 0
+ resto 1
+ resto 1
– 2710 = 110112
Sérgio Nunes
Computadores e Redes de Comunicação
29
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:
Binário
Decimal
ASCII
Binário
Decimal
ASCII
00101110
46
.
00101110
65
A
00101111
47
/
00101111
66
B
00110000
48
0
00110000
67
C
00110001
49
1
00110001
68
D
Outras normas: Unicode, ISO 8859-1
Sérgio Nunes
Computadores e Redes de Comunicação
30
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)
1 megabyte (MB)
1 gigabyte (GB)
1 terabyte (TB)
1 petabyte (PB)
1 exabyte (EB)
•
1 Kb = 1 kilobit ≠ 1KB = 1 kilobyte
Sérgio Nunes
= 210 bytes
= 220 bytes
= 230 bytes
= 240 bytes
= 250 bytes
= 260 bytes
= 1 024 bytes
= 1 024 kilobytes
= 1 024 megabytes
= 1 024 gigabytes
= 1 024 terabytes
= 1 024 petabytes
Computadores e Redes de Comunicação
31
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
–
–
•
Chamadas telefónicas por ano (fixo e móvel) ~ 17 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.
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
32
Sérgio Nunes
Computadores e Redes de Comunicação
33
Organização do Computador
Organização do Computador
Unidade Central
de Processamento
controlo
Unidade de
Controlo
Memória
Entrada e Saída
Unidade
Lógica e
Aritmética
dados
barramentos
Sérgio Nunes
Computadores e Redes de Comunicação
35
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
36
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
Sérgio Nunes
Obter
Descod.
Computadores e Redes de Comunicação
Exec.
Gravar
37
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 e
colocar 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
38
Processador
Sérgio Nunes
Computadores e Redes de Comunicação
39
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
ganho
obter 1 obter 2 obter 3 obter 4 obter 5 obter 6
executar 1 executar 2
Sérgio Nunes
executar 3
Computadores e Redes de Comunicação
exec. 4
40
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
41
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
42
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
43
Memória
• Hierarquia de memórias do computador
10
103
Unidades de
capacidade
106
registos
cache
memória principal
•Menor custo por bit
•Maior capacidade
6
10
109
109
Sérgio Nunes
cache de disco
•Maiores tempos de acesso
disco magnético
banda magnética
disco óptico
Computadores e Redes de Comunicação
44
Memória
• Evolução da capacidade dos chips de DRAM.
DRAM
Ano
Capacidade
1980
64 Kb
1983
256 Kb
1986
1 Mb
1989
4 Mb
1992
16 Mb
1996
64 Mb
1999
256 Mb
2002
1 Gb
Sérgio Nunes
Computadores e Redes de Comunicação
45
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.
Armazenamento
Primário
ROM
RAM
ROM
PROM
EPROM
EEPROM
SRAM
DRAM
Disco magnético
Armazenamento
Secundário
Disco óptico (CR-ROM, DVD)
Banda magnética
Sérgio Nunes
Computadores e Redes de Comunicação
46
Disco Magnético
Sérgio Nunes
Computadores e Redes de Comunicação
47
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
48
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
49
Monitor CRT
• Cathode Ray Tube (CRT)
• Dispositivo de saída mais usado.
• Resolução máxima: número máximo de
pontos individuais.
• Taxa de refrescamento: número de vezes
que 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
50
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
51
Programação
1.Numa taça:
1.Bater:
5 ovos
2. cháv. de chá de açúcar.
até obter uma mistura consistente.
2.Acrescentar alternadamente:
2
1
1
1
cháv. de
col. chá
cháv. de
cháv. de
chá de farinha.
de fermento em pó.
chá de óleo.
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
52
Programação
Linguagem de alto nível (C)
swap(int v[], int k);
{
int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
compilador
Linguagem de montagem
swap:
multi
add
lw
lw
sw
sw
jr
$2,
$2,
$15,
$16,
$16,
$15,
$31,
$5,4
$4,$2
0($2)
4($2)
0($2)
4($2)
assembler
Código máquina
Sérgio Nunes
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
Computadores e Redes de Comunicação
53
Linguagens de Programação
Sérgio Nunes
Computadores e Redes de Comunicação
54
Programação
Sérgio Nunes
Computadores e Redes de Comunicação
55
Download