Input Output Techniques:
o Interrupt driven
o Direct Memory Access (DMA)
o Programmed
Programmed I/O
- CPU has control over I/O directly
- Read/write commands
- Sensing status
- Transferring data
- Wastes CPU time
- CPU waits for I/O module to finish operation
- I/O module performs operation
- I/O module sets status bits
- CPU requests I/O operation
- CPU checks status bits periodically
- I/O module doesn't inform CPU directly
- I/O module does not interrupt CPU
- Under programmed I/O data transfer is similar memory access (CPU viewpoint)
- Each device given unique identifier
- CPU may wait or come back later
- CPU commands have identifier (address)
I/O Mapping
- Large selection of the memory access commands available
- Memory mapped I/O
o memory and Devices share an address space
o I/O looks like memory read/write
o No special commands for I/O
- Restricted set
- Isolated I/O
o Separate address spaces
o Need I/O or memory select lines
o Special commands for I/O