• Nenhum resultado encontrado

Dispositivos de Entrada e Saída

N/A
N/A
Protected

Academic year: 2023

Share "Dispositivos de Entrada e Saída"

Copied!
41
0
0

Texto

(1)

Fundamentos de Arquiteturas de Computadores

Dispositivos de Entrada e Saída

Profa. Débora Christina Muchaluat Saade

debora@midiacom.uff.br

Departamento de Ciência da Computação - UFF

http://www.midiacom.uff.br/debora

(2)

Fundamentos de Arquiteturas de Computadores

Problemas com Entrada e Saída

ü Periféricos possuem características diferentes

Geram diferentes quantidades de dados

Em velocidades diferentes

Em formatos diferentes

ü Periféricos são mais lentos que UCP e Memória

ü Necessita-se de módulos de Entrada/Saída

(3)

Fundamentos de Arquiteturas de Computadores

Dispositivos de E/S

(4)

Fundamentos de Arquiteturas de Computadores

Módulo de Entrada/Saída

ü Interface para UCP e memória

ü Interface para um ou mais periféricos

(5)

Fundamentos de Arquiteturas de Computadores

Modelo Genérico de um Módulo de E/S

(6)

Fundamentos de Arquiteturas de Computadores

Estrutura do sistema

(7)

Fundamentos de Arquiteturas de Computadores

Funções do Módulo de E/S

ü Controle & Temporização

ü Comunicação com UCP

ü Comunicação com dispositivo

ü Bufferização de dados

ü Detecção de erros

(8)

Fundamentos de Arquiteturas de Computadores

Operação de E/S

ü UCP solicita estado do dispositivo para módulo de E/S

ü Módulo de E/S retorna estado

ü Caso dispositivo pronto, UCP solicita transferência de dados

ü Módulo de E/S obtém dados do dispositivo

ü Módulo de E/S transfere dados para UCP

(9)

Fundamentos de Arquiteturas de Computadores

Diagrama do Módulo de E/S

(10)

Fundamentos de Arquiteturas de Computadores

Decisões do Módulo de E/S

ü Esconder ou revelar propriedades do dispositivo para UCP

ü Suportar um ou múltiplos dispositivos

ü Controlar funções do dispositivo ou deixar para UCP

(11)

Fundamentos de Arquiteturas de Computadores

Comandos de E/S

ü Envio de endereço

Identifica módulo (endereço do dispositivo, caso exista mais de um dispositivo por módulo)

ü Envio de comando

Controle – indica ao módulo o que fazer

Desloca cabeça de leitura e gravação

Teste – verifica estado do dispositivo

Ligou? Erro?

Leitura/escrita

O módulo transfere dados via buffer de/para dispositivo

(12)

Fundamentos de Arquiteturas de Computadores

Mapeamento de E/S

ü E/S mapeada na memória (memory-mapped)

Dispositivos e memória compartilham espaço de endereçamento

Operações de escrita/leitura para E/S são executadas da mesma forma que para a memória

Não existem comando especiais de E/S

Todos os comandos de acesso à memória podem ser utilizados para E/S

ü E/S isolada (isolated I/O)

Espaços de endereçamento separados (portas de E/S)

Necessita de linhas diferentes para selecionar memória e E/S

Comandos especiais de E/S

Conjunto limitado (in e out)

(13)

Fundamentos de Arquiteturas de Computadores

Memória mapeada x isolada

(14)

Fundamentos de Arquiteturas de Computadores

Técnicas de Entrada e Saída

ü Programada

ü Por interrupção

ü Acesso Direto à Memória (DMA – Direct Memory Access)

(15)

Fundamentos de Arquiteturas de Computadores

E/S Programada

ü UCP controla diretamente o dispositivo de E/S

Verifica estado

Comandos de escrita/leitura

Transfere dados

ü UCP espera pela finalização da operação do módulo de E/S

ü Gasta tempo de processamento da UCP

Método ineficiente

(16)

Fundamentos de Arquiteturas de Computadores

E/S Programada

ü UCP solicita operação de E/S

ü Módulo de E/S realiza a operação

ü Módulo de E/S seta bits de estado

ü UCP verifica bits de status periodicamente

polling ou interrogação

ü Módulo de E/S não informa diretamente à UCP

ü Módulo de E/S não interrompe a UCP

ü UCP pode esperar ou voltar mais tarde

(17)

Fundamentos de Arquiteturas de Computadores

E/S por programa

(18)

Fundamentos de Arquiteturas de Computadores

Memória Mapeada

Endereço Instrução Comentário

200 addi 0 1 1 Carrega registrador 1 com comando 1 201 sw 0 1 517 Envia comando para ler teclado

202 lw 0 2 517 Carrega estado do teclado em registrador 2 203 beq 2 0 -2 Fica em loop até teclado estar pronto

204 lw 0 3 516 Carrega dado do teclado em registrador 3

(19)

Fundamentos de Arquiteturas de Computadores

E/S Isolada

Endereço Instrução Comentário

200 addi 0 1 1 Carrega registrador 1 com comando 1 201 out 1 517 Envia comando para ler teclado

202 in 2 517 Carrega estado do teclado em registrador 2 203 beq 2 0 -2 Fica em loop até teclado estar pronto

204 in 3 516 Carrega dado do teclado em registrador 3

(20)

Fundamentos de Arquiteturas de Computadores

E/S Dirigida por Interrrupção

ü Libera espera de UCP

ü UCP não precisa ficar verificando estado do dispositivo repetidamente

ü Módulo de E/S interrompe a UCP quando estiver pronto

(21)

Fundamentos de Arquiteturas de Computadores

E/S por interrupção

(22)

Fundamentos de Arquiteturas de Computadores

Operação Básica para Realização de E/S por Interrupção

ü UCP envia comando de leitura

ü Módulo de E/S obtém dado do periférico enquanto a UCP executa outro trabalho

ü Módulo de E/S interrompe a UCP

ü UCP pede dados para o módulo de E/S

ü Módulo de E/S transfere dados para UCP

(23)

Fundamentos de Arquiteturas de Computadores

Tratamento de interrupção

(24)

Fundamentos de Arquiteturas de Computadores

Controlador do dispositivo gera interrupção

Processador finaliza execução da instrução corrente

Processador indica que recebeu interrupção

Processador salva PC e carrega PC com endereço de tratamento da interrupção

Resto da informação do processo é salva

Processo é interrompido e interrupção é atendida

Estado do processo é restaurado

PC é restaurado

Processamento da Interrupção

H A R D W

A R E

S O

F T W

A R E

(25)

Fundamentos de Arquiteturas de Computadores

Atividades da UCP

ü Envia comando de leitura

ü Executa outra tarefa

ü Verifica se existe interrupção ao final de cada instrução

ü Caso exista interrupção:

Salva contexto (registradores)

Interrompe processo

Obtém dados do módulo de E/S e os armazena

(26)

Fundamentos de Arquiteturas de Computadores

Questões de Projeto

ü Como identificar o módulo que gerou a interrupção?

ü Como gerenciar muitas interrupções?

Qual delas atender?

(27)

Fundamentos de Arquiteturas de Computadores

Identificação do Módulo que Gera a Interrupção (1)

ü Uma linha diferente para cada módulo

Limita número de dispositivos porque número de linhas no barramento é limitado

ü Identificação por software

Uma única linha de interrupção

UCP interroga um módulo de cada vez para verificar se ele gerou a interrupção

Lento

(28)

Fundamentos de Arquiteturas de Computadores

Identificação do Módulo que Gera a Interrupção (2)

ü Arbitragem do barramento

Módulo precisa obter o controle do barramento e depois envia sinal de interrupção

UCP envia sinal de reconhecimento e módulo

coloca o vetor de interrupção nas linhas de dados

PCI & SCSI

(29)

Fundamentos de Arquiteturas de Computadores

Múltiplas Interrupções

ü Com mais de uma linha de interrupção, cada linha de interrupção possui uma prioridade

ü Linhas com prioridade maior podem

interromper linhas com prioridade menor

ü Esquema de prioridades para arbitragem de barramento

(30)

Fundamentos de Arquiteturas de Computadores

Exemplo – Barramento PC

ü 80x86 possui uma linha de interrupção

ü Controladora de interrupções 8259A

ü 8259A possui 8 linhas de interrupção

(31)

Fundamentos de Arquiteturas de Computadores

Sequência de Eventos

ü 8259A aceita interrupções

ü 8259A determina prioridade

ü 8259A sinaliza interrupção para 8086 (levanta linha INTR)

ü UCP reconhece interrupção

ü 8259A coloca vetor correto no barramento de dados

ü UCP processa interrupção

(32)

Fundamentos de Arquiteturas de Computadores

(33)

Fundamentos de Arquiteturas de Computadores

Acesso Direto à Memória

ü E/S programada e por interrupção requerem intervenção ativa da UCP

Taxa de transferência é limitada pela capacidade de atendimento da UCP

UCP fica ocupada gerenciando a transferência de dados

ü DMA pode ser uma técnica mais eficiente

(34)

Fundamentos de Arquiteturas de Computadores

Função do DMA

ü Módulo adicional de hardware no barramento

ü Controlador de DMA “imita” a UCP para realizar operações de E/S

(35)

Fundamentos de Arquiteturas de Computadores

E/S com uso de DMA

(36)

Fundamentos de Arquiteturas de Computadores

Diagrama de um Módulo para DMA

(37)

Fundamentos de Arquiteturas de Computadores

Operação do DMA

ü UCP indica ao controlador de DMA:

Operação: Escrita/Leitura

Endereço do dispositivo

Endereço inicial do bloco de memória para dados

Quantidade de dados a serem transferidos

ü UCP executa outra tarefa

ü Controlador de DMA processa transferência

ü Controlador de DMA envia interrupção quando operação é finalizada

(38)

Fundamentos de Arquiteturas de Computadores

Roubo de Ciclo pelo DMA

ü Controlador de DMA toma conta do barramento por um ciclo

ü Transfere dados

ü Diferente de interrupção

UCP não realiza troca de contexto

ü UCP é suspensa imediatamente antes de acessar o barramento

Antes da busca da instrução e do operando, antes de armazenar dados na memória

ü Diminui velocidade de processamento da UCP mas evita que a UCP tenha que realizar a transferência

(39)

Fundamentos de Arquiteturas de Computadores

Configurações de DMA (1)

ü Barramento único, Controlador de DMA separado

ü Cada transferência utiliza duas vezes o barramento

E/S para DMA e do DMA para memória

ü UCP é suspensa 2 vezes

(40)

Fundamentos de Arquiteturas de Computadores

Configurações de DMA (2)

ü Barramento único, Controlador de DMA integrado

ü Controlador pode suportar mais de um dispositivo

ü Cada transferência utiliza o barramento uma única vez

DMA para memória

ü UCP é suspensa uma única vez

(41)

Fundamentos de Arquiteturas de Computadores

Configurações de DMA (3)

ü Barramento de E/S separado

ü Barramento suporta todos dispositivos que podem realizar DMA

ü Cada transferência utiliza o barramento uma vez

DMA para memória

ü UCP é suspensa uma vez

Referências

Documentos relacionados

Para tratar a diversidade, a complexidade, e as diferentes formas de operações de cada periférico, as interfaces empregam no seu projeto um outro componente, o

Os dados serão adicionados no fim do arquivo (“append“) se ele já existir, ou um novo arquivo será criado, no caso de arquivo não existente anteriormente. • “rb“: Abre

 Se a comemoração do aniversário for realizada fora do ambiente escolar e os pais desejarem convidar todos os colegas de sala, sem exceção, poderão enviar o convite preenchido e

O Dízimo é uma forma de fazer o Evangelho atingir cada ser humano pois, cada um de nós, a seu modo e segundo os seus dons, pode contribuir, para que o Reino de Deus seja

Esta publicação pretende ser um ponto de partida para suas próprias ideias e dispositivos, como uma ferramenta que atua em diferentes contextos e lugares inserindo,

Questionada pelo PÚBLICO, a Assembleia da República esclareceu que a subvenção vai continuar a ser "limitada pela despesa efectiva", ou seja, "se a soma das

d) Arguição oral. Paragrafo único: Um dos membros da Comissão de Seleção será externo ao Programa. 16º - Será assegurada matrícula aos candidatos aprovados na

Este trabalho não substitui, de forma alguma, a docu- mentação legal vigente, e seu objetivo é esclarecer ao setor produtivo as etapas do processo de avaliação