tailieunhanh - Exceptions and Interrupts

Exceptions and Interrupts includes Rationale, Simplified Block Diagram, The ‘fetch-execute’ cycle, But ‘departures’ may occur, Fault-Handling, Faults versus Traps, Interrupt Handling, The ‘Interrupt Controller’. | Exceptions and Interrupts How does Linux handle servicerequests from the cpu and from the peripheral devices? Rationale • Usefulness of a general-purpose computer is dependent on its ability to interact with various peripheral devices attached to it (., keyboard, display, disk-drives, etc.) • Devices require a prompt response from the cpu when various events occur, even when the cpu is busy running a program • The x86 interrupt-mechanism provides this Simplified Block Diagram Central Processing Unit Main Memory system bus I/O device I/O device I/O device I/O device The ‘fetch-execute’ cycle Normal programming assumes this ‘cycle’: • 1) Fetch the next instruction from ram • 2) Interpret the instruction just fetched • 3) Execute this instruction as decoded • 4) Advance the cpu instruction-pointer • 5) Go back to step 1 But ‘departures’ may occur • Circumstances may arise under which it would not be appropriate for the CPU to just proceed with this fetch-execute cycle • Examples: – An ‘external device’ might ask for service – An interpreted instruction could be ‘illegal’ – An instruction ‘trap’ may have been .