A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Rganização de Computadores Introdução Capítulo 2 - Tanenbaum Organização de Computadores Introdução Capítulo 2 - Tanenbaum Prof. Fábio M. Costa Instituto.

Apresentações semelhantes


Apresentação em tema: "Rganização de Computadores Introdução Capítulo 2 - Tanenbaum Organização de Computadores Introdução Capítulo 2 - Tanenbaum Prof. Fábio M. Costa Instituto."— Transcrição da apresentação:

1 rganização de Computadores Introdução Capítulo 2 - Tanenbaum Organização de Computadores Introdução Capítulo 2 - Tanenbaum Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás

2 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 2 Roteiro Processadores Memória primária Memória secundária Entrada e Saída (I/O) Conectados através de um (ou mais ) barramento(s) Um computador pode ser visto como um sistema interconectado consistindo de elementos das categorias acima

3 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 3 Exemplo: Um sistema uni-processado

4 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 4 Processador – Unidade Central de Processamento (CPU) Executam programas armazenados na memória, instrução por instrução – busca, decodificação e execução Conectado através de barramentos aos demais componentes do sistema Barramento: – uma coleção de fios paralelos, usados para transmitir dados, endereços e sinais de controle entre os componentes do sistema Processador

5 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 5 Componentes do processador Unidade de controle – busca de instruções na memória – decodificação das instruções (tipo, endereços, etc.) Unidade lógico-aritimética (ALU) – realiza operações tais como adição, subtração, AND, OR, etc. Conjunto de registradores – memória de altíssima velocidade, usada para armazenamento temporário dos resultados de operações. Exemplos: Program Counter (PC): endereço da próxima instrução Instruction Register (IR): contém a instrução sendo executada Processador

6 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 6 Organização do Processador Data path (caminho de dados) – Registradores – ALU – Barramentos internos – Execução controlada por instruções de máquina Tipos de instruções – registrador-memória: load, store – registrador-registrador: add a, b Ciclo do caminho de dados (data path cycle) – carga dos operandos na ALU, processamento, e armazenamento do resultado Processador

7 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 7 Organização do Processador Processador

8 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 8 Execução de instruções 1. Busca a próxima instrução a) memória registrador de instrução (IR) 2. Atualiza o PC para apontar para a próxima instrução 3. Determina o tipo da instrução buscada 4. Se a instrução usa uma palavra na memória, determina o seu endereço 5. Busca a palavra na memória, se necessário 6. Executa a instrução 7. Volta ao passo 1 para executar a próxima instrução Processador

9 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 9 Implementação do ciclo de execução public class Interp{ // Registradores visíveis ao programador: static int PC; // endereço da próxima instrução a executar static int AC; // acumulador (armazena resultados aritiméticos) // Registradores internos: static int instr; // instrução sendo executada static int instr_type; // tipo da instrução static int data_loc; // endereço do operando (na memória) static int data; // operando // Se zero, pára a máquina static boolean run_bit = true; Processador

10 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 10 Implementação do ciclo de execução public static void interpret(int memory[], int starting address){ PC = starting_address; while (run_bit) { instr = memory[PC]; PC = PC + 1; instr_type = get_instr_type(instr); data_loc = find_data(instr, instr_type); if (data_loc >= 0) data = memory[data_loc]; execute(instr_type, data); } private static int get_instr_type(int addr) {...} private static int find_data(int instr, int type) {...} private static void execute(int type, int data) {...} } Processador

11 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 11 Execução via Interpretação Uma instrução mais complexa tende a executar mais rápido que uma seqüência de instruções mais simples – introdução de otimizações (ex.: paralelismo) – Ex.: instruções de ponto flutuante, instruções de array – Mas a implementação direta por hardware resulta em alto custo Solução: – Interpretação: quebra de instruções complexas em passos simples, mais fáceis de serem implementados em hardware Resultado: máquinas de baixo custo (hardware simplificado) com conjuntos de instruções complexos Máquinas high-end: execução direta via hardware Processador

12 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 12 Execução via Interpretação (2) Processador Interpretador Hardware

13 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 13 Execução via Interpretação: Benefícios Facilidade para corrigir instruções implementadas incorretamente Possibilidade de corrigir (ou contornar) deficiências no hardware básico Facilidade de adicionar novas instruções Permite aplicar técnicas de projeto estruturado: – maior eficiência: desenvolvimento, testes e documentação Processador

14 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 14 Execução via Interpretação: Terminologia Interpretador: micro-programa (micro-código) Memória onde o micro-programa fica armazenado: memória de controle – ROM de alta velocidade, geralmente localizada dentro do processador Passos mais simples para decomposição das instruções: micro-instruções – instruções no nível da micro-arquitetura – usadas para decompor instruções de máquina Processador

15 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 15 RISC versus CISC RISC = computadores com conjunto de instruções reduzido – execução direta por hardware CISC = computadores com conjunto de instruções complexo – execução por interpretação (software) Tendência para RISC – Máquinas CISC (e seus micro-programas) se tornaram muito complexas, ao ponto de penalizar a eficiência de execução Processador

16 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 16 RISC Instruções simples – executáveis em um único ciclo do data path Principal argumento (exemplo): – 4 instruções RISC para fazer o trabalho de 1 instrução CISC – 1 instrução CISC é 10 vezes mais rápida – resultado final: RISC é mais rápido Fatores dominantes na prática: – simplicidade de cada instrução individual (não o tamanho do conjunto de instruções em si) – velocidade da memória de controle em relação à memória principal – emprego de técnicas de otimização inovadoras Processador

17 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 17 Princípios modernos de projeto Amplamente influenciados pela escola RISC Baseados em suposições sobre a base tecnológica atual – Ex.: desempenho do processador em relação à memória principal Atualmente adotados também no projeto de máquinas CISC – Implementações híbridas Processador

18 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 18 Princípios modernos de projeto Processador Mais importante do que o tempo de execução de cada instrução individual (instruções/seg) Às custas de um atraso inicial Paralelismo Maximizar a taxa de despacho de instruções Permite manter os dados necessários dentro do processador enquanto forem necessários Grande conjunto de registradores Torna mais rápida a execução de outras instruções Instruções que acessam a memória podem ser executadas em paralelo com outras instruções Apenas instruções de load e store devem referenciar a memória Adotar tamanhos fixos de instrução, poucos campos Número reduzido de formatos diferentes Instruções de fácil decodificação Eliminando a necessidade de interpretação (pelo menos para instruções mais comuns) Instruções mais complexas: micro-programa Instruções executadas diretamente por hardware

19 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 19 Paralelismo Unidades de execução paralelas Paralelismo no nível de instruções – mais instruções executadas por segundo em um único processador – pipelining – arquiteturas super-escalares Paralelismo no nível do processador – múltiplas CPUs trabalhando no mesmo problema – processadores vetoriais – multi-processadores – multi-computadores Processador

20 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 20 Paralelismo no nível de instruções Pré-busca (pre-fetching) – execução de instruções é dividida em duas partes, realizadas em paralelo: busca da instrução (i.e., da próxima instrução) execução de fato (da instrução atual) Pipelining: – execução é dividida em várias partes (ou estágios) – cada uma realizada por unidades de hardware dedicadas, em paralelo – em cada ciclo do processador: várias instruções são executadas cada uma em um estágio diferente Processador

21 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 21 Pipelining: Exemplo Processador

22 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 22 Pipelining: Exemplo 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 S1: S2: S3: S4: S5: 123456789 tempo Unidade de Busca de Instruções Unidade de Decodificação de Instruções Unidade de Busca de Operandos Unidade de Execução de Instruções Unidade de Escrita de Resultados S1S2 S3S4 S5

23 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 23 Pipelining: Análise de eficiência Exemplo – ciclo de máquina: 2ns – execução de cada instrução com cinco estágios de pipeline: 10ns aparentemente: 100MIPS MIPS: milhões de instruções por segundo – mas uma vez que o pipeline está cheio (i.e., todos os estágios estão executando em paralelo): uma instrução é completada a cada 2ns resultado: 500MIPS Latência (atraso inicial) X Largura de Banda da CPU – n estágios, com tempo de ciclo = T latência = nT – Largura de banda (ou throughput) = 1000/T MIPS Processador

24 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 24 Pipelines em paralelo Múltiplas instruções executando em paralelo – Instruções precisam ser independentes (compatíveis) – Compilador responsável por gerar código otimizado para explorar o paralelismo Abordagem não escala muito bem: – Replicação de hardware – Benefícios difíceis de serem atingidos à medida que o número de pipelines paralelos aumenta Processador

25 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 25 Arquiteturas Super-escalares Um único pipeline Múltiplas unidades funcionais para um certo estágio do pipeline Processador

26 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 26 Paralelismo no nível do processador Limitações físicas: – Velocidade da luz – Super-aquecimento do processador Parelelismo no nível de instruções: – Ganhos de desempenho: 5 a 10 vezes Para obter ganhos maiores: – Computadores com múltiplas CPUs rodando em paralelo Processador

27 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 27 Processadores de Array Múltiplos processadores idênticos – Cada um operando em um subconjunto dos dados do problema A mesma instrução é executada por toods os processadores – Resultados são combinados ao final – Uma unidade de controle central Aplicável a problemas do tipo matricial – ou que possam ser interpretados como tal isto é: cujo conjunto de dados possa ser particionado em sub- conjuntos independentes para serem processados em paralelo SIMD – Single Instruction, Multiple Data Processador

28 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 28 Processadores de Array: exemplo Processador

29 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 29 Processadores Vetoriais Também voltado para o processamento de problemas matriciais Paralelismo dentro da ALU – ALU vetorial: implementada através de pipelining Registradores vetoriais – Capazes de armazenar os múltiplos elementos de um vetor Instruções vetoriais – Aritiméticas Vetor-vetor, vetor-escalar – Carga e armazenamento de vetores na memória Processador

30 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 30 Processadores de Array e Vetoriais: Comparação Array: – 1 processador para cada elemento da matriz – Altamente especializados: inapropriados para problemas não matriciais – Requer técnicas sofisticadas de programação/compilação para explorar o paralelismo Vetorial: – Um único processador com paralelismo no nível de instruções (pipelining) operando em registradores vetoriais – Mais flexíveis: bom desempenho em problemas híbridos (escalar X vetorial), sem muito desperdício de hardware – Mais simples de se programar Processador

31 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 31 Processadores Vetoriais: exemplo Processador

32 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 32 Multiprocessadores Múltiplos processadores independentes – Podem executar partes diferentes do programa – MIMD – Multiple Instruction, Multiple Data Memória compartilhada – Facilita a programação – Mas necessita mecanismos para Controlar a concorrência no acesso a partes comuns na memória Arbitrar as vias de acesso à memória Variação – Memórias locais, caching Sistemas fortemente acoplados Processador

33 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 33 Multiprocessadores Processador

34 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 34 Multi-computadores Computadores independentes (CPU + memória) interconectados – Conexões de alta velocidade – Sem memória compartilhada Embora possa ser simulada para facilitar a programação – Comunicação por passagem de mensagens – Sistemas fracamente acoplados Maior escalabilidade – Não necessita arbitrar o acesso à memória compartilhada Processador

35 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 35 Memória Primária Armazenamento de dados e programas – diretamente acessível ao processador Unidade de armazenamento: Bit – Valores: 0 ou 1 – Representado através da distinção de dois níveis diferentes de valores de alguma quantidade física; Ex.: voltagem Vantagens do sistema binário – Facilidade de representação em sistemas eletrônicos – Confiabilidade

36 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 36 Endereços de memória Posições de memória: células – Cada célula tem um endereço próprio – Todas as células têm o mesmo tamanho células de k bits: representa valores de 0 a 2 k – 1 – Padrão atual: células de 8 bits (bytes) Endereços binários – m bits de endereço: máximo de 2 m células Palavra (word): agrupamento de bytes – unidade de dados processada pelas instruções Memória Primária

37 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 37 Endereços de memória (2) Figura 2.9 Memória Primária

38 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 38 Ordem dos bytes em uma palavra Da esquerda para a direita – Isto é: começa pelo byte de mais alta ordem (mais significativo) – big endian Da direita para a esquerda – Isto é: começa pelo byte de mais baixa ordem (menos significativo) – little endian Representação de números inteiros: idêntica em ambos os esquemas – apenas a numeração dos bytes difere Memória Primária

39 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 39 Ordem dos bytes: Exemplo Ex.: Representação do número 6 (110) Figura 2.11 00000110 00000000 big endian: 0 1 2 3 00000110 00000000 little endian: 3 2 1 0 Memória Primária

40 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 40 Ordem dos bytes: Problema Quando se representa vários tipos de dados diferentes – Ex.: inteiros e cadeias de caracteres – Apenas inverter a ordem dos bytes não é suficiente – O que fazer então? Memória Primária

41 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 41 Deteção e correção de erros Erros introduzidos na memória – Defeitos de hardware – Falhas ocasionais – ex.: picos de corrente Códigos baseados em redundância – bits extra adicionados a cada palavra na memória – conferidos quando a palavra é lida da memória Palavra-código (code word): – m bits de dados – r bits para controle de erros – Tamanho da palavra-código: n = (m + r ) Deteção: bit de paridade adicionado a cada 8 bits Correção: código de Hamming Memória Primária

42 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 42 Esquema geral de deteção/correção de erros f Memória f Compa- rador Corretor Escrita Leitura m r m m r r Memória Primária Sinal de erro

43 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 43 Cache: Problema a ser resolvido Requisitos para a memória principal: – Baixo custo – Alta capacidade Resultado: memórias lentas (em relação à CPU) Exemplo: – Tempo de acesso à memória: 10 ciclos de clock – Processador ficará parado até concluir o acesso Solução simples: – Processador continua executando até chegar a uma instrução que necessite fazer acesso à memória – Não é suficiente Memória Primária

44 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 44 Cache: Princípio básico Combinar – uma pequena quantidade de memória rápida, mas de alto custo (cache) – uma grande quantidade de memória lenta e de baixo custo Resultado: – Grande capacidade de memória – Rapidez de acesso – Custo moderado Memória Primária

45 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 45 Cache Pequena quantidade de memória rápida Fica entre a memória principal e a CPU Geralmente localizada dentro do chip da CPU Memória Primária

46 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 46 Cache: Operação CPU requisita o conteúdo de uma posição de memória Se os dados já estão na cache (acerto) – obtém os dados a partir da cache (acesso rápido) Senão (perda) – lê um bloco inteiro de dados da memória principal Bloco definido pela vizinhança da posição de memória solicitada Bloco = linha da cache – Retorna os dados da cache para a CPU Memória Primária

47 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 47 Cache: Princípio da Localidade Programas não acessam endereços de memória (para dados ou código) de forma aleatória – Há grande probabilidade de que a próxima palavra requisitada pela CPU esteja na vizinhança da palavra lida anteriormente Aumenta a taxa de acerto – Uma vez que o conteúdo da memória nos endereços vizinhos já se encontra na cache Memória Primária

48 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 48 Cache: Aspectos de projeto Tamanho da cache Tamanho das linhas da cache Mapeamento da cache para os endereços na memória principal Consistência entre cache e memória principal Cache unificada x caches especializadas – Cache de instruções – Cache de dados Número de caches em um sistema Memória Primária

49 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 49 Tipos memória (Packaging) Chips de memória montados em uma pequena placa de circuito impresso SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) SO-DIMM (Small Outline DIMM) – Ex.: SIMM de 128MB 8 chips de 128 megabits cada Sem suporte para deteção e correção de erros – i.e., sem paridade Tipicamente: 4 slots para módulos de memória Memória Primária

50 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 50 Tipos de memórias: SIMMs SIMM de 30 pinos 8 bits por acesso SIMM de 72 pinos 32 bits por acesso Memória Primária

51 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 51 Tipos de memórias: DIMMs 84 conectores em cada lado: 168 conectores Capaz de transferir 64 bits de cada vez Memória Primária

52 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 52 Memória Secundária Hierarquias de memória Discos magnéticos – Discos flexíveis (floppy disks) – Discos IDE – Discos SCSI – RAID Discos óticos – CD-ROM – CD-R e CD-RW – DVD, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM

53 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 53 Hierarquias de memórias Memória Secundária Menor tempo de acesso Menor quantidade Maior custo unitário

54 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 54 Discos magnéticos (discos rígidos) Memória Secundária

55 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 55 Discos magnéticos: Trilhas, setores e cilindros ©2002 PCTechGuide Memória Secundária Eixo Setor Trilha Cilindro

56 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 56 Discos magnéticos: Geometria típica de trilhas e setores Preâmbulo: sincronização da cabeça Lacunas – entre setores: amenizam a necessidade de alta precisão da cabeça – entre trilhas: reduzem interferência magnética Código de correção de erros (ECC): Reed-Solomon Memória Secundária

57 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 57 Disco rígido: Exemplos ©2003 IBM Corporation 2003: IBM Ultrastar 36ZX Capacidade: 36.7GB Velocidade de rotação: 10.000 RPM Interface: Ultra 160 SCSI Tempo de busca médio: 4,9 ms 2005: Hitachi/IBM Ultrastar 15K147 Capacidade: 147GB Veloc. de rotação: 15.000 RPM Interface: Ultra 320 SCSI Tempo de busca médio: 3,6ms

58 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 58 Discos magnéticos: Tempos de acesso Tempo de busca – Posicionamento da cabeça na trilha correta Latência rotacional – Tempo para o setor desejado passar sob a cabeça de leitura/escrita Tempo de transferência – Função da densidade linear e da velocidade de rotação Demanda otimização da ocupação do disco Memória Secundária

59 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 59 Controladora de disco Aceita comandos de software – READ, WRITE, FORMAT Traduz estes comandos em ações – Controle dos movimentos das cabeças – Deteção e correção de erros – Bufferização de múltiplos setores – Caching de setores para acesso rápido – Remapeamento de setores Quando o setor original se torna defeituoso Substituído por um setor sobressalente no cilindro Memória Secundária

60 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 60 Discos flexíveis Geometria semelhante a discos rígidos – Apenas dois cilindros Cabeça de leitura/escrita em contato com a superfície do disco Rotação é interrompida quando não em uso Maior atraso inicial Memória Secundária

61 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 61 Tipos de Discos Rígidos (Padrões) SCSI – Small Computer Systems Interface – UltraSCSI 320 – 320MB/s; tempo de busca médio: 3,6ms – 10.000 ou 15.000 RPM SATA – Serial ATA – Evolução do padrão IDE (ATA) – 300MB/s; tempo de busca médio: 4,5ms – 5.400 ou 7.200 RPM Taxas de dados (máximas) semelhantes – mas SCSI tem menor latência SATA – menor custo, drives com maior capacidade

62 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 62 Discos IDE Integrated Drive Electronics Comuns nos primeiros PCs Endereçamento no disco (especificação original): – Cabeça (4 bits) – Setor (6 bits) – Cilindro (10 bits) EIDE (Extended IDE) – Numera os setores de 0 a 2 24 -1: 8.4GB Atualmente: 0 a 2 28 -1 = 137GB – Endereços convertidos em cabeça/setor/cilindro – Taxa de transferência mais alta – Suporte a 4 dispositivos (incl. CD-ROM): ATAPI – Taxa de transferência máxima: 66MBps (Ultra ATA/66) 16 x 63 x 1024 = 1.032.192 setores 1 setor = 512 bytes Capacidade máxima = 528MB Memória Secundária

63 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 63 Discos IDE: Configuração típica ©2002 PCTechGuide Memória Secundária

64 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 64 Discos SCSI Small Computer Systems Interface Interface genérica para conexão de dispositivos periféricos Barramento SCSI – 1 controladora – 7 dispositivos (15 em wide SCSI) – Permite múltiplos dispositivos acessarem o barramento ao mesmo tempo (ao contrário de IDE) Taxas de transmissão – até 320MBps (Ultra320 SCSI) Memória Secundária

65 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 65 SCSI: Configuração típica ©2002 PCTechGuide Memória Secundária

66 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 66 RAID Redundant Array of Inexpensive Disks Uso de vários discos (tipicamente SCSI) em paralelo Controladora RAID dá a ilusão de um único disco virtual Memória Secundária

67 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 67 RAID nível 0 Divide os setores do disco virtual em faixas de k setores cada Faixas são escritas nos discos físicos em round robin Leitura de grandes blocos de dados – I/O paralela: cada disco contribui com uma ou mais faixas Memória Secundária

68 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 68 RAID nível 1 Duplica a configuração do RAID nível 0 – Drives de backup Melhor tolerância a falhas Memória Secundária

69 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 69 RAID nível 2 Cada bit de uma palavra é escrito em um disco físico separado Juntamente com bits de paridade para compor o código de Hamming da palavra – Correção de erros Ex.: se um disco quebrar Throughput elevado Todos os discos devem estar sincronizados Memória Secundária

70 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 70 RAID nível 3 Versão simplificada de RAID nível 2 Um bit de paridade é adicionado a cada palavra – Apenas um disco extra é necessário Correção de erros – Em caso de quebra de um disco, a posição do bit em erro é conhecida Então: bit de paridade é suficiente para a correção Memória Secundária

71 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 71 RAID nível 4 Semelhante ao RAID nível 0 Um disco extra é usado para guardar a paridade das faixas dos outros discos Permite corrigir erros causados pela quebra de um disco Desempenho baixo para escrita de pequenas quantidades de dados – Cálculo da paridade envolvendo todos os discos Memória Secundária

72 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 72 RAID nível 5 Semelhante ao RAID nível 5 Distribui as faixas de paridade entre os discos – Em ordem round robin Difícil reconstituir o conteúdo de um disco em caso de falha Memória Secundária

73 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 73 Leitura CD-ROMs – 2.3.7 CD-Recordable (CD-R) – 2.3.8 CD-Rewritable (CD-RW) – 2.3.9 DVD – 2.3.10 Memória Secundária

74 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 74 Entrada e Saída (I/O) Barramentos Terminais – Teclados – Monitores CRT – Monitores LCD – Terminais de caracteres – Terminais de bit-map – Terminais RS-232-C Mouse Impressoras Modems Códigos de caracteres

75 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 75 Barramento Conjunto de fios em paralelo Localizado na placa-mãe Conecta os dispositivos de I/O à CPU Slots com soquetes para conexão dos dispositivos – Pontos de acesso ao barramento Tipos comuns de barramentos – ISA – PCI

76 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 76 Barramentos: Estrutura física (em um PC) Entrada e Saída (I/O)

77 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 77 Barramentos: Estrutura lógica simplificada Entrada e Saída (I/O)

78 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 78 Controladoras de I/O Cada dispositivo conectado ao barramento consiste de duas partes: – Uma controladora – O dispositivo em si (ex.: HD, monitor, teclado) Conectado à controladora por um cabo Controladora on-board – Integrada na placa-mãe Controladora off-board (plug-in) – Uma placa separada da placa-mãe, conectada a esta através de um dos slots do barramento Entrada e Saída (I/O)

79 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 79 Controladoras de I/O: funcionalidade Controlar o acesso ao barramento para o dispositivo Controlar o funcionamento de baixo nível do dispositivo – Ex.: HD: movimento das cabeças, bufferização, etc. Fornecer uma interface de mais alto nível para o programador DMA (Acesso direto à memória) – Dados são transferidos entre o dispositivo e a memória sem a intervenção direta da CPU – Ao final da transferência, a controladora interrompe a CPU Para fazer uso dos dados transferidos Entrada e Saída (I/O)

80 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 80 Arbitragem de acesso ao barramento Controle de acesso concorrente ao barramento Árbitro do barramento – Decide qual dispositivo (ou CPU) terá acesso ao barramento no próximo ciclo – Dispositivos de I/O geralmente têm prioridade sobre a CPU – Árbitro pode decidir interromper o acesso da CPU ao barramento em favor de um dispositivo de I/O Entrada e Saída (I/O)

81 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 81 Barramento: Aspectos de desempenho Barramento pode se tornar um gargalo para o sistema como um todo – Idealmente, deveria acompanhar o aumento de velocidade do processador, memória e I/O Necessidade de manter compatibilidade com tecnologia anterior – Para re-aproveitar dispositivos de I/O existentes ISA EISA – Compatibilidade com dispositivos mais antigos ou lentos PCI – Suporte para velocidades de transferência mais altas – ISA como um segundo barramento Entrada e Saída (I/O)

82 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 82 Barramento: PCI e ISA Entrada e Saída (I/O)

83 Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores 83 Leitura dirigida Terminais – 2.4.2 Mouse – 2.4.3 Impressoras – 2.4.4 Modems – 2.4.5 Códigos de caracteres – 2.4.6 Entrada e Saída (I/O)


Carregar ppt "Rganização de Computadores Introdução Capítulo 2 - Tanenbaum Organização de Computadores Introdução Capítulo 2 - Tanenbaum Prof. Fábio M. Costa Instituto."

Apresentações semelhantes


Anúncios Google