Entrada/Sa - PowerPoint PPT Presentation

About This Presentation
Title:

Entrada/Sa

Description:

Title: Input/Output Author: Steve Armstrong Last modified by: Carlos Andr Guimar es Ferraz Created Date: 11/30/2000 12:42:29 AM Document presentation format – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 61
Provided by: SteveA220
Category:
Tags: entrada | input | output

less

Transcript and Presenter's Notes

Title: Entrada/Sa


1
Entrada/Saída
  • Princípios do hardware de E/S
  • Princípios do software de E/S
  • Camadas do software de E/S
  • Relógios
  • Gerenciamento de energia

2
Princípios do Hardware de E/S
  • Diversidade de dispositivos
  • Tipos básicos de dispositivos
  • Arquitetura de E/S
  • Introdução aos barramentos
  • Controladores de dispositivos
  • Comunicação SO (CPU) Controlador
  • Controle de interrupção

3
A Importância de E/S
  • Tipos de processo
  • orientado à CPU (CPU-bound)
  • orientado à E/S (I/O-bound)

4
Princípios do Hardware de E/S Diversidade
125MB/s 1Gb/s, Observe a diferença de Bytes (B)
e bits (b)
  • Taxas de dados típicas de dispositivos, redes e
    barramentos

5
Tipos básicos de dispositivos
  • Caracter transferem bytes um a um. Ex.terminal
  • Bloco transferem bytes em bloco. Ex. disco
  • Sequencial. Tem acesso em ordem fixa. Ex. modem
  • Acesso randômico Ordem pode ser alterada. Ex
    CD-ROM
  • Síncrono Tem tempo de resposta previsível. Ex.
    fita
  • Assíncrono Tempo de resposta imprevisível. Ex.
    teclado
  • Compartilhável pode ser usado por vários
    processos ao mesmo tempo. Ex. teclado
  • Dedicado. Só pode ser usado por um processo por
    vez. Ex. Impressora
  • Read-write, read only e write-only disco, cdrom,
    video

6
Princípios do Hardware de E/S
  • Diversidade de dispositivos
  • Tipos básicos de dispositivos
  • Arquitetura de E/S
  • Introdução aos barramentos
  • Controladores de dispositivos
  • Comunicação SO (CPU) Controlador
  • Controle de interrupção

7
Arquitetura de Entrada/Saída
  • Portas (ports)
  • Comunicação ponto a ponto
  • Ex Porta serial e paralela
  • Barramentos (bus)
  • Conjunto de condutores elétricos e com um
    protocolo rígido que define como mensagens
    trafegam sobre esses condutores
  • Permite a comunicação entre vários componentes
  • Protocolo é um conjunto de regras que definem
    como as comunicações no barramento serão
    efetuadas

8
Arquitetura de E/S
  • Controladores
  • Hw que controla uma porta, barramento ou
    dispositivo(s)Ex Controlador da porta serial
    Controlador SCSI (Small Computer System
    Interface) Controlador de disco
  • Device Drivers
  • Partes do S.O. que fornecem uma interface de
    acesso uniforme para cada dispositivo
  • Traduz as chamadas de alto nível (usuário) para o
    dispositivo específico
  • Conversão de dados
  • Detecção e correção de erros

9
Introdução aos BarramentosComparação
ISA EISA VLBUS PCI
Ano 1984 1987 1992 1993
Dispositivos Vários Vários 2 4
Largura (bytes) 2 (16 bits) 4 (32 bits) 4 (32 bits) 4 a 8 (32 a 64 bits)
Frequência (MHz) 8,3 8,3 CPU 33 a 66
Taxa (MB/s) 7,9 31,8 127,2 a 508,6
Obs. Restrito ao 80486 Dados e end. multiplexados
EISA - Extended Industry Standard
Architecture PCI - Peripheral Component
Interconnect VLBUS (ou VLB) - VESA (Video
Electronics Standards Association) Local Bus
10
Barramento PCI Peripheral Component Interconnect
Cache
Bridge/ Cont. de memória
DRAM
Controlador de Vídeo
AGP
PCI bus
slots
Controlador EIDE
Bridge para o ISA ou EISA
LAN
Controlador SCSI
EISA bus ou ISA bus
EIDE - Enhanced Integrated Drive Electronics
ISA ou EISA slots
11
Barramentos
  • Dispositivos
  • Ativos ou Mestres - dispositivos que controlam o
    protocolo de acesso ao barramento para leitura ou
    escrita de dados
  • Passivos ou Escravos - dispositivos que
    simplesmente obedecem a requisição do mestre
  • Exemplo
  • CPU ordena que o controlador de disco leia ou
    escreva um bloco de dados
  • ? A CPU é o mestre e o controlador de disco é o
    escravo

12
Princípios do Hardware de E/S
  • Diversidade de dispositivos
  • Tipos básicos de dispositivos
  • Arquitetura de E/S
  • Introdução aos barramentos
  • Controladores de dispositivos
  • Comunicação SO (CPU) Controlador
  • Controle de interrupção

13
Controladores de Dispositivos
  • Componentes de dispositivos de E/S
  • mecânico
  • eletrônico
  • O componente eletrônico é o controlador do
    dispositivo
  • pode ser capaz de tratar múltiplos dispositivos
  • Tarefas do controlador
  • converter fluxo serial de bits em blocos de bytes
  • executar toda correção de erro necessária
  • tornar o bloco disponível para ser copiado para a
    memória principal

14
Comunicação S.O.(CPU) ControladorDiagrama de
um controlador
Interface para barramento do sistema
Interface para dispositivo externo
Registrador de dados
Dados Status Controle
Linhas de Dados
Status/Registrador de Controle
Linhas de Endereço Linhas de Controle
Dados Status Controle
Lógica de E/S
15
Comunicação S.O.(CPU) - Controlador
Como a CPU acessa a informação?
  • E/S isolada
  • Através de instruções especiais de E/S
  • Especifica a leitura/escrita de dados numa porta
    de E/S
  • E/S mapeada em memória
  • Através de instruções de leitura/escrita na
    memória
  • Híbrido (ex. IBM-PC)
  • E/S mapeada em memória memória de vídeo
  • E/S isolada dispositivos em geral

16
Comunicação S.O.(CPU) Controlador
  1. Espaços de memória e E/S separados - E/S isolada
  2. E/S mapeada na memória
  3. Híbrido

17
Comunicação S.O.(CPU) ControladorE/S mapeada
na memória
  • (a) Arquitetura com barramento único
  • (b) Arquitetura com barramento duplo (dual)

18
Comunicação S.O.(CPU) - Controlador
Como a CPU sabe que o dispositivo já executou o
comando?
  • E/S Programada
  • CPU lê constantemente o status do controlador e
    verifica se já acabou (Polling ou Busy-waiting)
  • Espera até o fim da operação
  • E/S por Interrupção
  • CPU é interrompida pelo módulo de E/S e ocorre
    transferência de dados
  • CPU continua a executar outras operações
  • E/S por DMA - Acesso Direto à Memória
  • Quando necessário, o controlador de E/S solicita
    ao controlador de DMA a transferência de dados
    de/para a memória
  • Nesta fase de transferência não há envolvimento
    da CPU
  • Ao fim da transferência, a CPU é interrompida e
    informada da transação

19
Comunicação S.O.(CPU) ControladorExemplo de
comunicação com dispositivo
CPU
Ok, obrigado.
Chefe, enviei os contratos que estavam sobre sua
mesa. (Ao fim da transferência, a CPU é
interrompida e informada da transação)
Barramento
E/S
20
E/S Programada (1)
  • Passos da impressão de uma cadeia de caracteres

21
E/S Programada (2)
count
  • Escrita de uma cadeia de caracteres para a
    impressora usando E/S programada

22
E/S Orientada à Interrupção
  • Escrita de uma cadeia de caracteres para a
    impressora usando E/S orientada à interrupção
  • Código executado quando é feita a chamada ao
    sistema para impressão
  • Rotina de tratamento de interrupção

23
E/S Usando DMA(Acesso Direto à Memória)
  • Impressão de uma cadeia de caracteres usando DMA
  • Código executado quando é feita a chamada ao
    sistema para impressão
  • Rotina de tratamento de interrupção

24
Acesso Direto à Memória (DMA)
  • Operação de uma transferência com DMA

25
Interrupções Revisão
  • Como ocorre uma interrupção conexões entre
    dispositivos e controlador de interrupção usam
    linhas de interrupção no barramento em vez de
    fios dedicados

26
Controlador de InterrupçãoO 8259A do IBM-PC
INT
INTA
IRQ0 IRQ1 IRQ2IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 .........
RD
Controlador de Interrupções
CPU
WR
CS
DADOS
  • Sinais de controle
  • IRQx - Interrupt request x
  • INT (Interrupt) - Houve interrupção
  • INTA (Int. Acknowledge) - Interrupção recebida
  • RD (Read) - Leitura
  • WR (Write) - Escrita
  • CS (Chip select) - Seleção do chip do controlador

27
Controlador de InterrupçãoO 8259A do IBM-PC
  • Mecanismo de Interrupção
  • Dispositivo I/O ativa IRQx
  • 8259A ativa INT para a CPU
  • CPU ativa INTA pedindo identificação do
    dispositivo que gerou a interrupção
  • 8259A envia dado (vetor de interrupção
    identificando o dispositivo)
  • Se houver mais de um, 8259A realiza arbitragem
  • CPU usa o vetor para executar a rotina apropriada
    para aquele dispositivo
  • O sistema operacional deve estabelecer níveis de
    prioridade para os dispositivos

28
Para Enfatizar A Importância da Interrupção
  • O Elo Hardware-Software

29
Motivação
  • Para controlar entrada e saída de dados, não é
    interessante que a CPU tenha que ficar
    continuamente monitorando o status de
    dispositivos como discos ou teclados
  • O mecanismo de interrupções permite que o
    hardware "chame a atenção" da CPU quando há algo
    a ser feito

30
Interrupções de Hardware
  • Interrupções geradas por algum dispositivo
    externo à CPU, como teclado ou controlador de
    disco, são chamadas de interrupções de hardware
    ou assíncronas ocorrem independentemente das
    instruções que a CPU está executando
  • Quando ocorre uma interrupção, a CPU interrompe o
    processamento do programa em execução e executa
    um pedaço de código (tipicamente parte do sistema
    operacional) chamado de tratador de interrupção
  • não há qualquer comunicação entre o programa
    interrompido e o tratador (parâmetros ou retorno)
  • em muitos casos, após a execução do tratador, a
    CPU volta a executar o programa interrompido

Execução do Programa P
Execução do Tratador de Interrupção
Retomada de P
Interrupção
31
Interrupção de Relógio(Um tipo de Interrupção de
HW)
  • Permite ao sistema operacional atribuir quotas de
    tempos de execução (quantum ou time slice
    fatias de tempo) para cada um dos processos em um
    sistema com multiprogramação
  • A cada interrupção do relógio, o tratador
    verifica se a fatia de tempo do processo em
    execução já se esgotou e, se for esse o caso,
    suspende-o e aciona o escalonador para que esse
    escolha outro processo para colocar em execução

32
Interrupções Síncronas ou Traps
  • Traps ocorrem em consequência da instrução sendo
    executada no programa em execução
  • Algumas são geradas pelo hardware, para indicar
    por exemplo overflow em operações aritméticas ou
    acesso a regiões de memória não permitidas
  • Essas são situações em que o programa não teria
    como prosseguir
  • O hardware sinaliza uma interrupção para passar o
    controle para o tratador da interrupção (no SO),
    que tipicamente termina a execução do programa

33
Traps (cont.)
  • Traps também podem ser geradas explicitamente por
    instruções do programa
  • Essa é uma forma do programa acionar o sistema
    operacional, por exemplo para requisitar um
    serviço de entrada ou saída
  • Um programa não pode "chamar" uma rotina do
    sistema operacional, já que o SO é um processo a
    parte, com seu próprio espaço de endereçamento...
  • Através do mecanismo de interrupção de software,
    um processo qualquer pode ativar um tratador que
    pode "encaminhar" uma chamada ao sistema
    operacional
  • Como as interrupções síncronas ocorrem em função
    da instrução que está sendo executada (ex. READ),
    nesse caso o programa passa algum parâmetro para
    o tratador

34
Interrupções
  • Assíncronas (hardware)
  • geradas por algum dispositivo externo à CPU
  • ocorrem independentemente das instruções que a
    CPU está executando
  • não há qualquer comunicação entre o programa
    interrompido e o tratador
  • Exs. interrupção de relógio, teclado
  • Síncronas (traps)
  • Geradas pelo no programa em execução, em
    consequência da instrução sendo executada
  • Algumas são geradas pelo hardware em situações em
    que o programa não teria como prosseguir
  • Como as interrupções síncronas ocorrem em função
    da instrução que está sendo executada, nesse caso
    o programa passa algum parâmetro para o tratador
  • Exs. READ, overflow em operações aritméticas ou
    acesso a regiões de memória não permitidas

35
Interrupção Suporte de HW
  • Tipicamente, o hardware detecta que ocorreu uma
    interrupção,
  • aguarda o final da execução da instrução corrente
    e aciona o tratador,
  • antes salvando o contexto de execução do processo
    interrompido
  • Para que a execução do processo possa ser
    reiniciada mais tarde, é necessário salvar o
    program counter (PC) e outros registradores de
    status
  • Os registradores com dados do programa devem ser
    salvos pelo próprio tratador (ou seja, por
    software), que em geral os utiliza
  • Para isso, existe uma pilha independente
    associada ao tratamento de interrupções

CPU HW
Execução do Programa P - SW
Execução do Tratador de Interrupção (SO - SW)
Retomada de P
Interrupção
36
Entrada/Saída
  • Princípios do hardware de E/S
  • Princípios do software de E/S
  • Camadas do software de E/S
  • Gerenciamento de energia

37
Princípios do Software de E/SObjetivos do
Software de E/S (1)
  • Independência de dispositivo
  • Programas podem acessar qualquer dispositivo de
    E/S sem especificar previamente qual (disquete,
    disco rígido ou CD-ROM)
  • Nomeação uniforme
  • Nome de um arquivo ou dispositivo pode ser uma
    cadeia de caracteres ou um número inteiro que é
    independente do dispositivo
  • Tratamento de erro
  • Trata o mais próximo possível do hardware

38
Objetivos do Software de E/S (2)
  • Transferências Síncronas vs. Assíncronas
  • transferências bloqueantes vs. orientadas a
    interrupção
  • utilização de buffer para armazenamento
    temporário
  • dados provenientes de um dispositivo muitas vezes
    não podem ser armazenados diretamente em seu
    destino final buffer, broker,
  • Dispositivos Compartilháveis vs. Dedicados
  • discos são compartilháveis
  • unidades de fita não são

39
Entrada/Saída
  • Princípios do hardware de E/S
  • Princípios do software de E/S
  • Independência de dispositivo
  • Nomeação uniforme
  • Tratamento de erro o mais próximo possível do
    hardware
  • transferências bloqueantes vs. não-bloqueantes
    mas orientadas a interrupção
  • Dispositivos compartilháveis vs. dedicados
  • Camadas do software de E/S
  • Gerenciamento de energia

40
Camadas do Software de E/S
  • Camadas do sistema de software de E/S

41
Camadas do Software de E/S Tratadores de
Interrupção (1)
  • As interrupções devem ser escondidas
    (transparentes) o máximo possível
  • uma forma de fazer isso é bloqueando o driver que
    iniciou uma operação de E/S até que uma
    interrupção notifique que a E/S foi completada
  • Rotina de tratamento de interrupção cumpre sua
    tarefa
  • e então desbloqueia o driver que a chamou

42
Camadas do Software de E/S Tratadores de
Interrupção (2)
  • Passos que devem ser executados em software
  • salva registradores que ainda não foram salvos
    pelo hardware de interrupção
  • estabelece contexto para rotina de tratamento de
    interrupção
  • estabelece uma pilha para a rotina de tratamento
    de interrupção
  • sinaliza o controlador de interrupção, reabilita
    as interrupções
  • copia os registradores de onde eles foram salvos
  • executa rotina de tratamento de interrupção
  • escolhe o próximo processo a executar
  • estabelece o contexto para o próximo processo a
    executar
  • carrega os registradores do novo processo
  • começa a executar o novo processo

43
Camadas Drivers dos Dispositivos
  • Posição lógica dos drivers dos dispositivos
  • A comunicação entre os drivers e os controladores
    de dispositivos é feita por meio do barramento

44
Camadas Software de E/S Independente de
Dispositivo (1)
  • Funções do software de E/S independente de
    dipositivo

Interface uniforme para os drivers dos dispositivos
Armazenamento em buffer
Relatório de erros
Alocação e liberação de dispositivos dedicados
Fornecimento de tamanho de bloco independente de dispositivo
45
Camadas Software de E/S Independente de
Dispositivo (2)
  • (a) Sem uma interface-padrão do driver
  • (b) Com uma interface-padrão do driver

46
Camadas Software de E/S Independente de
Dispositivo (3)
  1. Entrada sem utilização de buffer
  2. Utilização de buffer no espaço do usuário
  3. Utilização de buffer no núcleo seguido de cópia
    para o espaço do usuário
  4. Utilização de buffer duplo no núcleo (ex.
    tolerância a falha)

47
Camadas Software de E/S Independente de
Dispositivo (4)
  • A operação em rede pode envolver muitas cópias de
    um pacote

48
Camadas Software de E/S no Espaço do Usuário
  • Camadas do sistema de E/S e as principais
    funções de cada camada

49
Entrada/Saída
  • Princípios do hardware de E/S
  • Princípios do software de E/S
  • Camadas do software de E/S
  • Gerenciamento de energia

50
Gerenciamento de Energia (1)
  • Consumo de energia de várias partes de um laptop

51
Gerenciamento de Energia (2)
  • Execução em velocidade máxima do relógio
  • Cortando a voltagem pela metade
  • corta a velocidade do relógio também pela metade,
  • consumo de energia cai para 4 vezes menos

52
Gerenciamento de Energia (3) Impactos na
Entrada/Saída
  • Dizer aos programas para usar menos energia
  • pode significar experiências mais pobres para o
    usuário
  • Exemplos
  • muda de saída colorida para preto e branco
  • reconhecimento de fala com vocabulário reduzido
  • menos resolução ou detalhe em uma imagem

53
Entrada/Saída
  • Princípios do hardware de E/S
  • Princípios do software de E/S
  • Camadas do software de E/S
  • Gerenciamento de energia

54
Como o processador enxerga a memória e os
demais dispositivos ou como o processador se
comunica com o seu exterior
  • Um processador é capaz de realizar operações
    como
  • Ler um dado da memória
  • Escrever um dado na memória
  • Receber (ler) um dado de dispositivos de E/S
  • Enviar (escrever) dados para dispositivos de E/S
  • Nas operações de acesso à memória, o processador
    escreve e lê dados, praticamente sem
    intermediários
  • Nos acessos a dispositivos de E/S, existem
    circuitos intermediários, que são as interfaces

55
Cada dispositivo de E/S possui a sua própria
interface Diversidade
Dispositivo Interface
Monitor Placa de vídeo
Teclado Interface de teclado
Alto falante Interface de alto falante
Impressora Interface paralela ou USB
Mouse Interface serial, PS/2 ou USB
Disco rígido IDE Interface IDE
Disco rígido SCSI Interface SCSI
Joystick Interface para jogos ou USB
Scanner Placa de interface de scanner, paralela ou USB
Câmera digital Interface serial, paralela ou USB
Para controlar um dispositivo de E/S, o
processador precisa realizar acessos de leitura e
escrita na sua interface
56
E/S programada
  • O processador controla o transporte dos dados
    entre a memória e a interface

57
E/S por Acesso Direto a Memória
  • O processador fica momentaneamente desabilitado
    enquanto o controlador de DMA assume o controle
    dos barramentos e faz as transferências
  • A grande vantagem do DMA é que o processador não
    precisa se ocupar diretamente da operação de
    recepção e transmissão de cada byte, ficando
    livre para executar outros processamentos
  • Normalmente as interfaces que utilizam DMA,
    utilizam também uma interrupção para avisar o
    processador sobre o término da transferência do
    número de bytes pré-programado

58
Arquitetura de Entrada/Saída
  • Portas (ports)
  • Comunicação ponto a ponto
  • Barramentos (bus)
  • Permite a comunicação entre vários componentes
  • Controladores
  • Hw que controla uma porta, barramento ou
    dispositivo(s)
  • Device Drivers
  • Partes do S.O. que fornecem uma interface de
    acesso uniforme para cada dispositivo

59
Princípios do software de E/S
  • Independência de dispositivo
  • Nomeação uniforme
  • Tratamento de erro o mais próximo possível do
    hardware
  • Transferências bloqueantes vs. não-bloqueantes
    mas orientadas a interrupção
  • Dispositivos compartilháveis vs. dedicados

60
Camadas do Software de E/S
Write a Comment
User Comments (0)
About PowerShow.com