I/O devices such as displays and keyboards establish communication of computer with outside world. Devices may be interfaced in 2 ways Memory mapped I/O and I/O MAPPED I/O. In I/O mapped I/O, device is recognized with a unique device number and data are transferred thru IN/OUT instruction. Memory mapped I/O each device is recognize with 16 bit address. I/O devices are considered as a part of memory related instruction and memory is used for data transfer.
An I/O interface might be able to
o To Determine whether or not it is being interfaced
o To Determine whether it has to send data to CPU or receive data from CPU
o For Send ready signal informing CPU that transfer is over
o For Send interrupt Requests to CPU and receive interrupt acknowledgement and send an interrupt type.
An Interface may be divided into 2 parts and a. A part that interfaces to the system bus and a part that interfaces to the I/O device. There might be receivers and drivers to maintain signal quality, logic for translating the interface control signals to proper handshaking signals, logic for decoding address that seem on the bus.
Handshaking signals are utilized to determine in which direction transfer has to take place whether to CPU or from CPU. It should determine whether it is a WRITE or READ operation. Interrupt signals also might be handled here.
Address decoder determine whether it is Memory mapped I/O and I/O mapped I/O from one of the bits. If the decoder find that an interface is referenced it sends signal to the suitable device.
Interfaces may be categorized according to the way I/O devices transfer data either in parallel or serial form.