Comunicação entre a Interface de
Entrada
e Saída e a UCP
Existem três possíveis métodos de comunicação
entre a interface de Entrada e Saída ( E/S) de um computador com a Central de
processamento de dados (UCP) e a Memória
Principal (MP).
São
os seguintes:
a) Por Programa ( Polling);
b) Por
Interrupção;
c) Por
Acesso Direto a Memória.
Para Iniciar vamos descrever resumidamente cada uma das três:
a. Por Programa:
A UCP indica à
interface de entrada e saída que deseja realizar uma operação de transferência
de dados e fica interrogando a interface para saber se ela está pronta para
realizar a transferência de dados. Quando a UCP recebe uma resposta positiva da
interface, ela realiza a
transferência de
dados. Para ler dados da interface e colocar os dados na memória, ela realiza operações de leitura de dados da interface e
escrita na memória. Para escrever dados na interface, ela realiza operações de
leitura da memória e escrita na interface.
b. Por Interrupção:
A UCP indica à interface de entrada e
saída que deseja realizar uma operação de transferência de dados e realiza
outras instruções que não se referenciam a esta operação, ou seja, a UCP não
fica interrogando a interface para identificar quando ela está pronta. Quando a
interface está pronta para realizar a transferência, ela gera um sinal de
interrupção que é recebido pela UCP. A UCP ao receber este sinal, termina de
realizar a instrução que estava sendo realizada, salva o contexto onde esta
instrução estava sendo realizada, e executa as instruções para realizar a
transferência de dados com a interface.
Por Acesso Direto à Memória (DMA) :
Um controlador de DMA realiza diretamente a
transferência de dados entre a interface e a memória sem envolver a UCP nesta
transferência. A UCP necessita enviar alguns parâmetros para o controlador de
DMA: o endereço da interface, o tipo de transferência (escrita ou leitura de
dados), o endereço de memória para ler ou escrever os dados e o número de bytes
a serem transferidos. O controlador de DMA realiza toda a transferência de
dados entre a interface e a memória e a UCP não necessita executar nenhuma
instrução para realizar esta transferência. Quando a transferência acaba, o
controlador de DMA gera um sinal de interrupção para a UCP indicando que a transferência
foi realizada.