Departamento de Ciência da Computação - UFF Dispositivos de Entrada e Saída Prof. Marcos A. 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 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
Processamento da Interrupção H A R D W A R E Controlador do dispositivo gera interrupção Processador finaliza execução da instrução corrente Processador indica que recebeu interrupção Resto da informação do processo é salva Processo é interrompido e interrupção é atendida Estado do processo é restaurado S O F T W A R E Processador salva PC e carrega PC com endereço de tratamento da interrupção PC é restaurado 25
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 26
Desvantagens de E/S programada e por interrupção A taxa de transferência de E/S é limitada pela velocidade com que a UCP pode testar e servir um dispositivo 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 Técnica de acesso direto à memória mais eficiente Direct Memory Access (DMA) 27
Função do DMA Módulo adicional de hardware no barramento Controlador de DMA imita a UCP para realizar operações de E/S 28
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 29
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 30
Créditos Slides cedidos pela Prof. Cristina Boeres 31