An I/O interface must be able to:
- Interpret the address and memory-I/O select signals to determinate
whether or not it is being referenced and, if so, determine which of its
registers is being accessed.
- Determine whether an input or output is being conducted and accept
output data or control information from the bus or place input data
or status information on the bus.
- Input data from or output data to the associated I/O device and
convert the data from parallel to the format acceptable to the I/O
device, or vice versa.
- Send a ready signal when data have been accepted from or placed
on the data bus, thus informing the processor that a transfer has been
completed.
- Send interrupt requests and, if there is no interrupt priority
management in the bus control logic, receive interrupt acknowledgments
and send an interrupt type.
- Receive a reset signal and reinitialize itself and perhaps, its
associated device.