Lecture 3

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

Computer Architecture

Lecture III
By
Dr. M. Moustafa Hassan
Elec. Power Engineering
Cairo University, Giza, Egypt
Instruction Cycle State Diagram

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 2


Interrupts

 No special code is needed in main code


 Interrupt Service Routines (ISR) handle
condition
 Interrupts may be disabled; pending
interrupts serviced as soon as interrupts are
enabled again
o Global enabling – affects all maskable
interrupts
o Local enabling – affects individual
interrupts
06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 3
Types of Interrupts
 Program – Something that occurs as a result of
program execution such as illegal instructions,
arithmetic overflow, divide by zero, or memory
handling error
 Timer – Generated by one of the processor's internal
timers so that the processor can perform some time-
scheduled task
 I/O – Generated by an I/O controller to request service
from the processor such as keyboard, mouse, NIC,
disk drive
 Hardware failure – signifies some error condition with
the hardware

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 4


Program Flow Control

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 5


Interrupt Cycle

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 6


Interrupt Cycle (continued)

 Added to instruction cycle


 Processor checks for interrupt
 If no interrupt, fetch next instruction
 If interrupt pending:
o Suspend execution of current program
o Save context on stack (typically registers, PC, flags,
etc.)
o Set PC to start address of interrupt handler routine
o Process interrupt
o Restore context and continue interrupted program
06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 7
Transfer of Control via Interrupts

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 8


Program Timing -- Short I/O Wait

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 9


Program Timing -- Long I/O Wait

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 10


Instruction Cycle (with Interrupts) -
State Diagram

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 11


Multiple Interrupts
 Disable interrupts
oProcessor can ignore further interrupts whilst
processing one interrupt or interrupts may be
nested
oIgnored interrupts remain pending and are
checked after first interrupt has been processed
 Define priorities
oLow priority interrupts can be interrupted by
higher priority interrupts
oWhen higher priority interrupt has been
processed, processor returns to previous
interrupt
06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 12
Multiple Interrupts -
Sequential

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 13


Multiple Interrupts – Nested

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 14


Time Sequence of Multiple
Interrupts

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 15


I/O Modules

 I/O modules occasionally require attention,


usually in the form of a data transfer
 Processor can simply transfer data back and
forth with the device as if it were memory
 Alternatively, processor can grant I/O module
permission to write directly to memory –
Direct Memory Access (DMA) – Interrupt
occurs when DMA is complete

06/26/24 20:38 Dr. M. A. Moustafa Hassan Cairo University 16

You might also like