O Papel do Módulo de E/S (I/O Module)

A CPU e a memória principal não se comunicam diretamente com os periféricos externos (teclados, placas de rede, monitores) devido a disparidades drásticas de velocidade de transferência, formatos de sinal elétrico e protocolos de comunicação. O Módulo de E/S atua como um controlador intermediário inteligente que expõe registradores internos de dados, controle e estado para a CPU.

Abordagens de Mapeamento de Dispositivos

Técnicas de Gerenciamento de Transferência de Dados

Existem três métodos fundamentais de controle e sincronização de dados entre a periferia e o núcleo de processamento:

1. E/S Programada (Polling ou Varredura)

A CPU emite um comando para o módulo de E/S e entra em um loop infinito monitorando continuamente o registrador de estado do dispositivo para verificar se a operação terminou.

Desvantagem: Desperdiça ciclos computacionais valiosos mantendo a CPU ocupada com esperas ociosas (busy-waiting).

2. E/S Controlada por Interrupções

Em vez de forçar a CPU a esperar, o módulo de E/S assume o trabalho. Quando o dispositivo externo está pronto (ex: uma tecla foi pressionada ou um pacote de rede chegou), ele envia um sinal elétrico para um pino físico da CPU chamado linha de Interrupção (IRQ).

O processador suspende temporariamente a execução do programa do usuário, salva o contexto atual de registradores na pilha de memória e salta para executar uma função específica de software do driver chamada Rotina de Tratamento de Interrupção (ISR - Interrupt Service Routine). Ao terminar, restaura o contexto e continua o processamento original.

3. DMA (Direct Memory Access - Acesso Direto à Memória)

Para transmissões de dados em massa (como leitura de arquivos em SSDs NVMe ou pacotes em redes Gigabit), o uso de interrupções bit a bit saturaria a CPU. O controlador de DMA assume o controle dos barramentos do sistema.

A CPU apenas configura o DMA informando o endereço de origem, o endereço de destino na memória RAM e o tamanho do bloco de dados. O DMA realiza toda a transferência de bytes de forma independente e paralela. Ao final da transferência do bloco inteiro, o DMA emite uma única interrupção para avisar a CPU que o bloco está pronto.

Voltar aos Tópicos