55
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

Introdução aos Computadores - web.fe.up.ptweb.fe.up.pt/~ssn/disciplinas/crc/computadores.pdf · Sérgio Nunes Computadores e Redes de Comunicação 4 Definição Computador “Sistema

  • Upload
    doanque

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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

DefiniçãoBreve História e Evoluçã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 6

Pascaline

Sérgio Nunes Computadores e Redes de Comunicação 7

Máquina Diferencial de Babbage

Sérgio Nunes Computadores e Redes de Comunicação 8

Tabuladora de Hollerith

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 10

ENIAC (1946)

Sérgio Nunes Computadores e Redes de Comunicação 11

UNIVAC (publicidade, 1955)

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 13

IBM 1401

Sérgio Nunes Computadores e Redes de Comunicação 14

Circuito Impresso

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 16

Circuito Integrado

Sérgio Nunes Computadores e Redes de Comunicação 17

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 19

Wafer

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 22

Organização LógicaRepresentação de Dados

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 33

Organização do Computador

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 39

Processador

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 47

Disco Magnético

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

Sérgio Nunes Computadores e Redes de Comunicação 54

Linguagens de Programação

Sérgio Nunes Computadores e Redes de Comunicação 55

Programação