Você está na página 1de 83

Organizao de rganizao Computadores

Roteiro
   

Processadores Memria primria Memria secundria Entrada e Sada (I/O) Conectados atravs de um (ou mais ) barramento(s) Um computador pode ser visto como um sistema interconectado consistindo de elementos das categorias acima

Microcomputadores e Microprocessadores

Exemplo: Um sistema uni-processado

Microcomputadores e Microprocessadores

Processador

Processador Unidade Central de Processamento (CPU)




Executam programas armazenados na memria, instruo por instruo

busca, decodificao e execuo

 

Conectado atravs de barramentos aos demais componentes do sistema Barramento:

uma coleo de fios paralelos, usados para transmitir dados, endereos e sinais de controle entre os componentes do sistema

Microcomputadores e Microprocessadores

Processador

Componentes do processador


Unidade de controle

busca de instrues na memria decodificao das instrues (tipo, endereos, etc.) realiza operaes tais como adio, subtrao, AND, OR, etc. memria de altssima velocidade, usada para armazenamento temporrio dos resultados de operaes. Exemplos:
 

 

Unidade lgico-aritimtica (ALU)

Conjunto de registradores

Program Counter (PC): endereo da prxima instruo Instruction Register (IR): contm a instruo sendo executada
Microcomputadores e Microprocessadores

Processador

Organizao do Processador


Data path (caminho de dados)


Registradores ALU Barramentos internos Execuo controlada por instrues de mquina registrador-memria: load, store registrador-registrador: add a, b carga dos operandos na ALU, processamento, e armazenamento do resultado
Microcomputadores e Microprocessadores

Tipos de instrues

Ciclo do caminho de dados (data path cycle)

Processador

Organizao do Processador

Microcomputadores e Microprocessadores

Processador

Execuo de instrues
1.

Busca a prxima instruo


a)

memria p registrador de instruo (IR)

2. 3. 4. 5. 6. 7.

Atualiza o PC para apontar para a prxima instruo Determina o tipo da instruo buscada Se a instruo usa uma palavra na memria, determina o seu endereo Busca a palavra na memria, se necessrio Executa a instruo Volta ao passo 1 para executar a prxima instruo
Microcomputadores e Microprocessadores

Processador

Implementao do ciclo de execuo


public class Interp{ // Registradores visveis ao programador: static int PC; // endereo da prxima instruo a executar static int AC; // acumulador (armazena resultados aritimticos) // Registradores internos: static int instr; // static int instr_type; // static int data_loc; // static int data; //

instruo sendo executada tipo da instruo endereo do operando (na memria) operando

// Se zero, pra a mquina static boolean run_bit = true;

Microcomputadores e Microprocessadores

Processador

Implementao do ciclo de execuo


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) {...} }
Microcomputadores e Microprocessadores

10

Processador

Execuo via Interpretao




Uma instruo mais complexa tende a executar mais rpido que uma seqncia de instrues mais simples

introduo de otimizaes (ex.: paralelismo) Ex.: instrues de ponto flutuante, instrues de array Mas a implementao direta por hardware resulta em alto custo Interpretao: quebra de instrues complexas em passos simples, mais fceis de serem implementados em hardware

Soluo:

 

Resultado: mquinas de baixo custo (hardware simplificado) com conjuntos de instrues complexos Mquinas high-end: execuo direta via hardware
Microcomputadores e Microprocessadores

11

Processador

Execuo via Interpretao (2)

Interpretador

Hardware

12

Microcomputadores e Microprocessadores

Processador

Execuo via Interpretao: Benefcios


   

Facilidade para corrigir instrues implementadas incorretamente Possibilidade de corrigir (ou contornar) deficincias no hardware bsico Facilidade de adicionar novas instrues Permite aplicar tcnicas de projeto estruturado:

maior eficincia: desenvolvimento, testes e documentao


Microcomputadores e Microprocessadores

13

Processador

Execuo via Interpretao: Terminologia


 

Interpretador: micro-programa (micro-cdigo) Memria onde o micro-programa fica armazenado: memria de controle

ROM de alta velocidade, geralmente localizada dentro do processador

Passos mais simples para decomposio das instrues: micro-instrues


instrues no nvel da micro-arquitetura usadas para decompor instrues de mquina


Microcomputadores e Microprocessadores

14

Processador

RISC versus CISC




RISC = computadores com conjunto de instrues reduzido

execuo direta por hardware

CISC = computadores com conjunto de instrues complexo

execuo por interpretao (software) Mquinas CISC (e seus micro-programas) se tornaram muito complexas, ao ponto de penalizar a eficincia de execuo
Microcomputadores e Microprocessadores

Tendncia para RISC

15

Processador

RISC
 

Instrues simples

executveis em um nico ciclo do data path 4 instrues RISC para fazer o trabalho de 1 instruo CISC 1 instruo CISC 10 vezes mais rpida resultado final: RISC mais rpido simplicidade de cada instruo individual (no o tamanho do conjunto de instrues em si) velocidade da memria de controle em relao memria principal emprego de tcnicas de otimizao inovadoras
Microcomputadores e Microprocessadores

Principal argumento (exemplo):


Fatores dominantes na prtica:


16

Processador

Princpios modernos de projeto


 

Amplamente influenciados pela escola RISC Baseados em suposies sobre a base tecnolgica atual

Ex.: desempenho do processador em relao memria principal

Atualmente adotados tambm no projeto de mquinas CISC

Implementaes hbridas

17

Microcomputadores e Microprocessadores

Processador

Princpios modernos de projeto


Instrues executadas Eliminando a necessidade de interpretao (pelo diretamente por menos para instrues mais comuns) hardware Instrues mais complexas: micro-programa Maximizar a taxa de despacho de instrues Instrues de fcil decodificao Apenas instrues de load e store devem referenciar a memria Grande conjunto de registradores
Mais

importante do que o tempo de execuo de cada instruo individual (instrues/seg) s custas de um atraso inicial Paralelismo
Adotar

tamanhos fixos de instruo, poucos campos Nmero reduzido de formatos diferentes


Torna

mais rpida a execuo de outras instrues Instrues que acessam a memria podem ser executadas em paralelo com outras instrues

Permite

manter os dados necessrios dentro do processador enquanto forem necessrios


Microcomputadores e Microprocessadores

18

Processador

Paralelismo
 

Unidades de execuo paralelas Paralelismo no nvel de instrues


mais instrues executadas por segundo em um nico processador pipelining arquiteturas super-escalares mltiplas CPUs trabalhando no mesmo problema processadores vetoriais multi-processadores multi-computadores
Microcomputadores e Microprocessadores

Paralelismo no nvel do processador


19

Processador

Paralelismo no nvel de instrues




Pr-busca (pre-fetching)

execuo de instrues dividida em duas partes, realizadas em paralelo:


 

busca da instruo (i.e., da prxima instruo) execuo de fato (da instruo atual)

Pipelining:

execuo dividida em vrias partes (ou estgios) cada uma realizada por unidades de hardware dedicadas, em paralelo em cada ciclo do processador:
 

vrias instrues so executadas cada uma em um estgio diferente


Microcomputadores e Microprocessadores

20

Processador

Pipelining: Exemplo

21

Microcomputadores e Microprocessadores

Pipelining: Exemplo
S1 Unidade de Busca de Instrues S2 Unidade de Decodificao de Instrues S3 Unidade de Busca de Operandos S4 Unidade de Execuo de Instrues S5 Unidade de Escrita de Resultados

S1: S2: S3: S4: S5:

2 1

3 2 1

4 3 2 1

5 4 3 2 1 5

6 5 4 3 2 6

7 6 5 4 3 7

8 7 6 5 4 8

9 8 7 6 5 9

22

3 4 tempo

Microcomputadores e Microprocessadores

Processador

Pipelining: Anlise de eficincia




Exemplo

ciclo de mquina: 2ns execuo de cada instruo com cinco estgios de pipeline: 10ns
 

aparentemente: 100MIPS MIPS: milhes de instrues por segundo

mas uma vez que o pipeline est cheio (i.e., todos os estgios esto executando em paralelo):
 

uma instruo completada a cada 2ns resultado: 500MIPS

Latncia (atraso inicial) X Largura de Banda da CPU


23

n estgios, com tempo de ciclo = T latncia = nT Largura de banda (ou throughput) = 1000/T MIPS
Microcomputadores e Microprocessadores

Processador

Pipelines em paralelo

Mltiplas instrues executando em paralelo


Instrues precisam ser independentes (compatveis) Compilador responsvel por gerar cdigo otimizado para explorar o paralelismo Replicao de hardware Benefcios difceis de serem atingidos medida que o nmero de pipelines paralelos aumenta
Microcomputadores e Microprocessadores

Abordagem no escala muito bem:


24

Processador

Arquiteturas Super-escalares
 

Um nico pipeline Mltiplas unidades funcionais para um certo estgio do pipeline

25

Microcomputadores e Microprocessadores

Processador

Paralelismo no nvel do processador




Limitaes fsicas:

Velocidade da luz Super-aquecimento do processador Ganhos de desempenho: 5 a 10 vezes Computadores com mltiplas CPUs rodando em paralelo

Parelelismo no nvel de instrues:

Para obter ganhos maiores:

26

Microcomputadores e Microprocessadores

Processador

Processadores de Array


Mltiplos processadores idnticos

Cada um operando em um subconjunto dos dados do problema




A mesma instruo executada por toods os processadores

Resultados so combinados ao final Uma unidade de controle central ou que possam ser interpretados como tal


Aplicvel a problemas do tipo matricial

isto : cujo conjunto de dados possa ser particionado em subconjuntos independentes para serem processados em paralelo

SIMD Single Instruction, Multiple Data

27

Microcomputadores e Microprocessadores

Processador

Processadores de Array: exemplo

28

Microcomputadores e Microprocessadores

Processador

Processadores Vetoriais
  

Tambm voltado para o processamento de problemas matriciais Paralelismo dentro da ALU

ALU vetorial: implementada atravs de pipelining Capazes de armazenar os mltiplos elementos de um vetor Aritimticas


Registradores vetoriais

Instrues vetoriais

Vetor-vetor, vetor-escalar

Carga e armazenamento de vetores na memria


Microcomputadores e Microprocessadores

29

Processador

Processadores de Array e Vetoriais: Comparao




Array:

1 processador para cada elemento da matriz Altamente especializados: inapropriados para problemas no matriciais Requer tcnicas sofisticadas de programao/compilao para explorar o paralelismo Um nico processador com paralelismo no nvel de instrues (pipelining) operando em registradores vetoriais Mais flexveis: bom desempenho em problemas hbridos (escalar X vetorial), sem muito desperdcio de hardware Mais simples de se programar

Vetorial:

30

Microcomputadores e Microprocessadores

Processador

Processadores Vetoriais: exemplo

31

Microcomputadores e Microprocessadores

Processador

Multiprocessadores


Mltiplos processadores independentes


Podem executar partes diferentes do programa MIMD Multiple Instruction, Multiple Data Facilita a programao Mas necessita mecanismos para
 

Memria compartilhada

Controlar a concorrncia no acesso a partes comuns na memria Arbitrar as vias de acesso memria

 

Variao

Memrias locais, caching

Sistemas fortemente acoplados


Microcomputadores e Microprocessadores

32

Processador

Multiprocessadores

33

Microcomputadores e Microprocessadores

Processador

Multi-computadores


Computadores independentes (CPU + memria) interconectados


Conexes de alta velocidade Sem memria compartilhada




Embora possa ser simulada para facilitar a programao

Comunicao por passagem de mensagens Sistemas fracamente acoplados No necessita arbitrar o acesso memria compartilhada
Microcomputadores e Microprocessadores

Maior escalabilidade

34

Memria Primria
 

Armazenamento de dados e programas

diretamente acessvel ao processador Valores: 0 ou 1 Representado atravs da distino de dois nveis diferentes de valores de alguma quantidade fsica; Ex.: voltagem Facilidade de representao em sistemas eletrnicos Confiabilidade
Microcomputadores e Microprocessadores

Unidade de armazenamento: Bit


Vantagens do sistema binrio


35

Memria Primria

Endereos de memria


Posies de memria: clulas


Cada clula tem um endereo prprio Todas as clulas tm o mesmo tamanho




clulas de k bits: representa valores de 0 a 2k 1

Padro atual: clulas de 8 bits (bytes) m bits de endereo: mximo de 2m clulas unidade de dados processada pelas instrues
Microcomputadores e Microprocessadores

Endereos binrios

Palavra (word): agrupamento de bytes

36

Memria Primria

Endereos de memria (2)

Figura 2.9

37

Microcomputadores e Microprocessadores

Memria Primria

Ordem dos bytes em uma palavra




Da esquerda para a direita


Isto : comea pelo byte de mais alta ordem (mais significativo) big endian Isto : comea pelo byte de mais baixa ordem (menos significativo) little endian

Da direita para a esquerda


Representao de nmeros inteiros: idntica em ambos os esquemas

apenas a numerao dos bytes difere

38

Microcomputadores e Microprocessadores

Memria Primria

Ordem dos bytes: Exemplo

Figura 2.11

Ex.: Representao do nmero 6 (110) big endian: little endian:


1 0 2 3 00000000 00000000 00000000 00000110 2 3 1 0 00000000 00000000 00000000 00000110
Microcomputadores e Microprocessadores

39

Memria Primria

Ordem dos bytes: Problema




Quando se representa vrios tipos de dados diferentes


Ex.: inteiros e cadeias de caracteres Apenas inverter a ordem dos bytes no suficiente O que fazer ento?

40

Microcomputadores e Microprocessadores

Memria Primria

Deteo e correo de erros




Erros introduzidos na memria


Defeitos de hardware Falhas ocasionais ex.: picos de corrente bits extra adicionados a cada palavra na memria conferidos quando a palavra lida da memria m bits de dados r bits para controle de erros Tamanho da palavra-cdigo: n = (m + r )

Cdigos baseados em redundncia


Palavra-cdigo (code word):


 

Deteo: bit de paridade adicionado a cada 8 bits Correo: cdigo de Hamming


Microcomputadores e Microprocessadores

41

Memria Primria

Esquema geral de deteo/correo de erros


Sinal de erro

Leitura

Corretor

Escrita

m Memria f r

m r

Comparador

42

Microcomputadores e Microprocessadores

Memria Primria

Cache: Problema a ser resolvido




Requisitos para a memria principal:


Baixo custo Alta capacidade

 

Resultado: memrias lentas (em relao CPU) Exemplo:


Tempo de acesso memria: 10 ciclos de clock Processador ficar parado at concluir o acesso Processador continua executando at chegar a uma instruo que necessite fazer acesso memria No suficiente
Microcomputadores e Microprocessadores

Soluo simples:

43

Memria Primria

Cache: Princpio bsico




Combinar

uma pequena quantidade de memria rpida, mas de alto custo (cache) uma grande quantidade de memria lenta e de baixo custo Grande capacidade de memria Rapidez de acesso Custo moderado

Resultado:

44

Microcomputadores e Microprocessadores

Memria Primria

Cache
  

Pequena quantidade de memria rpida Fica entre a memria principal e a CPU Geralmente localizada dentro do chip da CPU

45

Microcomputadores e Microprocessadores

Memria Primria

Cache: Operao
  

CPU requisita o contedo de uma posio de memria Se os dados j esto na cache (acerto)

obtm os dados a partir da cache (acesso rpido) l um bloco inteiro de dados da memria principal
 

Seno (perda)

Bloco definido pela vizinhana da posio de memria solicitada Bloco = linha da cache

Retorna os dados da cache para a CPU

46

Microcomputadores e Microprocessadores

Memria Primria

Cache: Princpio da Localidade




Programas no acessam endereos de memria (para dados ou cdigo) de forma aleatria

H grande probabilidade de que a prxima palavra requisitada pela CPU esteja na vizinhana da palavra lida anteriormente Uma vez que o contedo da memria nos endereos vizinhos j se encontra na cache

Aumenta a taxa de acerto

47

Microcomputadores e Microprocessadores

Memria Primria

Cache: Aspectos de projeto


    

Tamanho da cache Tamanho das linhas da cache Mapeamento da cache para os endereos na memria principal Consistncia entre cache e memria principal Cache unificada x caches especializadas

Cache de instrues Cache de dados

Nmero de caches em um sistema


Microcomputadores e Microprocessadores

48

Memria Primria

Tipos memria (Packaging)




Chips de memria montados em uma pequena placa de circuito impresso


  

SIMM (Single Inline Memory Module) DIMM (Dual Inline Memory Module) SO-DIMM (Small Outline DIMM) 8 chips de 128 megabits cada

Ex.: SIMM de 128MB




 

Sem suporte para deteo e correo de erros

i.e., sem paridade

Tipicamente: 4 slots para mdulos de memria


Microcomputadores e Microprocessadores

49

Memria Primria

Tipos de memrias: SIMMs


SIMM de 30 pinos 8 bits por acesso

SIMM de 72 pinos 32 bits por acesso

50

Microcomputadores e Microprocessadores

Memria Primria

Tipos de memrias: DIMMs


 

84 conectores em cada lado: 168 conectores Capaz de transferir 64 bits de cada vez

51

Microcomputadores e Microprocessadores

Memria Secundria
 

Hierarquias de memria Discos magnticos


Discos flexveis (floppy disks) Discos IDE Discos SCSI RAID CD-ROM CD-R e CD-RW DVD, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM
Microcomputadores e Microprocessadores

Discos ticos

52

Memria Secundria

Hierarquias de memrias
Menor tempo de acesso Menor quantidade Maior custo unitrio

53

Microcomputadores e Microprocessadores

Memria Secundria

Discos magnticos (discos rgidos)

54

Microcomputadores e Microprocessadores

Memria Secundria

Discos magnticos: Trilhas, setores e cilindros

Setor Eixo Cilindro Trilha

2002 PCTechGuide

55

Microcomputadores e Microprocessadores

Memria Secundria

Discos magnticos: Geometria tpica de trilhas e setores

 

Prembulo: sincronizao da cabea Lacunas


entre setores: amenizam a necessidade de alta preciso da cabea entre trilhas: reduzem interferncia magntica

Cdigo de correo de erros (ECC): Reed-Solomon


Microcomputadores e Microprocessadores

56

Disco rgido: Exemplos

2003: IBM Ultrastar 36ZX Capacidade: 36.7GB Velocidade de rotao: 10.000 RPM Interface: Ultra 160 SCSI Tempo de busca mdio: 4,9 ms 2005: Hitachi/IBM Ultrastar 15K147 Capacidade: 147GB Veloc. de rotao: 15.000 RPM Interface: Ultra 320 SCSI Tempo de busca mdio: 3,6ms
2003 IBM Corporation

57

Microcomputadores e Microprocessadores

Memria Secundria

Discos magnticos: Tempos de acesso




Tempo de busca

Posicionamento da cabea na trilha correta Tempo para o setor desejado passar sob a cabea de leitura/escrita Funo da densidade linear e da velocidade de rotao

Latncia rotacional

Tempo de transferncia

Demanda otimizao da ocupao do disco


Microcomputadores e Microprocessadores

58

Memria Secundria

Controladora de disco
 

Aceita comandos de software

READ, WRITE, FORMAT Controle dos movimentos das cabeas Deteo e correo de erros Bufferizao de mltiplos setores Caching de setores para acesso rpido Remapeamento de setores
 

Traduz estes comandos em aes


Quando o setor original se torna defeituoso Substitudo por um setor sobressalente no cilindro

59

Microcomputadores e Microprocessadores

Memria Secundria

Discos flexveis


Geometria semelhante a discos rgidos

Apenas dois cilindros

  

Cabea de leitura/escrita em contato com a superfcie do disco Rotao interrompida quando no em uso Maior atraso inicial

60

Microcomputadores e Microprocessadores

Tipos de Discos Rgidos (Padres)




SCSI Small Computer Systems Interface


UltraSCSI 320 320MB/s; tempo de busca mdio: 3,6ms 10.000 ou 15.000 RPM Evoluo do padro IDE (ATA) 300MB/s; tempo de busca mdio: 4,5ms 5.400 ou 7.200 RPM mas SCSI tem menor latncia menor custo, drives com maior capacidade

SATA Serial ATA


 

Taxas de dados (mximas) semelhantes

SATA

Microcomputadores e Microprocessadores

61

Memria Secundria

Discos IDE
  

Integrated Drive Electronics Comuns nos primeiros PCs Endereamento no disco (especificao original):

Cabea (4 bits) Setor (6 bits) Cilindro (10 bits)

16 x 63 x 1024 = 1.032.192 setores 1 setor = 512 bytes Capacidade mxima = 528MB

EIDE (Extended IDE)


Numera os setores de 0 a 224 -1: 8.4GB




Atualmente: 0 a 228 -1 = 137GB

62

Endereos convertidos em cabea/setor/cilindro Taxa de transferncia mais alta Suporte a 4 dispositivos (incl. CD-ROM): ATAPI Taxa de transferncia mxima: 66MBps (Ultra ATA/66)
Microcomputadores e Microprocessadores

Memria Secundria

Discos IDE: Configurao tpica

2002 PCTechGuide

63

Microcomputadores e Microprocessadores

Memria Secundria

Discos SCSI
  

Small Computer Systems Interface Interface genrica para conexo de dispositivos perifricos Barramento SCSI

1 controladora 7 dispositivos (15 em wide SCSI) Permite mltiplos dispositivos acessarem o barramento ao mesmo tempo (ao contrrio de IDE) at 320MBps (Ultra320 SCSI)
Microcomputadores e Microprocessadores

Taxas de transmisso

64

Memria Secundria

SCSI: Configurao tpica

2002 PCTechGuide

65

Microcomputadores e Microprocessadores

Memria Secundria

RAID
  

Redundant Array of Inexpensive Disks Uso de vrios discos (tipicamente SCSI) em paralelo Controladora RAID d a iluso de um nico disco virtual

66

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 0
  

Divide os setores do disco virtual em faixas de k setores cada Faixas so escritas nos discos fsicos em round robin Leitura de grandes blocos de dados

I/O paralela: cada disco contribui com uma ou mais faixas

67

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 1


Duplica a configurao do RAID nvel 0

Drives de backup

Melhor tolerncia a falhas

68

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 2
 

Cada bit de uma palavra escrito em um disco fsico separado Juntamente com bits de paridade para compor o cdigo de Hamming da palavra

Correo de erros


Ex.: se um disco quebrar

 

Throughput elevado Todos os discos devem estar sincronizados

69

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 3
  

Verso simplificada de RAID nvel 2 Um bit de paridade adicionado a cada palavra

Apenas um disco extra necessrio Em caso de quebra de um disco, a posio do bit em erro conhecida


Correo de erros

Ento: bit de paridade suficiente para a correo

70

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 4
   

Semelhante ao RAID nvel 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

Clculo da paridade envolvendo todos os discos

71

Microcomputadores e Microprocessadores

Memria Secundria

RAID nvel 5
 

Semelhante ao RAID nvel 5 Distribui as faixas de paridade entre os discos

Em ordem round robin

Difcil reconstituir o contedo de um disco em caso de falha

72

Microcomputadores e Microprocessadores

Memria Secundria

Leitura
   

CD-ROMs 2.3.7 CD-Recordable (CD-R) 2.3.8 CD-Rewritable (CD-RW) 2.3.9 DVD 2.3.10

73

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)


 

Barramentos Terminais

Teclados Monitores CRT Monitores LCD Terminais de caracteres Terminais de bit-map Terminais RS-232-C

   

Mouse Impressoras Modems Cdigos de caracteres


Microcomputadores e Microprocessadores

74

Barramento
   

Conjunto de fios em paralelo Localizado na placa-me Conecta os dispositivos de I/O CPU Slots com soquetes para conexo dos dispositivos

Pontos de acesso ao barramento ISA PCI

Tipos comuns de barramentos


75

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)

Barramentos: Estrutura fsica (em um PC)

76

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)

Barramentos: Estrutura lgica simplificada

77

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)

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-me Uma placa separada da placa-me, conectada a esta atravs de um dos slots do barramento
Microcomputadores e Microprocessadores

Controladora off-board (plug-in)

78

Entrada e Sada (I/O)

Controladoras de I/O: funcionalidade


 

Controlar o acesso ao barramento para o dispositivo Controlar o funcionamento de baixo nvel do dispositivo

Ex.: HD: movimento das cabeas, bufferizao, etc.

 

Fornecer uma interface de mais alto nvel para o programador DMA (Acesso direto memria)

Dados so transferidos entre o dispositivo e a memria sem a interveno direta da CPU Ao final da transferncia, a controladora interrompe a CPU


Para fazer uso dos dados transferidos


Microcomputadores e Microprocessadores

79

Entrada e Sada (I/O)

Arbitragem de acesso ao barramento


 

Controle de acesso concorrente ao barramento rbitro do barramento


Decide qual dispositivo (ou CPU) ter acesso ao barramento no prximo ciclo Dispositivos de I/O geralmente tm prioridade sobre a CPU rbitro pode decidir interromper o acesso da CPU ao barramento em favor de um dispositivo de I/O

80

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)

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, memria e I/O

Necessidade de manter compatibilidade com tecnologia anterior

Para re-aproveitar dispositivos de I/O existentes Compatibilidade com dispositivos mais antigos ou lentos Suporte para velocidades de transferncia mais altas ISA como um segundo barramento
Microcomputadores e Microprocessadores

 

ISA p EISA

PCI

81

Entrada e Sada (I/O)

Barramento: PCI e ISA

82

Microcomputadores e Microprocessadores

Entrada e Sada (I/O)

Leitura dirigida
    

Terminais 2.4.2 Mouse 2.4.3 Impressoras 2.4.4 Modems 2.4.5 Cdigos de caracteres 2.4.6

83

Microcomputadores e Microprocessadores

Você também pode gostar