SE VOCÊ É PREGUIÇOSO, PROBLEMA SEU !! LEIA SE QUISER ;) >>>
São três as formas clássicas de comunicação de um dispositivo de E/S, a saber:
a) Polling > No polling, a CPU é responsável por todo o controle de transferências de dados de dispositivos. Isso significa que ela é
responsável não só pela transferência de informações em si, mas também pela verificação constante dos dispositivos, para saber se algum deles tem dados a serem transferidos.Em termos práticos, de tempos em tempos, a CPU 'pergunta', sequencialmente, a todos os dispositivos conectados: "Você tem dados para serem transferidos para a memória?". Quando algum dispositivo responder "sim", a CPU faz a transferência e continua perguntando aos outros dispositivos em seguida. Quando nenhum dispositivo necessitar de transferências, a CPU volta a fazer o que estava fazendo antes. Depois de algum tempo, ela volta a realizar a pergunta para todos os dispositivos novamente.
b) Interrupção> Na entrada e saída por interrupção, a CPU fica responsável apenas
pelas transferências em si. Isso significa que ela não tem que verificar os dispositivos, para saber se há dados a serem transferidos. Mas se a CPU não faz a verificação, como ela vai perceber quando uma transferência precisa ser feita? Simples: o dispositivo dispara um sinal do barramento de controle chamado "Interrupção" (chamado de IRQ - Interrupt ReQuest). Quando a CPU percebe este sinal, ela sabe que algo precisa ser feito com algum dispositivo; normalmente uma transferência de dados (seja de entrada ou saída).
c) DMA (Direct Memory Access – Acesso Direto à Memória) > No método chamado de entrada e saída por DMA (Acesso Direto à
Memória), a CPU fica responsável apenas por coordenar as transferências. Isso significa que ela não tem que verificar os dispositivos, para saber se há dados a serem transferidos e nem mesmo transferir estes dados. Mas cabe a mesma pergunta do método anterior: se a CPU não faz a verificação, como ela vai perceber quando uma transferência precisa ser feita? Também pela interrupção. Mas se a CPU não faz a transferência, como os dados vão parar na memória? Simples: a CPU comanda um dispositivo responsável pela transferência, normalmente chamado simplesmente de DMA. Quando a CPU perceber o sinal de IRQ, ela verifica qual a transferência a ser feita e comanda o DMA, indicando o dispositivo de origem, a posição origem dos dados, a posição destino dos dados e o número de bytes a transferir. O circuito do DMA fará o resto. Quando ele acabar, uma outra interrupção será disparada, informando que a cópia foi finalizada.