Figure 5.2:
Evolution of the I/O Function
| 
 | 
 
- Processor directly controls a peripheral device. Example: CPU controls a flip-flop to implement a serial line 
 
- Controller or I/O module is added
- Processor uses programmed I/O without interrupts
 
- Processor does not need to handle details of external devices
 
- Example: A Universal Asynchronous Receiver Transmitter
- CPU simply reads and writes bytes to I/O controller
 
- I/O controller responsible for managing the signalling
 
 
 
- Controller or I/O module with interrupts. Processor does not spend time waiting for an I/O operation to be performed
 
- Direct Memory Access
- Blocks of data are moved into memory without involving the processor
 
- Processor involved at beginning and end only
 
 
- I/O module has a separate processor. Example: SCSI controller,  controller CPU executes SCSI program code out of main memory
 
- I/O processor
- I/O module has its own local memory, internal bus, etc.
 
- It is a computer in its own right. 
 
- Example: Myrinet Multi-gigabit Network Controller
 
 
2004-05-25