Interrupções
Interrupção de Hardware
É um mecanismo usado para sinalizar à CPU a ocorrência de eventos importantes relacionados aos dispositivos periféricos e outros elementos do sistema. Na ocorrência da interrupção é requerido que a CPU pare momentaneamente o que está fazendo para atendê-la. Ex: término de operação de E/S, chegada de um dado em uma interface de rede, tecla pressionada, click no mouse, etc. Interrupções de hardware foram introduzidas como forma de evitar o desperdício de tempo valioso do processador em polling loops, a espera de eventos externos. Eles podem ser implementados no hardware como um sistema distinto, com linhas de controle, ou podem ser integrados no subsistema da memória. A interrupção permite aos dispositivos periféricos sincronizarem a sua operação com a CPU. Caso não existisse, a CPU teria que ficar verificando se algum periférico pretende reportar algum evento (“polling”). Desperdício de tempo de CPU, Eventos com diferentes taxas de sinalização (teclado x disco). A ocorrência de uma interrupção força uma mudança no fluxo de controle, que é transferido para uma rotina de tratamento da interrupção correspondente (InterruptHandler ou Interrupt Service Routine). Handler ou Interrupt Service Routine).Esta rotina possui um conjunto de instruções pré-definidas, adequadas a cada tipo de interrupção. Observar que as interrupções são eventos gerados assincronamente à atividade regular do sistema. O sistema não sabe em que ponto no fluxo de instruções a interrupção ocorrerá. O tempo de servir a interrupção é descontado do quantum do processo em execução (time-slice).
Se implementado em hardware, um circuito controlador de interrupção, como o IBM PC’s Controlador Programável de Interrupção (PIC), pode ser conectado entre o dispositivo de interrupção e o pino de interrupção do processador para várias fontes multiplexadoras de interrupção em uma ou duas linhas disponíveis da