
1. I/O Module
1.1. Interface to CPU and Memory
1.2. Interfce to one or more peripherals
1.3. Functions :
1.3.1. Control and Timing
1.3.1.1. CPU asks module to check status of attached devices
1.3.1.2. Module tells the status
1.3.1.3. CPU request for data transfer to module if device is ready
1.3.1.4. Module gathers the data and transfer to CPU
1.3.2. CPU Communication
1.3.2.1. Command decoding (read/write)
1.3.2.2. Data (exchange between CPU and module)
1.3.2.3. Status reporting (to CPU since peripherals is slow)
1.3.2.4. Address recognition for the devices connected to it
1.3.3. Device Communication
1.3.3.1. Involves command,status information and data transfer
1.3.4. Data Buffering
1.3.4.1. Essential function to overcome speed mismatch
1.3.5. Error Detection
1.3.5.1. Paper jam or bad data
2. I/O Techniques
2.1. Programmed
2.1.1. CPU has direct control over I/O
2.1.2. CPU waits for I/O module to complete operation
2.1.3. Wastes CPU time
2.2. Interrupted Driven
2.2.1. Overcome CPU waiting
2.2.2. No repeated CPU checking of device
2.2.3. I/O module interrupts when ready