rganização de computadores introdução capítulo 2 - tanenbaum organização de computadores...
TRANSCRIPT
Organização de rganização de ComputadoresComputadores
IntroduçãoIntroduçãoCapítulo 2 - TanenbaumCapítulo 2 - Tanenbaum
Prof. Fábio M. CostaInstituto de InformáticaUniversidade Federal de Goiás
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores2
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores3
Exemplo: Um sistema uni-processado
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores4
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores5
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores6
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores7
Organização do Processador
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores8
Execução de instruções
1. Busca a próxima instruçãoa) 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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores9
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores10
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores11
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores12
Execução via Interpretação (2)
Processador
Interpretador
Hardware
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores13
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores14
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores15
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores16
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores17
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores18
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 inicialParalelismo
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çõesInstruçõ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 camposNú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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores19
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores20
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores21
Pipelining: Exemplo
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores22
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
9S1:
S2:
S3:
S4:
S5:
1 2 3 4 5 6 7 8 9tempo
Unidade deBusca deInstruções
Unidade deDecodificaçãode Instruções
Unidade deBusca de
Operandos
Unidade deExecução
de Instruções
Unidade deEscrita deResultados
S1 S2 S3 S4 S5
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores23
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores24
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores25
Arquiteturas Super-escalares Um único pipeline Múltiplas unidades funcionais para um certo estágio
do pipeline
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores26
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores27
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores28
Processadores de Array: exemplo
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores29
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores30
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores31
Processadores Vetoriais: exemplo
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores32
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores33
Multiprocessadores
Processador
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores34
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores35
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores36
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 2k – 1
– Padrão atual: células de 8 bits (bytes)
Endereços binários– m bits de endereço: máximo de 2m células
Palavra (word): agrupamento de bytes– unidade de dados processada pelas instruções
Memória Primária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores37
Endereços de memória (2)
Figura 2.9
Memória Primária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores38
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores39
Ordem dos bytes: Exemplo
Ex.: Representação do número 6 (110)
Figura 2.11
00000110000000000000000000000000big endian:0 1 2 3
00000110000000000000000000000000little endian:3 2 1 0
Memória Primária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores40
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores41
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores42
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores43
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores44
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores45
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores46
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores47
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores48
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores49
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores50
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores51
Tipos de memórias: DIMMs
84 conectores em cada lado: 168 conectores Capaz de transferir 64 bits de cada vez
Memória Primária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores52
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores53
Hierarquias de memórias
Memória Secundária
Menor tempo de acessoMenor quantidadeMaior custo unitário
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores54
Discos magnéticos (discos rígidos)
Memória Secundária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores55
Discos magnéticos: Trilhas, setores e cilindros
©2002 PCTechGuide
Memória Secundária
Eixo
Setor
Trilha
Cilindro
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores56
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores57
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores58
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores59
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores60
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores61
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores62
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 224 -1: 8.4GB
Atualmente: 0 a 228 -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 setores1 setor = 512 bytesCapacidade máxima = 528MB
Memória Secundária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores63
Discos IDE: Configuração típica
©2002 PCTechGuide
Memória Secundária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores64
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores65
SCSI: Configuração típica
©2002 PCTechGuide
Memória Secundária
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores66
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores67
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores68
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores69
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores70
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores71
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores72
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores73
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores74
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores75
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
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores76
Barramentos:Estrutura física (em um PC)
Entrada e Saída (I/O)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores77
Barramentos:Estrutura lógica simplificada
Entrada e Saída (I/O)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores78
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)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores79
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)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores80
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)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores81
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)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores82
Barramento: PCI e ISA
Entrada e Saída (I/O)
Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores83
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)