Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. Guerine mguerine@ic.uff.br 1
Dipositivos periféricos ou simplesmente periféricos permitem a comunicação da máquina com ambiente externo Disco rígido Mouse Impressora Monitores/vídeos Teclado Dispositivos de E/S Ex: Codificação Compilação Execução Saída 2
Dispositivos Externos Existe uma grande variedade de periféricos com diferentes formas de funcionamento 3
Considerações Cada dispositivo de E/S possui uma diferente velocidade (taxa de transmissão) As atividades de E/S são assíncronas, não previsíveis, não igualmente espaçadas Interferência na transmissão dos sinais podem ocasionar ruídos e distorções Cada dispositivo E/S possui diferentes formatos de dados em quantidades diferentes Solução: Interface ou Módulo de E/S 4
Módulo de Entrada/Saída Interface para UCP e memória Interface para um ou mais periféricos 5
Modelo Genérico de um Módulo de E/S 6
Estrutura do sistema 7
Estrutura do sistema 8
Modelo Genérico do Periférico 9
Modelo Genérico da Interface E/S 10
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 11
Exemplo: Controle e Sincronismo do fluxo de dados UCP solicita estado do dispositivo para módulo de E/S Módulo de E/S verifica estado do dispositivo e retorna estado Caso dispositivo esteja 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 Interações entre UCP e interface E/S são realizadas através de compartilhamento de barramentos 12
Comunicação UCP / Dispositivo Comunicação com a UCP Decodificação de um comando enviado pela UCP Os dados são transmitidos através do barramento de dados Interface E/S é responsável por informar o estado do dispositivo Reconhecimento de endereço (UCP envia endereço do dispositivo) Comunicação com os dispositivos Comandos, informação de estado e dados 13
Bufferização e Detecção de Erros As taxas de transferência de dados dos periféricos são menores que as da memória principal e UCP Buffer (amortecimento) de dados Detecção de erros Ex: atolamento de papel na impressora, CD/DVD danificados 14
Mapeamento de E/S E/S mapeada na memória (memory-mapped) 15 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 diferentes para posições de memória e dispositivos de E/S Necessita de linhas diferentes para selecionar memória e E/S Comandos especiais de E/S Conjunto limitado (in e out)
Memória mapeada x isolada 16
Técnicas de Entrada e Saída Técnicas de realização das operações de E/S Programada Por interrupção Acesso Direto à Memória (DMA Direct Memory Access) 17
E/S Programada 18 UCP controla diretamente o dispositivo de E/S Verifica estado do dispositivo Caso esteja pronto, comandos de escrita/leitura são enviados Transfere dados UCP espera pela finalização da operação do módulo de E/S Gasta tempo de processamento da UCP esperando a resposta do dispositivo Método ineficiente
E/S por programa 19
Memória Mapeada Endereço Instrução Comentário 200 add 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 20
E/S Isolada Endereço Instrução Comentário 200 add 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 21
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 22
E/S por interrupção 23
E/S por interrupção 24
Tratamento de interrupção 25
Processamento da Interrupção 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 26
Atividades da UCP com Interrupção 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 e os armazena 27
Desvantagens de E/S programada e por interrupção E/S programada e por interrupção requerem intervenção ativa da UCP A UCP se ocupa para gerenciar a transferência de dados de E/S, tendo de executar várias instruções a cada transferência A taxa de transferência de E/S é limitada pela velocidade com que a UCP pode testar e servir um dispositivo Técnica de acesso direto à memória mais eficiente Direct Memory Access (DMA) 28
Função do DMA Módulo adicional de hardware no barramento Controlador de DMA imita a UCP para realizar operações de E/S 29
E/S com uso de DMA 30
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 31
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 32
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 33
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 34
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 35
Créditos Slides cedidos pela Prof. Cristina Boeres 36