Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura e OrganizaArquitetura e Organizaçãçãoo de Computadores IIde Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Aula 22 7. Métodos de comunicação: entrada e saída programada, entrada e saída controlada por interrupção, acesso direto à memória (DMA), polling. Prof. José Luís Güntzel guntzel@ufpel.edu.br www.ufpel.edu.br/~guntzel/AOC2/AOC2.html slide 22.2 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Relembrando von Neumann CPU Memória Dispositivo de E/S end dado end dado linhas de endereços linhas de dados Dispositivo de E/S Dispositivo de E/S linhas de controle barramento de sistema slide 22.3 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Módulo de E/S Lógica de E/S Lógica de interface com dispositivo externo Registrador de dados Registrador de estado/controle dados estado controle Lógica de interface com dispositivo externo dados estado controle Linhas de dados Linhas de endereço Linhas de controle Interface com Barramento do sistema Interface com Dispositivos externos slide 22.4 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação • Processador de E/S ou canal de E/S: – é um módulo de E/S mais complexo, realiza a maior parte dos trabalhos – proporciona uma interface de alto nível com o processador • Controlador de E/S ou controlador do dispositivo: – é um módulo de E/S mais simples – requer controle mais detalhado Módulo de E/S slide 22.5 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação O Sistema operacional é o principal responsável pelo tratamento da E/S • Garante que o programa do usuário somente acesse os dispositivos de E/S para os quais o programa de usuário tenha permissão • Fornece rotinas de manipulação das operações de baixo nível dos dispositivos de E/S • Trata as interrupções geradas pelos dispositivos (da mesma maneira que trata as exceções geradas por um programa) O Papel do Sistema Operacional slide 22.6 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Tipos de comunicação do SO com os dispositivos de E/S: • Envio de comandos para os dispositivos de E/S • O dispositivo deve poder avisar ao SO o término de uma operação (ou erro) • Dados devem ser transferidos entre a memória e os dispositivos de E/S de maneira rápida polling interrupção acesso direto à memória (DMA) O Papel do Sistema Operacional slide 22.7 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Para dar um comando a um dispositivo de entrada/saída, o processador precisa ser capaz de endereçar o dispositivo. Métodos de Endereçamento Existem dois métodos para endereçar dispositivos: • Entrada/saída mapeada na memória • Entrada/saída independente (com comandos especiais de entrada/saída) slide 22.8 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Entrada/Saída Mapeada na Memória • Parte do espaço de endereçamento é reservado aos dispositivos de entrada/saída • Leituras e escritas envolvendo estes endereços são interpretadas como comandos • Uma operação de escrita na memória é usada para enviar dados para um dispositivo de E/S • Barramento não precisa ter linhas especiais para comandos (somente para leitura e escrita) Métodos de Endereçamento slide 22.9 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Entrada/Saída Independente • Barramento possui linhas de comandos de entrada e saída • Uma linha de comando especifica se um endereço corresponde a uma posiçã o de memória ou a um dispositivo de E/S Métodos de Endereçamento slide 22.10 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação • Controle: ativar um periférico e indicar uma ação a ser executada • Teste: testar várias condições de estado • Leitura: fazer com que o dispositivo de E/S obtenha um item de dado do periférico, armazenando-o no registrador de dado • Gravação: faz com que o dispositivo de E/S obtenha um item de dado (byte ou palavra) do barramento de dados, transmitindo-o para o periférico Comandos de Entrada/Saída Tipos de comandos que podem ser enviados do processador para um dispositivo de E/S: slide 22.11 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência com Polling Dispositivo de E/S: • Executa a operação requisitada • sinaliza o término da operação carregando um valor apropriado no registrador de estado de E/S O Processador: • Não é alertado sobre o término da operação • Precisa ficar verificando periodicamente o estado do dispositivo de E/S Lê estado do dispositivo E/S Verifica o estado Envia comando de leitura para dispositivo E/S Escreve uma palavra na memória Terminou? Lê uma palavra do dispositivo E/S pronto não pronto sim não CPU E/S E/S CPU Condição de erro Próxima instrução E/S CPU CPU Memória slide 22.12 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Processador + rápido que dispositivos de E/S • Processador gasta uma grande quantidade do tempo Lê estado do dispositivo E/S Verifica o estado Envia comando de leitura para dispositivo E/S Escreve uma palavra na memória Terminou? Lê uma palavra do dispositivo E/S pronto não pronto sim não CPU E/S E/S CPU Condição de erro Próxima instrução E/S CPU CPU Memória Transferência com Polling slide 22.13 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência com Polling Porém, se um dispositivo pode iniciar operações de entrada e saída de maneira independente… • Polling precisa ser usado! • Exemplo: mouse slide 22.14 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência por Interrupção Do lado do processador: 1.Envia um comando READ 2.Prossegue a execução de outras instruções 3.No final de cada ciclo, verifica se existe alguma instrução pendente 4.Ao detectar uma interrupção, salva o contexto e processa a interrupção (lendo a palavra e armazenando-a na memória) Lê estado do dispositivo E/S Verifica o estado Envia comando de leitura para dispositivo E/S Escreve uma palavra na memória Terminou? Lê uma palavra do dispositivo E/S pronto sim não Condição de erro Próxima instrução CPU E/S E/S CPU E/S CPU CPU Memória Executa outras instruções interrupção slide 22.15 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência por Interrupção Do lado do dispositivo de E/S: 1.Recebe comando READ 2.Lê o dado requerido do periférico 3.Quando o dado estiver em seu registrador de dados, interrompe o processador Lê estado do dispositivo E/S Verifica o estado Envia comando de leitura para dispositivo E/S Escreve umapalavra na memória Terminou? Lê uma palavra do dispositivo E/S pronto sim não Condição de erro Próxima instrução CPU E/S E/S CPU E/S CPU CPU Memória Executa outras instruções interrupção slide 22.16 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência por Interrupção Mas onde está o ganho em relação ao Polling ? Lê estado do dispositivo E/S Verifica o estado Envia comando de leitura para dispositivo E/S Escreve uma palavra na memória Terminou? Lê uma palavra do dispositivo E/S pronto sim não Condição de erro Próxima instrução CPU E/S E/S CPU E/S CPU CPU Memória Executa outras instruções interrupção Está na relação de velocidades CPU/periféricos! slide 22.17 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Processamento de uma Interrupção Um controlador de dispositivo ou outro hardware do sistema envia uma interrupção Processador termina a execução da instrução corrente O processador envia o reconhecimento da interrupção O processador armazena o conteúdo dos registradores PSW e PC na pilha de controle O processador carrega um novo valor no registrador PC, conforme a interrupção As demais informações do processo são armazenadas Processo da interrupção A informação de estado do processo é restaurada Os antigos valores dos registradores PSW e PC são restaurados HW SW slide 22.18 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Transferência por Interrupção E se houver mais de uma interrupção a ser atendida? • Usar interrupções com prioridades • E para interrupções de mesma prioridade? Fazer polling entre elas… OBS: nas transferências por polling e por interrupção • o processador controla totalmente a transferência • Os dados passam por dentro do processador (usando seus registradores!) slide 22.19 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Desvantagens das transferências por polling e por interrupção: 1. Taxa de transferência limitada pela velocidade que o processador pode testar e servir o dispositivo 2. O processador se ocupa de gerenciar a transferência de dados de E/S, tendo que executar várias instruções a cada transferência Acesso Direto à Memória (DMA) slide 22.20 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação 1. A técnica de DMA libera o processador de acompanhar todos os passos de uma transferência 2. Exige um recurso de hardware especial, o controlador de DMA (DMAC) Acesso Direto à Memória (DMA) slide 22.21 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação buffers bar. de dados RD RS WR BR DS BG Lógica de Controle Registrador de controle Contador de palavras Registrador de ends buffers bar. de ends b ar ra m en to in te rn o requisição de DMA confirmação de DMA p/ dispositivo de E/S interrupção seleção de DMA seleção de registrador leitura escrita requisição do barramento concessão do barramento barramento de ends barramento de dados Estrutura de um Controlador de DMA slide 22.22 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Um controlador de DMA pode ter mais de um canal: Neste caso, cada canal possui – um par de sinais de requisição e confirmação – Um conjunto de registradores em caso de conflitos, é seguida uma ordem de prioridades Acesso Direto à Memória (DMA) slide 22.23 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Passo 1:Passo 1: processador ativa o DMAC (controlador de DMA) • Informando a identidade do dispositivo • A operação a ser realizada pelo dispositivo • O endereço de memória que é a fonte ou o destino do dado e • O número de bytes a serem transferidos Acesso Direto à Memória (DMA) slide 22.24 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Passo 2:Passo 2: O DMAC inicia a operação sobre o dispositivo: • Arbitrando o barramento • Quando os dados estiverem disponíveis ele os transfere • Fornece os endereços de memória a serem lidos ou escritos • Gera o próximo endereço de memória e inicia a nova transferência… Acesso Direto à Memória (DMA) slide 22.25 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Passo 3:Passo 3: Uma vez completada a transferência sob o controle do DMAC: • O DMAC interrompe o processador, • O processador deve verificar se toda a operação de transferência foi realizada com sucesso. • O processador retoma o controle do barramento Acesso Direto à Memória (DMA) slide 22.26 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação O controlador de DMA no sistema CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura Acesso Direto à Memória (DMA) slide 22.27 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura O dispositivo envia uma requisição de DMA Transferência DMA slide 22.28 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura BR=1 Transferência DMA slide 22.29 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura A CPU inicializa o controlador por meio do bar. de dados Transferência DMA slide 22.30 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura BG=1 Transferência DMA slide 22.31 ComputaçãoUFPel Arquitetura e Organizaçãode Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura BG=1 R=1 ou W=1 O controlador coloca no bar. de ends. o valor do Registrador de ends e faz R=1 ou W=1 Transferência DMA slide 22.32 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação CPU Memória Controlador DMA Dispositivo de E/S DS RS BR BG interrupção RD WR end dado BR BG interrupção RD WR end dado RD WR end dado Decod. de endereços requisição DMA confirmação DMA barramento de ends barramento de dados controle de escrita controle de leitura BG=1 R=1 ou W=1 Quando o dispositivo de E/S recebe a confirmação, Inicia-se a transferência Transferência DMA slide 22.33 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Conclusões da Aula Necessita de HW extra melhorDMA Interm.Interrupção É necessárioMais baixopiorPolling OBScustodesempenho slide 22.34 ComputaçãoUFPel Arquitetura e Organização de Computadores II Prof. José Luís Güntzel 6. Métodos de Comunicação Para Ir Além • Ler a seção 8.5 do Patterson & Hennessy (HW/SW Interface) • Ler capítulo 6 de Stallings (Arq. E Org. de Computadores, 5a edição) • Ler a seção 11.6 do livro Computer Engineering: hardware design, de M. Morris Mano (há um exemplar na biblioteca setorial de C&T/UFPel)
Compartilhar