Baixe o app para aproveitar ainda mais
Prévia do material em texto
Computadores e Redes de Comunicação 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ção Breve História e Evolução Definição Computador “Sistema programável que permite armazenar, recuperar e processar dados.” Entrada SaídaProcessamento Armazenamento Instruções Computadores e Redes de Comunicação 4 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) Pascaline Computadores e Redes de Comunicação 6 Máquina Diferencial de Babbage Computadores e Redes de Comunicação 7 Tabuladora de Hollerith Computadores e Redes de Comunicação 8 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. ENIAC (1946) Computadores e Redes de Comunicação 10 UNIVAC (publicidade, 1955) Computadores e Redes de Comunicação 11 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 IBM 1401 Computadores e Redes de Comunicação 13 Circuito Impresso Computadores e Redes de Comunicação 14 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 Circuito Integrado Computadores e Redes de Comunicação 16 IBM System/360 Computadores e Redes de Comunicação 17 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. Wafer Computadores e Redes de Comunicação 19 Computadores e Redes de Comunicação 20 Evolução dos Computadores Ano Nome Área (m2) Potência (watts) Desempenho (soma/seg) Memória KB Custo ajustado a 1991 $/desempenho vs. UNIVAC 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 Tendências • Evolução nas áreas: – Processamento – Armazenamento – Comunicação Computadores e Redes de Comunicação 21 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 Processamento Computadores e Redes de Comunicação 24 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 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. Representação do valor 0110010 Tempo Computadores e Redes de Comunicação 26 Voltagem 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 Computadores e Redes de Comunicação 28 Representação de Dados Decimal Binário 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 Decimal Binário 11 1011 12 1100 13 1101 14 1110 15 1111 16 10000 17 10001 18 10010 19 10011 20 10100 Representação de Dados • Binário Decimal • Decimal Binário – 27 / 2 = 13 + resto 1 – 13 / 2 – 6 / 2 – 3 / 2 – 1 / 2 = 6 + resto 1 = 3 + resto 0 = 1 + resto 1 = 0 + resto 1 – 2710 = 110112 Computadores e Redes de Comunicação 29 – 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 2 1 + 0 x 20 + 1 x 2-1 + 1 x 2-2 = 2 + 0 + ½ + ¼ = 2 + ¾ = 2,7510 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 Binário Decimal ASCII 00101110 46 . 00101111 47 / 00110000 48 0 00110001 49 1 Binário Decimal ASCII 00101110 65 A 00101111 66 B 00110000 67 C 00110001 68 D 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 Kb = 1 kilobit ≠ 1KB = 1 kilobyte • 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 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 de3,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/ 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 Computadores e Redes de Comunicação 35 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). 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 Computadores e Redes de Comunicação 37 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 e colocar o resultado em R3. Armazenar o valor de R3 na posição de memória C.– STORE R3, C Processador 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 executar 1 executar 2 executar 3 exec. 4 ganho Computadores e Redes de Comunicação 40 obter 1 obter 2 obter 3 obter 4 obter 5 obter 6 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”). 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. Computadores e Redes de Comunicação 42 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. Memória • Hierarquia de memórias do computador cache de disco disco magnético disco ópticobanda magnética 10 registos Computadores e Redes de Comunicação 44 cache memória principal •Menor custo por bit •Maior capacidade •Maiores tempos de acesso 103 Unidades de capacidade 106 106 109 109 Memória • Evolução da capacidade dos chips de DRAM. DRAM Computadores e Redes de Comunicação 45 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 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. Armazenamento Primário ROM ROM PROM EPROM EEPROM RAM SRAM DRAM Armazenamento Secundário Disco magnético Disco óptico (CR-ROM, DVD) Banda magnética Disco Magnético Computadores e Redes de Comunicação 47 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. Periféricos • Interface com Humanos – Teclado, monitor, impressora. • Interface com Máquinas – Disco magnético, sensor, actuador. • Comunicação – Modem. 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). Computadores e Redes de Comunicação 50 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. Computadores e Redes de Comunicação 52 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: 3.Bater até obter uma massa espessa. 4.Acrescentar 1 2.Untar forma com 3.Deitar massa na cháv. de chá de água. manteiga e farinha. forma. 4.Levar forma ao forno durante 30-40 minutos a 250ºC. 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ó. Programação swap(int v[], int k); { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } swap: multi $2, $5,4 add $2, $4,$2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31, 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 Linguagem de alto nível (C) compilador Linguagem de montagem assembler Computadores e Redes de Comunicação 53 Código máquina 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000 Linguagens de Programação Computadores e Redes de Comunicação 54 Programação Computadores e Redes de Comunicação 55
Compartilhar