The I/O function includes a control and timing requirement to co-ordinate the flow of traffic between internal resources and external devices.
For example, the control of the transfer of data from an external device to the processor might involve the following sequence of steps –
- The processor interacts with the I/O module to check the status of the attached device.
- The I/O module returns the device status.
- If the device is operational and ready to transmit, the processor requests the transfer of data, by means of a command to the I/O module.
- The I/O module obtains a unit of data from external device.
- The data are transferred from the I/O module to the processor.
If the system employs a bus, then each of the interactions between the processor and the I/O module involves one or more bus arbitrations.