rganização de computadores introdução capítulo 2 - tanenbaum organização de computadores...

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

Upload: internet

Post on 17-Apr-2015

128 views

Category:

Documents


9 download

TRANSCRIPT

Page 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

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

Page 2: 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

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

Page 3: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores3

Exemplo: Um sistema uni-processado

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores7

Organização do Processador

Processador

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores12

Execução via Interpretação (2)

Processador

Interpretador

Hardware

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores21

Pipelining: Exemplo

Processador

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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

Page 28: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores28

Processadores de Array: exemplo

Processador

Page 29: 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

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

Page 30: 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

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

Page 31: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores31

Processadores Vetoriais: exemplo

Processador

Page 32: 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

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

Page 33: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores33

Multiprocessadores

Processador

Page 34: 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

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

Page 35: 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

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

Page 36: 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

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

Page 37: 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

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

Page 38: 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

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

Page 39: 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

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

Page 40: 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

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

Page 41: 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

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

Page 42: 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

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

Page 43: 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

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

Page 44: 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

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

Page 45: 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

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

Page 46: 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

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

Page 47: 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

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

Page 48: 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

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

Page 49: 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

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

Page 50: 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

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

Page 51: 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

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

Page 52: 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

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

Page 53: 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

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

Page 54: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores54

Discos magnéticos (discos rígidos)

Memória Secundária

Page 55: 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

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

Page 56: 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

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

Page 57: 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

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

Page 58: 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

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

Page 59: 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

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

Page 60: 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

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

Page 61: 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

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

Page 62: 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

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

Page 63: 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

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

Page 64: 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

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

Page 65: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores65

SCSI: Configuração típica

©2002 PCTechGuide

Memória Secundária

Page 66: 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

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

Page 67: 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

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

Page 68: 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

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

Page 69: 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

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

Page 70: 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

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

Page 71: 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

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

Page 72: 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

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

Page 73: 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

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

Page 74: 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

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

Page 75: 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

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

Page 76: 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

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)

Page 77: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores77

Barramentos:Estrutura lógica simplificada

Entrada e Saída (I/O)

Page 78: 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

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)

Page 79: 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

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)

Page 80: 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

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)

Page 81: 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

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)

Page 82: 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

Prof. Fábio M. Costa - Instituto de Informática - UFG Microcomputadores e Microprocessadores82

Barramento: PCI e ISA

Entrada e Saída (I/O)

Page 83: 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

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)