Interrupt-Driven I/OResponding to InterruptsHardware Interrupt PinsInterrupt-Driven I/O•There are different types of interrupts–Hardware•Generated by the 8259 PIC – signals the CPU to suspend execution of the current program and process the interrupt (keyboard, serial port)•Occasionally, programs must disable hardware interrupts when performing sensitive operations on segment registers and the stack. Use CLI (Clear Interrupt flag) to disable interrupts and STI (Set interrupt flag) to enable interrupts.–Software •Not really an interrupt (INT)–Internal Interrupts•Divide by zero•TrapsResponding to Interrupts Normal ProcessingInterrupt OccursFinish Current InstructionNormal Processing ResumesPush flags, CS, and IP (EIP) onto stackPop flags, CS, and IP(EIP) from stackBranch to ISRExecute ISRHardware Interrupt Pins•NMI – non-maskable interrupt – it cannot be blocked (the CPU must respond) – reserved for critical system functions.•INTR – maskable via the IF
View Full Document