All components of computer communicate with processor by the system bus. Which means I/O devices required to be attached to system bus. But I/O devices aren't connected directly to computer's system bus. In its place they are attached to an intermediate electronic device interface known as a device controller that in turn is attached to system bus. Therefore a device controller is an interface between a system bus and an I/O device. On one side it knows how to communicate with I/O device associated to it and on the other it knows how to communicate with computer's CPU or processor and memory via the system bus.