SEL-0415 Introdução à Organização de Computadores Dispositivos de Entrada e Saída Aula 9 Prof. Dr. Marcelo Andrade da Costa Vieira
ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Inserção dos dados (programa) n Apresentação dos resultados n Comunicação Homem/Máquina
ENTRADA e SAÍDA (E/S) (I/O - Input/Output)
ENTRADA e SAÍDA (E/S) (I/O - Input/Output) n Entrada Æ Dispositivos (geralmente baseados em chaves) por onde informações entram na memória n Ex.: Teclados, Portas n Saída Æ Dispositivos que mostram o resultado da operação executada n Ex: Ø Monitores Ø Impressoras Ø Armazenamento secundário
Dispositivos de Entrada Periféricos n Existem alguns que são especializados apenas em ENTRADA: Ø Teclado Æ Lê os caracteres digitados pelo usuário Ø MOUSE Æ Lê os movimentos e toque de botões Ø Drive de CD-ROM Æ Lê dados de discos CD-ROM Ø Microfone Æ Transmite sons para o computador Ø SCANNER Æ Usado para digitalizar" figuras ou fotos
Dispositivos de Saída Periféricos n Outros especializados apenas em SAÍDA: Ø Vídeo Æ Mostra ao usuário, na tela caracteres e gráficos Ø Impressora Æ Imprime caracteres e gráficos Ø Alto-falante Æ Realiza comunicação com o usuário através de som
Dispositivos de Entrada e Saída Periféricos n Outros em ENTRADA E SAÍDA Ø Disco rígido - Grava e lê dados Ø Drive de disquete - Grava e lê dados em disquetes Ø Unidade de fita magnética - Grava e lê dados em fitas magnéticas Ø MODEM - Transmite e recebe dados pela linha telefônica
Dispositivos de Entrada e Saída para Controle de Processos Periféricos n Menos Tradicionais (microcontroladores) Ø Sensores Ø Motores de Passo Ø Fotocélulas Ø Termostatos
Dispositivos de Entrada e Saída
Interfaces de Entrada e Saída Interfaces de (I/O) n Geralmente a CPU não pode comunicar-se diretamente com os periféricos [ a comunicação é feita com a ajuda de circuitos chamados de Interfaces ou Módulos de I/O n Funções: n Presentes entre o barramento e o periférico n Compatibilidade entre os dispositivos e o µp n n Controle da comunicação Ex.: controlador de vídeo, controlador de disco, etc...
Interfaces de Entrada e Saída
Interface de Entrada e Saída Buffers Interface
Operações de E/S
Operações de I/O Métodos para realização de operações de I/O u Três tipos principais: u Programada (Pooling) u Interrupção u Acesso Direto à Memória (DMA)
EXEMPLO FIGURATIVO A EMPREGADA ESTÁ LIMPANDO A CASA E TEM COMO FUNÇÃO RECEBER O RECADO DE QUEM LIGAR.
EXEMPLO FIGURATIVO PROGRAMADA (telefone SEM campainha): a empregada de tempos em tempos verifica se há alguém querendo lhe falar ao telefone INTERRUPÇÃO (telefone COM campainha): a empregada pára de fazer o serviço quando o telefone toca, pois há alguém querendo lhe falar ao telefone DMA - ACESSO DIRETO À MEMÓRIA (telefone COM campainha e COM secretária eletrônica): o telefone toca, a secretária eletrônica armazena o recado e a empregada pára de fazer o serviço quando lhe convier para ouvir o recado.
Varredura I/O por Programa (Varredura) u A CPU controla diretamente todas as etapas da comunicação u O programa deve verificar os dispositivos de entrada e saída e parar o processamento durante a transmissão u Subrotina de verificação dos dispositivos de entrada e saída u Tempo de transmissão dos dispositivos de I/O são muito altos comparados ao µp u Processo muito pouco eficiente
Interrupção I/O por Interrupção u A CPU aguarda a interface de I/O requisitar uma transmissão u Enquanto isso o µp pode realizar outras tarefas u Quando a interface está pronta para a transmissão ela avisa o µp u O µp interrompe a atividade corrente e inicia a comunicação com o dispositivo de I/O u Processo mais eficiente do que a operação por varredura, mas ainda sobrecarrega o µp durante a comunicação com o periférico
INTERRUPÇÃO 1. Atende à acontecimentos assíncronos (imprevisível); 2. Não precisa esperar para que ele ocorra o microprocessador não deixa de ser utilizado para outras funções; 3. Pode ser interna ou externa 4. Interna: divisão por zero, overflow, etc. 5. Externa: Interface de I/O
INTERRUPÇÃO 6. O evento envia um sinal de pedido de interrupção (INTERRUPT REQUEST IRQ) ao µp por meio de uma linha de controle do barramento externo do sistema 7. O µp pode aceitar ou rejeitar o pedido, gerando um sinal de reconhecimento de interrupção (INTERRUPT ACKNOWLEDGE IACK) numa linha de controle do barramento externo do sistema 8. O µp pára a execução do programa (via hardware), grava o endereço de retorno (PC+1) na pilha e atende à rotina de interrupção 9. Após a execução da rotina de interrupção, a microprocessador volta ao ponto onde parou no programa principal 10. Nem sempre é possível prever o local exato de retorno da interrupção 11. Uma subrotina é um evento síncrono (previsível) varredura, a interrupção não é.
INTERRUPÇÃO
Pilha (Stack) Memória Sequencial do tipo LIFO (Last in First Out) Acessada sequencialmente pela CPU Reservada geralmente para armazenamento de endereços de retorno de sub-rotina ou interrupção Grupo de Sistemas Digitais
Pilha (Stack) ü uso mais importante Æ chamada de sub-rotina: ü CALL Æ instrução que diz à CPU para ir ao endereço de início de uma sub-rotina e executála ü RETURN Æ última instrução Grupo de Sistemas Digitais Guarda automaticamente o endereço de retorno na pilha (PC+1) antes de ir para a sub-rotina Resgata da pilha o endereço de retorno e salva no registrador PC (program counter)
Pilha (Stack) Pode também ser usada para armazenar/ler dados temporários sequenciais se necessário (instruções Push e Pop) Cada posição da pilha possui m bits [ tamanho necessário para armazenar cada endereço de retorno (do registrador Program Counter PC). Grupo de Sistemas Digitais No microcontrolador PIC 16F877, por exemplo, a pilha é uma memória de 8 posições separada da RAM interna. No microcontrolador 8051, por exemplo, usa uma área da RAM que deve ser reservada para a pilha, que é indicada por um ponteiro (Stack Pointer - SP)
Ponteiro de Pilha Registrador Stack Pointer SP Æ Ponteiro de Pilha (Stack Pointer) Indica o último endereço da pilha (topo da pilha) e é incrementado cada vez que é usado O SP tem largura de n bits [ o qual define o tamanho máximo da pilha (número de endereços) Grupo de Sistemas Digitais cada posição da pilha possui m bits [ tamanho suficiente para armazenar cada endereço de retorno (do registrador Program Counter PC).
Ponteiro de Pilha Registrador Stack Pointer SP é incrementado antes dos dados serem armazenados como resultado de uma instrução PUSH ou CALL ou de um atendimento à interrupção SP é decrementado após os dados serem lidos como resultado de uma instrução POP ou RETURN Grupo de Sistemas Digitais A pilha pode ficar em qualquer posição na RAM interna, carregando-se o endereço adequado no SP
DMA I/0 por DMA (Direct Memory Access) u Permite a movimentação de dados entre os dispositivos de I/O e a memória do microcomputador sem envolver o processador nesta transferência u Processo mais eficiente do que todos os outros, pois não utiliza o µp e não sobrecarrega o barramento.
DMA - ACESSO DIRETO À MEMÓRIA u u Dispositivo de hardware dedicado à operação de transferência de dados entre um dispositivo de I/O e a memória; Coloca a saída do microprocessador em estado de alta impedância (desligado) para permitir a um dispositivo externo o Acesso Direto à Memória Bus Request u Acesso direto à memória (DMA) permite uma forma mais rápida de mover dados entre as portas de I/O e a memória.
DMA - ACESSO DIRETO À MEMÓRIA
FIM