A way for peripheral devices to initiate communication with the CPU
Means for handling devices with different control requirements
Buses that connect high-speed I/O devices with the computer must support high data transfer rates
Why are I/O interfaces necessary?
Because...
Different formats required by the devices
Bursts of data v.s streaming data
Device control requirements that would tie up too much CPU time
Incompatibilities in speed between the devices and the CPU make synchronization difficult
Interrupts
Signals that cause the CPU to alter its normal flow of instruction execution. (Frees CPU from waiting for events, provides control for external I/O initiation)
Examples:
Unexpected input
Abnormal situations
Illegal instructions
Multitasking/processing
Use of interrupts
...
Notify that an external event has occurred
Signal completion
Allocate CPUtime
Indicate abnormalevent
Software interrupts
What is direct memory access (DMA)?
A computer feature that allows hardware devices to transfer data to and from the main memory without involving the CPU
Required conditions for DMA:
I/O interface and memory must be connected
I/O module must be capable of reading and writing to memory
Conflicts between the CPU and I/O module must be avoided
Interrupt required for completion
I/O module functions
...
Recognizes messages from devices addressed to it and accepts commands from the CPU
CommunicateswithCPU
Copies data from its buffer to the device/from the CPU to its buffer
Physically controls the device
Provides the necessary registers and controls to perform a direct memory transfer